Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Bilderfolge mit mausklick (https://www.delphipraxis.net/87429-bilderfolge-mit-mausklick.html)

Frankfurter_Bub 28. Feb 2007 16:53


Bilderfolge mit mausklick
 
Hallo Programmiergemeinde ;)

habe folgendes Problem:
auf einem server kann man sich bilder anschauen, wenn man in diesem ordner ist, wird das nächste bild erst geladen, wenn man das momentane bild anklickt, hätte gern n programm geschrieben, was mir die klickerei abnimmt und die ganze sache zur diashow wird, aber leider klappt es nicht -.-

könnt ihr bitte mal schaun, was ich falsch gemacht hab?? vielen danke im voraus :)

Delphi-Quellcode:
procedure TDiashow.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
var x: integer;
begin
 x:=0;
  if (key = $21) then     {bild hoch}
   SetCursorPos(600,500);
   while x>0 do
   Mouse_Event(MOUSEEVENTF_LEFTDOWN,0,0,0,0);
   Mouse_Event(MOUSEEVENTF_LEFTUP,0,0,0,0);
   x:= x+1;
   Sleep(Millisekunden);


  if (key = $22) then Close; {bild runter}


end;
end.

liebe grüße

DP-Maintenance 28. Feb 2007 17:48

DP-Maintenance
 
Dieses Thema wurde von "r_kerber" von "Programmieren allgemein" nach "VCL / WinForms / Controls" verschoben.
Delphi-Thema

Frankfurter_Bub 1. Mär 2007 12:39

Re: Bilderfolge mit mausklick
 
Hilfe :cry:

Chris P 1. Mär 2007 12:56

Re: Bilderfolge mit mausklick
 
Hi,

beachte die evtl. fehlende begin..end; Anweisung bei der while-Schleife und bei den if-Abfragen.

Was soll denn die Abbruchbedingung für die while-Schleife sein?
Da du x immer um 1 erhöhst wird die Schleife nie abbrechen.

thkerkmann 1. Mär 2007 13:04

Re: Bilderfolge mit mausklick
 
Hallo,

manchmal hilft Einrücken, dann sieht man den Fehler:

Delphi-Quellcode:
procedure TDiashow.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
var x: integer;
begin
  x:=0;
  if (key = $21) then     {bild hoch}
  begin // <<< fehlte
    SetCursorPos(600,500);
    while x>0 do
    begin // <<< fehlte
      Mouse_Event(MOUSEEVENTF_LEFTDOWN,0,0,0,0);
      Mouse_Event(MOUSEEVENTF_LEFTUP,0,0,0,0);
      x:= x+1;
      Sleep(Millisekunden);
    end; // <<< fehlte
  end // <<< fehlte
  else // <<< fehlte
  if (key = $22) then
    Close; {bild runter}
end;
Erstens: wie man jetzt sehen kann, wird die while schleife nicht gestartet, weil x=0 ist.

Zweitens: desweiteren kann die while Schleife, sollte sie nach Korrektur doch gestartet werden nicht verlassen werden, bis x sehr weit hochgezählt wurde, nämlich ca 21 Milliarden irgenwas.

Gruss

Frankfurter_Bub 1. Mär 2007 13:54

Re: Bilderfolge mit mausklick
 
oh, danke sehr, aber ich dachte das mit der while schleife von der anderen bedingung (bild runter) beendet wird und es halt kein programmiertes ende finden soll..

das problem nun ist, das die schleife nicht mehr abläuft, sondern nur per bild hoch ein klick emuliert wird -.-
& andere frage, wie bekomm ich es hin, das der klick auf das bild im browser geschieht und nicht nur wenn die Form im vordergrund ist?

viel dank erstmal :)


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:39 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz