home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Power-Programmierung
/
CD1.mdf
/
pascal
/
library
/
dos
/
cursor
/
cursor42.pas
< prev
Wrap
Pascal/Delphi Source File
|
1988-09-30
|
5KB
|
103 lines
{ =========================================================================== }
{ Cursor42.pas - Restores cursor for any video card. ver 4.2, 10-01-88 }
{ by James H. LeMay, CIS 76011,217 }
{ for Eagle Performance Software }
{ P.O. Box 122237 }
{ Ft. Worth, TX 76121 }
{ (817)-735-4833 }
{ }
{ This program will let you restore your cursor automatically on whatever }
{ system you have: }
{ }
{ Usage: Cursor << Underline cursor }
{ Cursor [-bh?] << Block cursor or help }
{ Cursor [TopScanLine BottomScanLine] << Custom shape }
{ No parameters makes an underline cursor. }
{ -b makes a block cursor. }
{ Two decimal parameters shape the scan lines. }
{ Anything else just displays the usage. }
{ The "-" and "/" are optional
{ }
{ For more information on cursor shapes for different video devices, get }
{ QWIK42.ARC. QWIK.TPU is required to compile this program which is also in }
{ QWIK42.ARC. This source code is public domain, but QWIK is shareware. }
{ QWIK is initialized in the unit and detects your video system including: }
{ }
{ IBM PC, XT, AT, PCjr, PC convertible, all PS/2 models, 3270 PC. }
{ MDA, CGA, EGA, MCGA, VGA, 8214/A, all Hercules. }
{ And all compatibles. }
{ Operating in all text modes, column modes, and row modes. }
{ }
{ QWIK turns on the cursor emulation mode for the VGA. }
{ }
{ EXAMPLES: }
{ cursor -b << Restores block cursor }
{ cursor -h << Displays help }
{ cursor 0 13 << Makes a block-type cursor (MDA) }
{
{ }
{ Revisions: }
{ Version 1.1, 04-08-88 }
{ . Accounted for CGA emulation on EGA with CheckCgaEmulation. }
{ Version 5.0, 08-01-88 }
{ . Revised program for QWIK42.TPU }
{ =========================================================================== }
program RestoreCursor;
{$M 1500, 0, 0}
{$R-,S-,I-,D-,T-,F-,V-,B-,N-,L+ }
uses Qwik; { QWIK.TPU is found in QWIK42.ARC or a later version. }
var
BottomScanLine,TopScanLine: byte;
CursorMode: word absolute BottomScanLine;
ParameterError: boolean;
Attr: integer;
procedure GetBlockCursor;
var P: string[10];
begin
P := ParamStr(1);
if (pos('b',P)>0) or (pos('B',P)>0) then
CursorMode := CursorBlock
else ParameterError:=true; { Show command usage. }
end;
procedure GetCustomCursor;
var Error1,Error2: integer;
begin
val (ParamStr(1),TopScanLine ,Error1);
val (ParamStr(2),BottomScanLine,Error2);
if Error1+Error2<>0 then
ParameterError:=true; { Show command usage. }
end;
begin
ParameterError:=false;
case ParamCount of
0: CursorMode := CursorUnderline;
1: GetBlockCursor;
2: GetCustomCursor;
else ParameterError := true;
end;
if ParameterError then
begin
ScrollAttr := QreadAttr (WhereR,WhereC);
Attr := ScrollAttr;
EosToCursor;
QwriteEos (Attr,'CURSOR 4.2 (c) 1988 Eagle Performance Software');QEosLn;
QwriteEos (Attr,'Restores default cursor on any system.'); QEosLn;
QwriteEos (Attr,'Usage: Cursor'); QEosLn;
QwriteEos (Attr,' Cursor [-bh?]'); QEosLn;
QwriteEos (Attr,' Cursor [TopScanLine BottomScanLine]'); QEosLn;
QwriteEos (Attr,'No parameters makes an underline cursor.'); QEosLn;
QwriteEos (Attr,'-b makes a block cursor.'); QEosLn;
QwriteEos (Attr,'Two decimal parameters shape the scan lines.'); QEosLn;
GotoEos;
end
else
SetCursor (CursorMode);
end.