TPCrt
procedure FrameWindow(LeftCol, TopRow, RightCol, BotRow, FAttr, HAttr : Byte;
Header : shortstring); {-Draws a frame around a window}
function WhereXAbs: Byte;
{-Return absolute column coordinate of cursor}
function WhereYAbs: Byte;
{-Return absolute row coordinate of cursor}
function WhereXY: Word;
{-Return absolute coordinates of cursor}
function ScreenX: Byte;
{-Return absolute column coordinate of cursor}
function ScreenY: Byte;
{-Return absolute row coordinate of cursor}
procedure FastWrite(St : string; Row, Col, Attr : Byte);
{-Write St at Row,Col in Attr (video attribute) without snow}
procedure SetFrameChars(Vertical, Horizontal, LowerRight, UpperRight,
LowerLeft, UpperLeft : Char); {-Sets the frame characters to be used on subsequent FrameWindow calls.}
procedure WhereXYdirect(var X, Y : Byte);
{-Read the current position of the cursor directly from the CRT controller}
function GetCrtMode : Byte; {-Get the current video mode. Also reinitializes internal variables. May
reset: CurrentMode, ScreenWidth, ScreenHeight, CurrentPage, and VideoSegment.}
procedure GotoXYAbs(X, Y : Byte);
{-Move cursor to column X, row Y. No error checking done.}
procedure SetVisiblePage(PageNum : Byte);
{-Set current video page}
procedure ScrollWindowUp(XLo, YLo, XHi, YHi, Lines : Byte);
{-Scrolls the designated window up the specified number of lines.}
procedure ScrollWindowDown(XLo, YLo, XHi, YHi, Lines : Byte);
{-Scrolls the designated window down the specified number of lines.}
function CursorTypeSL : Word;
{-Returns a word. High byte has starting scan line, low byte has ending.}
function CursorStartLine : Byte;
{-Returns the starting scan line of the cursor}
function CursorEndLine : Byte;
{-Returns the ending scan line of the cursor.}
procedure SetCursorSize(Startline, EndLine : Byte);
{-Sets the cursor's starting and ending scan lines.}
procedure NormalCursor;
{-Set normal scan lines for cursor based on current video mode}
procedure FatCursor;
{-Set larger scan lines for cursor based on current video mode}
procedure BlockCursor;
{-Set scan lines for a block cursor}
procedure HiddenCursor;
{-Hide the cursor}
function ReadCharAtCursor : Char;
{-Returns character at the current cursor location on the selected page.}
function ReadAttrAtCursor : Byte;
{-Returns attribute at the current cursor location on the selected page.}
procedure GetCursorState(var XY, ScanLines : Word);
{-Return the current position and size of the cursor}
procedure RestoreCursorState(XY, ScanLines : Word);
{-Reset the cursor to a position and size saved with GetCursorState}
procedure FastWriteWindow(St : string; Row, Col, Attr : Byte);
{-Write a string using window-relative coordinates}
procedure FastText(St : string; Row, Col : Byte);
{-Write St at Row,Col without changing the underlying video attribute.}
procedure FastTextWindow(St : string; Row, Col : Byte);
{-Write St at window Row,Col without changing the underlying video attribute.}
procedure FastVert(St : string; Row, Col, Attr : Byte);
{-Write St vertically at Row,Col in Attr (video attribute)}
procedure FastVertWindow(St : string; Row, Col, Attr : Byte);
{-Write a string vertically using window-relative coordinates}
procedure FastFill(Number : Word; Ch : Char; Row, Col, Attr : Byte);
{-Fill Number chs at Row,Col in Attr (video attribute) without snow}
procedure FastFillWindow(Number : Word; Ch : Char; Row, Col, Attr : Byte);
{-Fill Number chs at window Row,Col in Attr (video attribute) without snow}
procedure FastCenter(St : string; Row, Attr : Byte);
{-Write St centered on window Row in Attr (video attribute) without snow}
procedure FastFlush(St : string; Row, Attr : Byte);
{-Write St flush right on window Row in Attr (video attribute) without snow}
procedure FastRead(Number, Row, Col : Byte; var St : string);
{-Read Number characters from the screen into St starting at Row,Col}
procedure FastReadWindow(Number, Row, Col : Byte; var St : string);
{-Read Number characters from the screen into St starting at window Row,Col}
procedure ReadAttribute(Number, Row, Col : Byte; var St : string);
{-Read Number attributes from the screen into St starting at Row,Col}
procedure ReadAttributeWindow(Number, Row, Col : Byte; var St : string);
{-Read Number attributes from the screen into St starting at window Row,Col}
procedure WriteAttribute(St : String; Row, Col : Byte);
{-Write string of attributes St at Row,Col without changing characters}
procedure WriteAttributeWindow(St : String; Row, Col : Byte);
{-Write string of attributes St at window Row,Col without changing characters}
procedure ChangeAttribute(Number : Word; Row, Col, Attr : Byte);
{-Change Number video attributes to Attr starting at Row,Col}
procedure ChangeAttributeWindow(Number : Word; Row, Col, Attr : Byte);
{-Change Number video attributes to Attr starting at window Row,Col}
procedure MoveScreen(var Source, Dest; Length : Word);
{-Move Length words from Source to Dest without snow}
procedure FlexWrite(St : string; Row, Col : Byte; var FAttrs : FlexAttrs);
{-Write St at Row,Col with flexible color handling}
procedure FlexWriteWindow(St : string; Row, Col : Byte; var FAttrs : FlexAttrs);
{-Write a string flexibly using window-relative coordinates.}
function SaveWindow(XLow, YLow, XHigh, YHigh : Byte; Allocate : Boolean;
var Covers : Pointer) : Boolean; {-Allocate buffer space if requested and save window contents}
procedure RestoreWindow(XLow, YLow, XHigh, YHigh : Byte;
Deallocate : Boolean; var Covers : Pointer); {-Restore screen contents and deallocate buffer space if requested}
procedure StoreWindowCoordinates(var WC : WindowCoordinates);
{-Store the window coordinates for the active window}
procedure RestoreWindowCoordinates(WC : WindowCoordinates);
{-Restore previously saved window coordinates}
function PackWindow(XLow, YLow, XHigh, YHigh : Byte) : PackedWindowPtr;
{-Return a pointer to a packed window, or nil if not enough memory}
procedure DispPackedWindow(PWP : PackedWindowPtr);
{-Display the packed window pointed to by PWP}
procedure DispPackedWindowAt(PWP : PackedWindowPtr; Row, Col : Byte);
{-Display the packed window pointed to by PWP at Row,Col. If necessary, the coordinates are adjusted to allow it to fit on the screen.}
procedure MapPackedWindowColors(PWP : PackedWindowPtr);
{-Map the colors in a packed window for improved appearance on mono/B&W displays}
procedure DisposePackedWindow(var PWP : PackedWindowPtr);
{-Dispose of a packed window, setting PWP to nil on exit}
procedure WritePackedWindow(PWP : PackedWindowPtr; FName : string);
{-Store the packed window pointed to by PWP in FName}
function ReadPackedWindow(FName : string) : PackedWindowPtr;
{-Read the packed window stored in FName into memory}
function CreateLibrary(var F : file; Name : string;
Entries : Byte) : DirectoryPtr; {-Create a library with the specified # of directory entries}
function OpenLibrary(var F : file; Name : string) : DirectoryPtr;
{-Open the specified library and return a pointer to its directory}
procedure CloseLibrary(var F : file; var DP : DirectoryPtr);
{-Close library F and deallocate its directory}
procedure PackLibrary(LName : string);
{-Pack a library to remove deleted entries.}
procedure AddWindowToLibrary(PWP : PackedWindowPtr; var F : file;
DP : DirectoryPtr; WinName : LibName); {-Add a packed window to the specified library}
function ReadWindowFromLibrary(var F : file; DP : DirectoryPtr;
WinName : LibName) : PackedWindowPtr; {-Read a packed window from a library}
procedure DeleteWindowFromLibrary(var F : file; DP : DirectoryPtr;
WinName : LibName); {-Delete a packed window from the specified library}
function MapColor(c : Byte) : Byte;
{-Map a video attribute for visibility on mono/bw displays}
procedure SetBlink(Status : Boolean);
{-Enable text mode attribute blinking if On is True}
procedure SetCrtBorder(Attr : Byte);
{-Set border to background color if card type and mode allow}
function Font8x8Selected : Boolean;
{-Return True if EGA or VGA is active and in 8x8 font}
procedure SelectFont8x8(Status : Boolean);
{-Toggle 8x8 font on or off}
function HercPresent : Boolean;
{-Return true if a Hercules graphics card is present}
procedure SwitchInColorCard(ColorOn : Boolean);
{-Activate or deactivate colors on a Hercules InColor card}
function HercGraphicsMode : Boolean;
{-Return True if a Hercules card is in graphics mode}
function HercModeTestWorks : Boolean;
{-Return True if HercGraphicsMode will work}
procedure SetHercMode(GraphMode : Boolean; GraphPage : Byte);
{-Set Hercules card to graphics mode or text mode, and activate specified graphics page (if switching to graphics mode).}
function ReadKeyWord : Word;
{-Waits for keypress, then returns scan and character codes together}
function CheckKbd(var KeyCode : Word) : Boolean;
{-Returns True (and the key codes) if a keystroke is waiting}
function KbdFlags : Byte;
{-Returns keyboard status flags as a bit-coded byte}
procedure StuffKey(W : Word);
{-Stuff one key into the keyboard buffer}
procedure StuffString(S : string);
{-Stuff the contents of S into the keyboard buffer}
procedure ReInitCrt;
{-Reinitialize CRT unit's internal variables. For TSR's or programs with DOS shells. May reset: CurrentMode, ScreenWidth, ScreenHeight, WindMin/WindMax, CurrentPage, CurrentDisplay, CheckSnow, and VideoSegment}
{$ifdef WIN32} procedure SetSafeCPSwitching(F: Boolean); procedure SetUseACP(F: Boolean); {$ENDIF}
procedure AssignConToCrt;
procedure ClrScr;
{-Clears the screen and returns the cursor to the upper-left corner}
procedure TextBackground(Color: Byte);
{-Selects the background color}
procedure TextColor(Color: Byte);
{-Selects the foreground character color}
procedure Window(X1,Y1,X2,Y2: Byte);
{-Defines a text window on the screen}
procedure GotoXY(X,Y: Byte);
{-Moves the cursor to the given coordinates within the screen}
function WhereX: Byte;
{-Returns the X coordinate of the current cursor location}
function WhereY: Byte;
{-Returns the Y coordinate of the current cursor location}
procedure ClrEol;
{-Clears all characters from the cursor position to the end of the line } { without moving the cursor. }
function KeyPressed: Boolean;
{-Determines if a key has been pressed on the keyboard and returns True } { if a key has been pressed }
function ReadKey: Char;
{-Reads a character from the keyboard and returns a character or an } { extended scan code. }
procedure TextMode (Mode: word); procedure InsLine;
{-Inserts an empty line at the cursor position}
procedure DelLine;
{-Deletes the line containing the cursor}
procedure LowVideo;
{-Selects low intensity characters}
procedure HighVideo;
{-Selects high-intensity characters}
procedure NormVideo;
{-Selects normal intensity characters}
procedure Delay(MS: Word); procedure Sound(Hz: Word); procedure NoSound; procedure AssignCrt(var F: Text);
{-Associates a text file with CRT device.}
procedure PlaySound(Freq,Duration: Longint);
{-Setups window coordinates }
procedure GetLastMode;