Delphi "delay"

Pagina: 1
Acties:

  • sundevil
  • Registratie: April 2000
  • Laatst online: 18-12-2021

sundevil

One ping only

Topicstarter
Hoi,

Als beginnend Delphi (5) programmeur heb ik de volgende vraag:

Ik heb een procedure die aangeroepen wordt met hierin commando die, als het is gestart, een paar seconden moet wachten voordat het volgende commando of procedure gegeven mag worden. Het programma mag dus ff helamaal niks doen op dat moment.

In Pascal had je zoiets als "delay", maarja dat kon toen.

Kun je in Delphi ook zoiets doen op en vrij simpele manier??? Ik ben al met een timer bezig geweest, maar ik denk dat ik daar nog niet de goede toepassing voor gevonden heb.

Alvast bedankt... ;)

The angle of the dangle is directly proportional to the heat of the meat.


Verwijderd

Probeer maar eens met Sleep(N).

N is een getal in milliseconden. Dit is een standaard WinApi functie. Je programma doet echt niets meer tijdens een sleep. Misschien kun je het netter oplossen door een Timer te gebruiken.

Verwijderd

Je kan natuurlijk ook een Timer component plaatsen op je form, Enabled op False zetten, en dan op het moment dat je wil wachten Enabled op true zetten, vervolgens bij Timer1.OnTimer de actie neerzetten. Ik weet dat het vaag is, desnoods stuur je me een mailtje of ICQ je me ff.
Grtz. Chris

  • sundevil
  • Registratie: April 2000
  • Laatst online: 18-12-2021

sundevil

One ping only

Topicstarter
Bedankt,

Ik ga eerst maar es die Sleep gebruiken. Het programma hoeft ook echt niks te doen in die tijd. Het moet gewoon wachten op een actie...

Dat enabelen van een timer daar had ik nog niet aan gedacht. Ik ging ervan uit dat een timer altijd door loopt ;)

The angle of the dangle is directly proportional to the heat of the meat.


Verwijderd

Op maandag 04 december 2000 04:50 schreef ceidhof het volgende:
Je kan natuurlijk ook een Timer component plaatsen op je form, Enabled op False zetten, en dan op het moment dat je wil wachten Enabled op true zetten, vervolgens bij Timer1.OnTimer de actie neerzetten. Ik weet dat het vaag is, desnoods stuur je me een mailtje of ICQ je me ff.
Grtz. Chris
Ik heb ook een vraag, heb dit via de search gevonden want ik zit met een vergelijkbaar probleem. Ik heb op mij form 4 Buttons staan die ik handmatig 1 voor 1 aanklik. Nu wil ik dat dit vanzelf gaat als ik op 1 button klik die ik automatisch noem. Ik kom er alleen niet uit met die timer.

-------------procedure TForm1.Button7Click(Sender: TObject);
begin
Button2Click(Sender);
Button3Click(Sender);
Button4Click(Sender);
Button5Click(Sender);
Button6Click(Sender);
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin

end;

procedure TForm1.FormCreate(Sender: TObject);
begin

end;

procedure TForm1.Timer5Timer(Sender: TObject);
begin

end;

procedure TForm1.Timer4Timer(Sender: TObject);
begin

end;

procedure TForm1.Timer3Timer(Sender: TObject);
begin

end;

procedure TForm1.Timer2Timer(Sender: TObject);
begin

end;

end.

-------------

Als ik die buttons 2 t/5 zo neerzet gaat het zo snel dat ik alleen de laatste actie zie. Ik heb er nu dus timers in gezet ik weet alleen niet hoe ik het moet aansturen.

  • ArieProductions
  • Registratie: Januari 2002
  • Laatst online: 27-11-2024
Waarom een timer,

volgens mij gaat het zo ook:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
procedure TForm1.Button2Click(Sender: TObject);
begin
  ShowMessage('hoi');
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
  showmessage('hoi 2x');
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  Sleep(10000); // 10 seconds
  Button2Click(Sender);
  Sleep(10000);
  Button3Click(Sender);

end;

als je op button een klikt gaan de volgende buttons om de 10 seconden 'automatisch'

"Quidquid latine dictum sit, altum videtur" (Whatever is said in Latin sounds profound)


Verwijderd

Op donderdag 14 maart 2002 15:53 schreef ArieProductions het volgende:
Waarom een timer,


Sorry voor de lap tekst. Maar het is een verkeerslicht situatie... als je op de buttons klikt gaan er diverse
lampjes aan. Ik wil er nu een automatische cyclus van maken ... maar ik weet niet wat het beste is een timer of sleep .... of delay (portinc) ?
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
unit Stoplicht;

interface

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

type
  TForm1 = class(TForm)
    Image1: TImage;
    Image2: TImage;
    Image3: TImage;
    Image4: TImage;
    Image5: TImage;
    Image6: TImage;
    Image7: TImage;
    Image8: TImage;
    Image9: TImage;
    Image10: TImage;
    Image11: TImage;
    Image12: TImage;
    Image13: TImage;
    Image14: TImage;
    Image15: TImage;
    Image16: TImage;
    Label1: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    Label8: TLabel;
    Label9: TLabel;
    Label10: TLabel;
    Label11: TLabel;
    Label12: TLabel;
    Label13: TLabel;
    Label14: TLabel;
    Label15: TLabel;
    Label18: TLabel;
    Label19: TLabel;
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    Button4: TButton;
    Button5: TButton;
    Button6: TButton;
    Button7: TButton;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
    procedure Button5Click(Sender: TObject);
    procedure Button6Click(Sender: TObject);
    procedure Button7Click(Sender: TObject);

  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
form1.image1.visible:=true;
form1.image2.visible:=false;
form1.image3.visible:=True;
form1.image4.visible:=false;
form1.image5.visible:=True;
form1.image6.visible:=True;
form1.image7.visible:=True;
form1.image8.visible:=false;
form1.image9.visible:=false;
form1.image10.visible:=false;
form1.image11.visible:=True;
form1.image12.visible:=True;
form1.image13.visible:=True;
form1.image14.visible:=false;
form1.image15.visible:=false;
form1.image16.visible:=false;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
form1.image1.visible:=false;
form1.image2.visible:=true;
form1.image3.visible:=True;
form1.image4.visible:=false;
form1.image5.visible:=True;
form1.image6.visible:=True;
form1.image7.visible:=True;
form1.image8.visible:=false;
form1.image9.visible:=false;
form1.image10.visible:=false;
form1.image11.visible:=True;
form1.image12.visible:=True;
form1.image13.visible:=True;
form1.image14.visible:=false;
form1.image15.visible:=false;
form1.image16.visible:=false;
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
form1.image1.visible:=true;
form1.image2.visible:=false;
form1.image3.visible:=true;
form1.image4.visible:=false;
form1.image5.visible:=false;
form1.image6.visible:=false;
form1.image7.visible:=true;
form1.image8.visible:=false;
form1.image9.visible:=True;
form1.image10.visible:=True;
form1.image11.visible:=false;
form1.image12.visible:=false;
form1.image13.visible:=true;
form1.image14.visible:=True;
form1.image15.visible:=True;
form1.image16.visible:=false;
end;

procedure TForm1.Button4Click(Sender: TObject);
begin

form1.image1.visible:=true;
form1.image2.visible:=false;
form1.image3.visible:=true;
form1.image4.visible:=false;
form1.image5.visible:=True;
form1.image6.visible:=True;
form1.image7.visible:=false;
form1.image8.visible:=true;
form1.image9.visible:=false;
form1.image10.visible:=false;
form1.image11.visible:=True;
form1.image12.visible:=True;
form1.image13.visible:=false;
form1.image14.visible:=false;
form1.image15.visible:=false;
form1.image16.visible:=true;
end;

procedure TForm1.Button5Click(Sender: TObject);
begin
form1.image1.visible:=true;
form1.image2.visible:=false;
form1.image3.visible:=false;
form1.image4.visible:=True;
form1.image5.visible:=true;
form1.image6.visible:=true;
form1.image7.visible:=true;
form1.image8.visible:=false;
form1.image9.visible:=false;
form1.image10.visible:=false;
form1.image11.visible:=true;
form1.image12.visible:=true;
form1.image13.visible:=true;
form1.image14.visible:=false;
form1.image15.visible:=false;
form1.image16.visible:=false;

end;

procedure TForm1.Button6Click(Sender: TObject);
begin
form1.image1.visible:=true;
form1.image2.visible:=false;
form1.image3.visible:=True;
form1.image4.visible:=false;
form1.image5.visible:=false;
form1.image6.visible:=false;
form1.image7.visible:=true;
form1.image8.visible:=false;
form1.image9.visible:=true;
form1.image10.visible:=true;
form1.image11.visible:=false;
form1.image12.visible:=false;
form1.image13.visible:=true;
form1.image14.visible:=true;
form1.image15.visible:=true;
form1.image16.visible:=false;



end;

procedure TForm1.Button7Click(Sender: TObject);
begin
Button2Click(Sender);
Sleep(1000);
Button3Click(Sender);
Sleep(1000);
Button4Click(Sender);
Sleep(1000);
Button5Click(Sender);
Sleep(1000);
Button6Click(Sender);
Sleep(1000);
end;

end.


procedure TForm1.Button1Click(Sender: TObject);
begin
  Sleep(10000); // 10 seconds
  Button2Click(Sender);
  Sleep(10000);
  Button3Click(Sender);

end;

als je op button een klikt gaan de volgende buttons om de 10 seconden 'automatisch'
Pagina: 1