[TP7] Delay qui s'arrête quand une expression est vraie
Bonjour
Voilà, j'aimerais fabriquer (c'est un bien grand mot :aie:) une fonction delay mais, comparée à celle existante, la mienne devra s'arrêter quand une expression sera vraie.
En résumé pour résumer c'est un delay mais qui s'arrête si l'expression est vraie (à vrai dire c'est surtout pour keypressed);
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
|
program test;
uses crt;
procedure cdelay(t : integer; exp : boolean); {t = temps du delay, exp : l'expression}
var
i : integer;
begin
for i := 1 to t do begin
delay(1);
if (exp=true) then break; {c'est cette ligne qui ne fonctionne pas}
end;
end;
begin
cdelay(5000,keypressed);
write('ok');
end. |
et aussi le deuxième problème c'est que le temps d'attente n'est plus du tout le même, quand je mets 5000 dans t, c'est-à-dire 5 secondes, le temps réel est de 8 secondes.
Merci d'avance.