Difference between revisions of "Unit ConsoleShell"

From Ultibo.org
Jump to: navigation, search
Line 60: Line 60:
 
----
 
----
  
''To be documented''
+
 
 +
'''Console shell'''
 +
 
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;">
 +
 
 +
<code>TConsoleShell = class(TShell)</code>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
|colspan="2"|<div style="font-family: monospace,courier;">'''public'''</div>
 +
|-
 +
| <code>constructor Create(AConsole:PConsoleDevice);</code>
 +
| style="width: 50%;"|&nbsp;
 +
|-
 +
| <code>destructor Destroy; override;</code>
 +
| &nbsp;
 +
|-
 +
|colspan="2"|<div style="font-family: monospace,courier;">'''private'''</div>
 +
|-
 +
| <code>FConsole:PConsoleDevice;</code>
 +
| &nbsp;
 +
|-
 +
| <code>FThread:TConsoleShellThread;</code>
 +
| &nbsp;
 +
|-
 +
| <code>FDefaultSession:TShellSession;</code>
 +
| &nbsp;
 +
|-
 +
|colspan="2"|&nbsp;
 +
|-
 +
|colspan="2"|<div style="font-family: monospace,courier;">'''protected'''</div>
 +
|-
 +
| <code>function CreateWindow:TShellSession;</code>
 +
| &nbsp;
 +
|-
 +
| <code>function DestroyWindow(ASession:TShellSession):Boolean;</code>
 +
| &nbsp;
 +
|-
 +
|colspan="2"|<div style="font-family: monospace,courier;">'''public'''</div>
 +
|-
 +
| <code>property Console:PConsoleDevice read FConsole;</code>
 +
| &nbsp;
 +
|-
 +
| <code>property DefaultSession:TShellSession read FDefaultSession;</code>
 +
| &nbsp;
 +
|-
 +
|colspan="2"|&nbsp;
 +
|-
 +
| <code>function DoClear(ASession:TShellSession):Boolean; override;</code>
 +
| &nbsp;
 +
|-
 +
|colspan="2"|&nbsp;
 +
|-
 +
| <code>function DoInput(ASession:TShellSession; var AInput:String):Boolean; override;</code>
 +
| &nbsp;
 +
|-
 +
|colspan="2"|&nbsp;
 +
|-
 +
| <code>function DoOutputEx(ASession:TShellSession; const AOutput:String; AReturn:Boolean):Boolean; override;</code>
 +
| &nbsp;
 +
|-
 +
|colspan="2"|&nbsp;
 +
|-
 +
| <code>function DoGetSize(ASession:TShellSession; var ARows,ACols:LongWord):Boolean; override;</code>
 +
| &nbsp;
 +
|-
 +
| <code>function DoSetSize(ASession:TShellSession; ARows,ACols:LongWord):Boolean; override;</code>
 +
| &nbsp;
 +
|-
 +
|colspan="2"|&nbsp;
 +
|-
 +
| <code>function DoGetCursor(ASession:TShellSession; var ARow,ACol:LongWord):Boolean; override;</code>
 +
| &nbsp;
 +
|-
 +
| <code>function DoSetCursor(ASession:TShellSession; ARow,ACol:LongWord):Boolean; override;</code>
 +
| &nbsp;
 +
|-
 +
|colspan="2"|&nbsp;
 +
|-
 +
| <code>function DoGetColors(ASession:TShellSession; var AForecolor,ABackcolor:LongWord):Boolean; override;</code>
 +
| &nbsp;
 +
|-
 +
| <code>function DoSetColors(ASession:TShellSession; AForecolor,ABackcolor:LongWord):Boolean; override;</code>
 +
| &nbsp;
 +
|-
 +
|colspan="2"|&nbsp;
 +
|-
 +
| <code>function DoGetCoordinates(ASession:TShellSession; var ARow,ACol:LongWord):Boolean; override;</code>
 +
| &nbsp;
 +
|-
 +
| <code>function DoSetCoordinates(ASession:TShellSession; ARow,ACol:LongWord):Boolean; override;</code>
 +
| &nbsp;
 +
|-
 +
|colspan="2"|&nbsp;
 +
|-
 +
| <code>function ConsoleChar(ASession:TShellSession; AChar:Char):Boolean;</code>
 +
| &nbsp;
 +
|-
 +
|}
 +
</div></div>
 +
 
 +
'''Console session'''
 +
 
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;">
 +
 
 +
<code>TConsoleSession = class(TShellSession)</code>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
|colspan="2"|<div style="font-family: monospace,courier;">'''public'''</div>
 +
|-
 +
| <code>constructor Create(AShell:TShell; AIdentifier:LongWord);</code>
 +
| style="width: 50%;"|&nbsp;
 +
|-
 +
|colspan="2"|<div style="font-family: monospace,courier;">'''public'''</div>
 +
|-
 +
| <code>Command:String;</code>
 +
| &nbsp;
 +
|-
 +
| <code>Position:LongWord;</code>
 +
| &nbsp;
 +
|-
 +
| <code>Window:TWindowHandle;</code>
 +
| &nbsp;
 +
|-
 +
|}
 +
</div></div>
 +
 
 +
'''Console shell thread'''
 +
 
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;">
 +
 
 +
<code>TConsoleShellThread = class(TThread)</code>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
|colspan="2"|<div style="font-family: monospace,courier;">'''public'''</div>
 +
|-
 +
| <code>constructor Create(AShell:TConsoleShell);</code>
 +
| style="width: 50%;"|&nbsp;
 +
|-
 +
|colspan="2"|<div style="font-family: monospace,courier;">'''protected'''</div>
 +
|-
 +
| <code>FShell:TConsoleShell;</code>
 +
| &nbsp;
 +
|-
 +
|colspan="2"|&nbsp;
 +
|-
 +
| <code>procedure Execute; override;</code>
 +
| &nbsp;
 +
|-
 +
|}
 +
</div></div>
 +
 
 +
'''Console shell exit'''
 +
 
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;">
 +
 
 +
<code>TConsoleShellExit = class(TShellCommand)</code>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
|colspan="2"|<div style="font-family: monospace,courier;">'''public'''</div>
 +
|-
 +
| <code>constructor Create;</code>
 +
| style="width: 50%;"|&nbsp;
 +
|-
 +
|colspan="2"|<div style="font-family: monospace,courier;">'''public'''</div>
 +
|-
 +
| <code>function DoHelp(AShell:TShell; ASession:TShellSession):Boolean; override;</code>
 +
| &nbsp;
 +
|-
 +
| <code>function DoInfo(AShell:TShell; ASession:TShellSession):Boolean; override;</code>
 +
| &nbsp;
 +
|-
 +
| <code>function DoCommand(AShell:TShell; ASession:TShellSession; AParameters:TStrings):Boolean; override;</code>
 +
| &nbsp;
 +
|-
 +
|}
 +
</div></div>
 +
<br />
  
 
=== Public variables ===
 
=== Public variables ===

Revision as of 04:24, 9 March 2017

Return to Unit Reference


Description


Ultibo Console Shell unit

To be documented

Constants



Console shell specific constants CONSOLE_SHELL_*
CONSOLE_SHELL_DEFAULT_WELCOME = ' (Type HELP for a list of available commands)';  
 
CONSOLE_SHELL_THREAD_NAME = 'Console Shell Keyboard'; Thread name for Console shell keyboard threads


Console shell constants CONSOLE_SHELL_NAME*
CONSOLE_SHELL_NAME = 'Console Shell';  


Console shell command constants CONSOLE_SHELL_COMMAND_*
CONSOLE_SHELL_COMMAND_EXIT = 'EXIT';  


Type definitions


None defined

Class definitions



Console shell

TConsoleShell = class(TShell)

public
constructor Create(AConsole:PConsoleDevice);  
destructor Destroy; override;  
private
FConsole:PConsoleDevice;  
FThread:TConsoleShellThread;  
FDefaultSession:TShellSession;  
 
protected
function CreateWindow:TShellSession;  
function DestroyWindow(ASession:TShellSession):Boolean;  
public
property Console:PConsoleDevice read FConsole;  
property DefaultSession:TShellSession read FDefaultSession;  
 
function DoClear(ASession:TShellSession):Boolean; override;  
 
function DoInput(ASession:TShellSession; var AInput:String):Boolean; override;  
 
function DoOutputEx(ASession:TShellSession; const AOutput:String; AReturn:Boolean):Boolean; override;  
 
function DoGetSize(ASession:TShellSession; var ARows,ACols:LongWord):Boolean; override;  
function DoSetSize(ASession:TShellSession; ARows,ACols:LongWord):Boolean; override;  
 
function DoGetCursor(ASession:TShellSession; var ARow,ACol:LongWord):Boolean; override;  
function DoSetCursor(ASession:TShellSession; ARow,ACol:LongWord):Boolean; override;  
 
function DoGetColors(ASession:TShellSession; var AForecolor,ABackcolor:LongWord):Boolean; override;  
function DoSetColors(ASession:TShellSession; AForecolor,ABackcolor:LongWord):Boolean; override;  
 
function DoGetCoordinates(ASession:TShellSession; var ARow,ACol:LongWord):Boolean; override;  
function DoSetCoordinates(ASession:TShellSession; ARow,ACol:LongWord):Boolean; override;  
 
function ConsoleChar(ASession:TShellSession; AChar:Char):Boolean;  

Console session

TConsoleSession = class(TShellSession)

public
constructor Create(AShell:TShell; AIdentifier:LongWord);  
public
Command:String;  
Position:LongWord;  
Window:TWindowHandle;  

Console shell thread

TConsoleShellThread = class(TThread)

public
constructor Create(AShell:TConsoleShell);  
protected
FShell:TConsoleShell;  
 
procedure Execute; override;  

Console shell exit

TConsoleShellExit = class(TShellCommand)

public
constructor Create;  
public
function DoHelp(AShell:TShell; ASession:TShellSession):Boolean; override;  
function DoInfo(AShell:TShell; ASession:TShellSession):Boolean; override;  
function DoCommand(AShell:TShell; ASession:TShellSession; AParameters:TStrings):Boolean; override;  


Public variables


None defined

Function declarations



Initialization functions

procedure ConsoleShellInit;
Description: To be documented
Note None documented


Console shell functions

function ConsoleShellFindByDevice(Console:PConsoleDevice):TConsoleShell;
Description: To be documented
Note None documented


Console shell helper functions

function ConsoleShellDeviceAdd(Console:PConsoleDevice; Force:Boolean):LongWord;
Description: To be documented
Note None documented


function ConsoleShellDeviceRemove(Console:PConsoleDevice):LongWord;
Description: To be documented
Note None documented


function ConsoleShellDeviceEnum(Console:PConsoleDevice; Data:Pointer):LongWord;
Description: To be documented
Note None documented


function ConsoleShellDeviceNotify(Device:PDevice; Data:Pointer; Notification:LongWord):LongWord;
Description: To be documented
Note None documented


Return to Unit Reference