[Back to CURSOR SWAG index] [Back to Main SWAG index] [Original]
Program SpinKey;
Uses Crt;
(* ^^^^
This is only For "beautifying" the stuff. XCrt has the Procedures:
HideCursor
ShowCursor
but they are not Really important, perhaps you have youre own
*)
Const
SpinChar : Array [1..4] of Char = ('³','/','Ä','\');
Function ReadKeySpin(Wait : Byte) : Char;
Var
X,Y : Byte;
Num : Byte;
Ch : Char;
begin
Num := 1; (* initialize SpinChars *)
X := WhereX; (* Where am I ?? *)
Y := WhereY;
Repeat
Write(SpinChar[Num]); (* Spin the Cursor *)
GotoXY(X, Y); (* Go back *)
Delay(Wait); (* Wait, it's to fast! *)
Write(#32); (* Clean Screen *)
GotoXY(X, Y); (* Go back *)
Inc(Num); (* Next SpinChar, please *)
if Num = 5 then Num := 1; (* I have only 5 Chars *)
Until KeyPressed;
Ch := ReadKey; (* Get the pressed Key *)
Write(Ch); (* and Write it to screen*)
ReadKeySpin := Ch; (* give a result *)
end;
Function ReadStringSpin : String;
Var
Help : String;
Ch : Char;
i : Byte;
begin
Help := '';
Repeat
Ch := ReadKeySpin(40);
if Ch <> #13 then Help := Help + Ch;
Until Ch = #13;
ReadStringSpin := Help;
WriteLn;
end;
Var
TestString : String;
begin
TestString := ReadStringSpin;
end.
[Back to CURSOR SWAG index] [Back to Main SWAG index] [Original]