Einzelnen Beitrag anzeigen

Benutzerbild von rhodan
rhodan

Registriert seit: 4. Okt 2005
Ort: Hamburg
150 Beiträge
 
Delphi 7 Personal
 
#1

Timer startet immer neu obwohl disabled??

  Alt 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
  Mit Zitat antworten Zitat