rss
Rechercher : dans
Par : Pertinence Date Nom d'utilisateur
Statut : Non résolu

[Delphi] Faire une pause dans une procedure

le.schtroumpf.jedi, le dimanche 23 septembre 2001 à 14:10:53
J'ai dévellopé en Delphi une application qui doit attendre une frappe au clavier ou la fin d'un timer pour continuer.

Mon pb est le suivant, comment faire une pause dans une procedure ou est ce possible ?

La seule solution que j'ai trouvé est de décompser la procedure en plusieurs procedures, ainsi le timer ou le clavier lance la suite.

Je trouve ma solution pas très optimale car j'ai du faire appel à 7 procedure pour faire le traitement d'une seule.

Pourriez vous m'indiquer si une autre solution existe ?

Merci...
Répondre à le.schtroumpf.jedi  Signaler ce message aux modérateurs Aller au dernier message

1


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
nabzone, le dimanche 23 septembre 2001 à 23:05:32
pour faire une pause il existe la célébre fonction :
sleep(X)
si X=1000 ---> 1 seconde
si X=2000 ---> 2 secondes
...
...
Répondre à nabzone

3


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
le.schtroumpf.jedi, le lundi 24 septembre 2001 à 11:35:53
Comment faire une pause seulement terminé par le timer ou le clavier ?
Répondre à le.schtroumpf.jedi

2


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
samounet, le lundi 24 septembre 2001 à 09:17:32
g une otre solution... mais ca marche en VB, je sais po pour delphi

l idee c de faire

tant que faux
Doevents <---- ca veut dire que ca permet a d autre evenements de s executer
fintq

et en fait quand tu a une frappe au clavier, ou ton timer qui se declenche, tu metsq ton booleen a vrai

si tu oublies le doevents, ton prog va boucler sans fin.... mais je connais po l equivalent de DoEvents en delphi, mais ca doit bien exister
Répondre à samounet

4


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
le.schtroumpf.jedi, le lundi 24 septembre 2001 à 11:39:09
j'ai essayé cette solution, mais le problème est que m^me qd le booléen est mis à vrai la boucle n'est pas terminée.

PS : en Delphi c'est ProcessMessage.
Répondre à le.schtroumpf.jedi

5


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
samounet, le lundi 24 septembre 2001 à 11:44:17
ben ca m etonnes assez, parce que si tu fais un bete

tant que faux
blahblah
fintq

des que ton booleen passe a vrai il doit sortir du tant que...$

t sur qu il y a pas une couille o nivo de tes noms de variables, quelle sont bien declarees en global... tout ca ?
Répondre à samounet

6


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
le.schtroumpf.jedi, le lundi 24 septembre 2001 à 21:26:30
Tout est ok.

Excue moi, mais tu es sûr de ton coup, moi ça marche toujours pas.
Répondre à le.schtroumpf.jedi

7


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
samounet, le mardi 25 septembre 2001 à 09:26:08
chez moi ca marche

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;

type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
Edit1: TEdit;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Déclarations privées }
public
{ Déclarations publiques }
end;


var
Form1: TForm1;
test : Boolean;
implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
test :=false;
while not test do
application.ProcessMessages ;
edit1.Text:='pouet';
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
test :=true;
end;

end.
Répondre à samounet

8


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
 nobody, le lundi 27 août 2007 à 10:20:01
procedure TForm1.Button1Click(Sender: TObject);
begin
test :=false;
while not test do
application.ProcessMessages ;
edit1.Text:='pouet'; <------là tu ralentis lexécution de ton programme inutilement en définissant indéfiniment la valeur de ton contrôle
end;

il vaut mieux :


procedure TForm1.Button1Click(Sender: TObject);
begin
test :=false;
edit1.Text:='pouet';
while not test do
application.ProcessMessages ;
end;
Répondre à nobody
Logiciels pertinents trouvés dans les téléchargements
Télécharger Delphi 6 Edition personnelle 6.0Delphi 6 Edition personnelle - La société Borland (Inprise) a mis à disposition gratuitement, pour un usage non-commercial, la version 6 de son...Catégorie: Delphi
Licence: Freeware/gratuit
Télécharger AbiWord 2.6.4AbiWord - AbiWord est un traitement de texte libre représentant une alternative intéressante au logiciel Microsoft Word. Ce logiciel...Catégorie: Traitement de texte
Licence: Open Source
Télécharger WinAVI Video Capture 2.0.0.1WinAVI Video Capture - WinAVI Video Capture peut capturer vos films en provenance de périphériques AV comme un magnétoscope, un camescope ou une...Catégorie: Edition vidéo
Licence: Freeware/gratuit
Télécharger Windows Defender pour Windows XP/Vista February 15, 2007Windows Defender pour Windows XP/Vista - Windows Defender est un programme gratuit permettant de se protéger des pop-ups, des ralentissement et des failles de...Catégorie: Anti-Spyware
Licence: Freeware/gratuit
Plus de logiciels gratuits sur « [Delphi] Faire une pause dans une procedure »