📄 adtrmemu.pas
字号:
TAdEmuCommandList = class; {!!.04}
TAdOnProcessChar = procedure ( Sender : TObject; {!!.04}
Character : Char; {!!.04}
var ReplaceWith : string; {!!.04}
Commands : TAdEmuCommandList; {!!.04}
CharSource : TAdCharSource) of object; {!!.04}
TAdEmuCommandParams = class; {!!.04}
TAdEmuCommandParamsItem = class (TCollectionItem) {!!.04}
private {!!.04}
FCollection : TAdEmuCommandParams; {!!.04}
FName : string; {!!.04}
FValue : string; {!!.04}
protected {!!.04}
public {!!.04}
constructor Create (Collection : TCollection); override; {!!.04}
destructor Destroy; override; {!!.04}
published {!!.04}
property Collection : TAdEmuCommandParams {!!.04}
read FCollection write FCollection; {!!.04}
property Name : string read FName write FName; {!!.04}
property Value : string read FValue write FValue; {!!.04}
end; {!!.04}
TAdEmuCommandParams = class (TCollection) {!!.04}
private {!!.04}
FOwner : TPersistent; {!!.04}
protected {!!.04}
function GetItem (Index : Integer) : TAdEmuCommandParamsItem; {!!.04}
function GetOwner : TPersistent; override; {!!.04}
procedure SetItem (Index : Integer; Value : TAdEmuCommandParamsItem); {!!.04}
public {!!.04}
constructor Create (AOwner : TPersistent); {!!.04}
{$IFNDEF VERSION5} {!!.04}
procedure Delete (Item : integer); {!!.04}
{$ENDIF} {!!.04}
function FindName (AName : string) : Integer; {!!.04}
function GetBooleanValue (AName : string; APosition : Integer; {!!.04}
ADefault : Boolean) : Boolean; {!!.04}
function GetIntegerValue (AName : string; APosition : Integer; {!!.04}
ADefault : Integer) : Integer; {!!.04}
function GetStringValue (AName : string; APosition : Integer; {!!.04}
ADefault : string) : string; {!!.04}
function GetTColorValue (AName : string; APosition : Integer; {!!.04}
ADefault : TColor) : TColor; {!!.04}
property Items[Index : Integer] : TAdEmuCommandParamsItem {!!.04}
read GetItem write SetItem; {!!.04}
end; {!!.04}
TAdEmuCommandListItem = class (TCollectionItem) {!!.04}
private {!!.04}
FCollection : TAdEmuCommandList; {!!.04}
FCommand : TAdEmuCommand; {!!.04}
FParams : TAdEmuCommandParams; {!!.04}
protected {!!.04}
public {!!.04}
constructor Create (Collection : TCollection); override; {!!.04}
destructor Destroy; override; {!!.04}
procedure AddBooleanArg (v : Boolean); {!!.04}
procedure AddIntegerArg (v : Integer); {!!.04}
procedure AddNamedBooleanArg (AName : string; v : Boolean); {!!.04}
procedure AddNamedIntegerArg (AName : string; v : Integer); {!!.04}
procedure AddNamedStringArg (AName : string; v : string); {!!.04}
procedure AddNamedTColorArg (AName : string; v : TColor); {!!.04}
procedure AddStringArg (v : string); {!!.04}
procedure AddTColorArg (v : TColor); {!!.04}
published {!!.04}
property Collection : TAdEmuCommandList {!!.04}
read FCollection write FCollection; {!!.04}
property Command : TAdEmuCommand read FCommand write FCommand; {!!.04}
property Params : TAdEmuCommandParams read FParams write FParams;{!!.04}
end; {!!.04}
TAdEmuCommandList = class (TCollection) {!!.04}
private {!!.04}
FOwner : TPersistent; {!!.04}
protected {!!.04}
function GetItem (Index : Integer) : TAdEmuCommandListItem; {!!.04}
function GetOwner : TPersistent; override; {!!.04}
procedure SetItem (Index : Integer; Value : TAdEmuCommandListItem); {!!.04}
public {!!.04}
constructor Create (AOwner : TPersistent); {!!.04}
{$IFNDEF VERSION5} {!!.04}
procedure Delete (Item : integer); {!!.04}
{$ENDIF} {!!.04}
function AddCommand (ACommand : TAdEmuCommand) : TAdEmuCommandListItem; {!!.04}
property Items[Index : Integer] : TAdEmuCommandListItem {!!.04}
read GetItem write SetItem; {!!.04}
end; {!!.04}
TAdTerminalEmulator = class;
TAdCustomTerminal = class(TApdBaseWinControl)
private
FActive : boolean;
FBlinkTime : integer;
FBlinkTimeCount : integer;
FBlinkTextVisible : boolean;
FBorderStyle : TBorderStyle;
FByteQueue : pointer;
FCapture : TAdCaptureMode;
FCaptureFile : string;
FCaptureStream : TFileStream;
FCanvas : TCanvas;
FCharHeight : integer; {height of char cell in pixels}
FCharWidth : integer; {width of char cell in pixels}
FClientCols : integer; {client width in columns, incl part}
FClientFullCols : integer; {client width in *full* columns}
FClientRows : integer; {client height in rows, incl part}
FClientFullRows : integer; {client height in *full* rows}
FComPort : TapdCustomComPort;
FCreatedCaret : boolean;
FCursorType : TAdCursorType;
FDefEmulator : TAdTerminalEmulator; {default = tty}
FEmulator : TAdTerminalEmulator;
FHalfDuplex : boolean;
FHaveSelection : boolean;
FHeartbeat : TTimer;
FLazyByteCount : integer;
FLazyTimeCount : integer;
FLazyByteDelay : integer;
FLazyTimeDelay : integer;
FLButtonAnchor : TPoint;
FLButtonDown : boolean;
FLButtonRect : TRect;
FOnCursorMoved : TAdTerminalCursorMovedEvent;
FOriginCol : integer;
FOriginRow : integer;
FScrollback : boolean;
FFreezeScrollBack : boolean;
{$IFDEF Win32}
FScrollHorzInfo : TScrollInfo;
FScrollVertInfo : TScrollInfo;
{$ENDIF}
FShowingCaret : boolean;
FTriggerHandlerOn : boolean;
FUsedRect : TRect;
FUseLazyDisplay : boolean;
FUnusedRightRect : TRect;
FUnusedBottomRect : TRect;
FUseHScrollBar : boolean;
FUseVScrollBar : boolean;
FWantAllKeys : boolean;
FWaitingForComPortOpen : boolean;
FWaitingForPort : Boolean; {!!.03}
FMouseSelect : Boolean; {!!.03}
FAutoCopy : Boolean; {!!.03}
FAutoScrollback : Boolean; {!!.03}
FHideScrollbars : Boolean; {!!.03}
FHideScrollbarHActive : Boolean; {!!.03}
FHideScrollBarVActive : Boolean; {!!.03}
FFollowCursor : Boolean; {!!.03}
FPasteToPort : Boolean; {!!.04}
FPasteToScreen : Boolean; {!!.04}
FCharHPadding : Integer; {!!.06}
FCharVPadding : Integer; {!!.06}
protected
procedure Loaded; override; {!!.03}
procedure tmFollowCursor; {!!.03}
{get and set methods for properties}
function tmGetAttributes(aRow, aCol : integer) : TAdTerminalCharAttrs;
function tmGetBackColor(aRow, aCol : integer) : TColor;
function tmGetCharSet(aRow, aCol : integer) : byte;
function tmGetColumns : integer;
function tmGetEmulator : TAdTerminalEmulator;
function tmGetForeColor(aRow, aCol : integer) : TColor;
function tmGetLine(aRow : integer) : string;
function tmGetRows : integer;
function tmGetScrollbackRows : integer;
procedure tmSetActive(aValue : boolean);
procedure tmSetAttributes(aRow, aCol : integer;
const aAttr : TAdTerminalCharAttrs);
procedure tmSetAutoCopy (const v : Boolean); {!!.03}
procedure tmSetAutoScrollback (const v : Boolean); {!!.03}
procedure tmSetBackColor(aRow, aCol : integer; aValue : TColor);
procedure tmSetBlinkTime(aValue : integer);
procedure tmSetBorderStyle(aBS : TBorderStyle);
procedure tmSetCapture(aValue : TAdCaptureMode);
procedure tmSetCaptureFile(const aValue : string);
procedure tmSetCharHPadding (const v : Integer); {!!.06}
procedure tmSetCharSet(aRow, aCol : integer; aValue : byte);
procedure tmSetCharVPadding (const v : Integer); {!!.06}
procedure tmSetComPort(aValue : TapdCustomComPort);
procedure tmSetColumns(aValue : integer);
procedure tmSetCursorType(aValue : TAdCursorType);
procedure tmSetFollowCursor (const v : Boolean); {!!.03}
procedure tmSetForeColor(aRow, aCol : integer; aValue : TColor);
procedure tmSetEmulator(aValue : TAdTerminalEmulator);
procedure tmSetHideScrollbars (const v : Boolean); {!!.03}
procedure tmSetLazyByteDelay(aValue : integer);
procedure tmSetLazyTimeDelay(aValue : integer);
procedure tmSetLine(aRow : integer; const aValue : string);
procedure tmSetMouseSelect (const v : Boolean); {!!.03}
procedure tmSetOriginCol(aValue : integer);
procedure tmSetOriginRow(aValue : integer);
procedure tmSetPasteToPort (const v : Boolean); {!!.04}
procedure tmSetPasteToScreen (const v : Boolean); {!!.04}
procedure tmSetRows(aValue : integer);
procedure tmSetScrollback(aValue : boolean);
procedure tmSetScrollbackRows(aValue : integer);
procedure tmSetUseLazyDisplay(aValue : boolean);
procedure tmSetWantAllKeys(aValue : boolean);
procedure tmSetFreezeScrollBack (v : boolean);
{various miscellaneous methods}
procedure tmDrawDefaultText;
procedure tmAttachToComPort;
procedure tmCalcExtent;
procedure tmDetachFromComPort;
procedure tmGetFontInfo;
procedure tmInvalidateRow(aRow : integer);
{caret methods}
procedure tmFreeCaret;
procedure tmHideCaret;
procedure tmMakeCaret;
procedure tmPositionCaret;
procedure tmShowCaret;
{scrollbar stuff}
procedure tmInitHScrollBar;
procedure tmInitVScrollBar;
function tmNeedHScrollbar : Boolean; {!!.03}
function tmNeedVScrollbar : Boolean; {!!.03}
procedure tmRemoveHScrollBar; {!!.03}
procedure tmRemoveVScrollBar; {!!.03}
procedure tmScrollHorz(aDist : integer);
procedure tmScrollVert(aDist : integer);
{selection stuff}
procedure tmGrowSelect(X, Y : integer);
procedure tmMarkDeselected(aRow : integer;
aFromCol, aToCol : integer);
procedure tmMarkSelected(aRow : integer;
aFromCol, aToCol : integer);
function tmProcessClipboardCopy(var Msg : TWMKeyDown) : boolean;
procedure tmStartSelect(X, Y : integer);
{overridden ancestor methods}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -