⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 adtrmemu.pas

📁 测试用例
💻 PAS
📖 第 1 页 / 共 5 页
字号:

  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 + -