[fpc-pascal]Better Alternative to delay()

Darek Mazur darekm at emadar.com
Wed Oct 15 08:18:24 CEST 2003


The better way is write your own function to input data from keybord
Then You may wait so long as you want, trap special keys etc

for exaple

function inputkstring(wait : longint):string;
var
  s  : string;
  ch : char;
  theend : boolean;
begin
  s:='';
 theend:=false;
  repeat
   delay(100);
   if not keypressed then contiue;
   ch:=readkey;
   if ch = ....... then theend:=true
; others case
   else s:=s+ch;
  until theend;
end;


----- Original Message ----- 
From: "George Patterson" <george at visp.com.au>
To: <fpc-pascal at lists.freepascal.org>
Sent: Wednesday, October 15, 2003 6:29 AM
Subject: [fpc-pascal]Better Alternative to delay()


> Hi all,
> 
> I am using the delay function to pause for an amount of time which works
> but will not allow the user to stop the program from the console, using
> ctrl-C. If I could trap the keystroke, I would be happy.
> 
> Excuse the indentation...
> 
> while not eof(sin) do
>     begin
>         repeat
>            readln (sin, line);
>      writeln (line);
>    //readln(input_text);
>    delay(250); //time is measured in milliseconds
>    input_text:='hello';
>    writeln(sout,input_text);
> until keypressed;
>     end;
> close (sin);
> 
> 
> What is a better way to write that code snippet. The delay does not need
> to be accurate (quarter of a second will not matter).. 
> 
> Thanks
> 
> George Patterson
> 
> _______________________________________________
> fpc-pascal maillist  -  fpc-pascal at lists.freepascal.org
> http://lists.freepascal.org/mailman/listinfo/fpc-pascal




More information about the fpc-pascal mailing list