Registriert seit: 4. Okt 2005
Ort: Hamburg
150 Beiträge
Delphi 7 Personal
|
Timer startet immer neu obwohl disabled??
19. Jan 2007, 21:33
moin Leute
Ich hab nur kurz ne Frage warum sich dieser timer immer und immer wiederholt bzw. neu started??Irgendwo muss ein Fehler drin sein :S
Delphi-Quellcode:
procedure TForm1.Timer4Timer(Sender: TObject);
var
c: Char;
i: integer;
begin
if invchecked2.Visible=false then
timer5.Enabled:=true;
if invchecked2.visible=true then
begin
// sellshop
keybd_event(VK_F2, 0, 0, 0);
Keybd_Event(VK_F2,0,KEYEVENTF_KEYUP,0);
sleep (1000);
setcursorpos (746,193);
sleep (1000);
mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0);
sleep(5000);
setcursorpos (853,396);
mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0);
sleep (1000);
//EK
begin
if length(Edit1.Text)> 0 then
begin
for i:= 0 to length(Edit1.Text) do
begin
c:= Edit1.text[i];
Case c of
'1'..'9' :
begin
c:= upcase(c);
keybd_event(ord(c),0,0,0);
keybd_event(ord(c),0,keyeventf_keyup,0);
end;
'A'..'Z':
begin
keybd_event(vk_Shift,0,0,0);
keybd_event(ord(c),0,0,0);
keybd_event(vk_Shift,0,keyeventf_keyup,0);
keybd_event(ord(c),0,keyeventf_keyup,0);
end;
'a'..'z':
begin
c:= upcase(c);
keybd_event(ord(c),0,0,0);
keybd_event(ord(c),0,keyeventf_keyup,0);
end;
else
begin
keybd_event(ord(c),0,0,0);
keybd_event(ord(c),0,keyeventf_keyup,0);
end;
end;
end;
end;
end;
sleep(1000);
setcursorpos (471,412);
sleep(1000);
mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0);
sleep(500);
mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0);
sleep(1000);
// Caution Window
if checkbox1.checked=true then
begin
mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0);
sleep(500);
mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0);
sleep(1000);
end;
//Anzahl
begin
if length(Edit2.Text)> 0 then
begin
for i:= 0 to length(Edit2.Text) do
begin
c:= Edit2.text[i];
Case c of
'1'..'9' :
begin
c:= upcase(c);
keybd_event(ord(c),0,0,0);
keybd_event(ord(c),0,keyeventf_keyup,0);
end;
'A'..'Z':
begin
keybd_event(vk_Shift,0,0,0);
keybd_event(ord(c),0,0,0);
keybd_event(vk_Shift,0,keyeventf_keyup,0);
keybd_event(ord(c),0,keyeventf_keyup,0);
end;
'a'..'z':
begin
c:= upcase(c);
keybd_event(ord(c),0,0,0);
keybd_event(ord(c),0,keyeventf_keyup,0);
end;
else
begin
keybd_event(ord(c),0,0,0);
keybd_event(ord(c),0,keyeventf_keyup,0);
end;
end;
end;
end;
end;
sleep(1000);
mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0);
sleep(500);
mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0);
sleep(1000);
timer5.Enabled:=true;
timer4.enabled:=false;
end;
end;
Kurze erklärung...ich habe 20 fenster jeweils mit nem kleinen bild drauf, die bilder (invchecked)sind alle unsichtbar...wenn ich im laufenden program drauflicke werden die pics sichtbar um zu markieren welches der 20 fenster ich selektiert habe...zusätzlich ist auf jedem der fenster ein timer..., wenn ich am ende auf OK drücke sollen nur die timer der fenster ausgeführt werden welche der user selektiert hat, sprich wo die bilder sichtbar sind...daher:
Delphi-Quellcode:
if invchecked2.Visible=false then
timer5.Enabled:=true;
if invchecked2.visible=true then
am anfang...wenn das bild NICHT sichtbar ist, soll gleich der nächste timer gestartet werden..
allerdings wird der timer immer wieder gestartet...ich hab nicht rausgefunden warum..vielleicht steht das
Delphi-Quellcode:
timer5.Enabled:=true;
timer4.enabled:=false;
am ende auch ZU weit am ende und der befehl den timer zu disablen und den nächsten zu starten kommt gar nicht mehr zum zug?
über hilfe wäre ich dankbar
nette grüße von rhodan
|