Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi 2 Prozeduren gleichzeitig (https://www.delphipraxis.net/111226-2-prozeduren-gleichzeitig.html)

max2621 31. Mär 2008 20:40


2 Prozeduren gleichzeitig
 
Hallo,

Ich möchte mittels einer FTP Verbindung vom Server eine Datei für 10 Sekunden herunderladen und anschliessend die grösse der bis dahin geladenen Datei ermitteln.
Auf dem Formular habe ich sowohl die FTP Komponente, als auch eien Timer der von 10 bis null zurückzählt plaziert. Mir ist nun völlig unklar wie ich die beiden Schritte (FTP und Timer verbinde), on work begin habe ich probiert. Wahrscheinlich falsch. Bin wie man sieht Anfänger.

Mein code:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
  IdFTP1.Username := 'User';
  IdFTP1.Password := 'Pass';
  IdFTP1.Host := 'myIP';
  IdFTP1.Port := 22;
  IdFTP1.Connect;
end;

procedure TForm1.IdFTP1AfterClientLogin(Sender: TObject);
begin

  IdFTP1.Get('Test.exe', 'C:\EPG\Test.exe', true);
  IdFTP1.Disconnect;
end;

procedure TForm1.test(ASender: TObject; AWorkMode: TWorkMode;
  AWorkCountMax: Integer);
begin
  Timer1;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
zaehler:= zaehler - 1;
Label1.Caption:= IntToStr(zaehler) + ': Sekunden';
// Wenn der Countdown vorbei ist...

if zaehler <= 0 then begin
Timer1.Enabled:=false;
zaehler:=10;
Label1.Caption:= IntToStr(zaehler) + ': Sekunden';
end;

end;
Bin für jede Hilfe dankbar,

Max2621

wido 31. Mär 2008 20:46

Re: 2 Prozeduren gleichzeitig
 
Das Zauberwort heißt Multi Threading :).

Siehe dazu z.B. das empfehlenswerte Tutorial von Luckie:
http://www.michael-puff.de/Developer...mit_Delphi.pdf

Panthrax 31. Mär 2008 21:58

Re: 2 Prozeduren gleichzeitig
 
Das hier sollte dir helfen, eine Lösung zu finden:Tipp: Wenn du dir das Tutorial von Luckie zum Thema "Threads" ansiehst, schau' dir nur Kapitel 7 "Das VCL-Thread-Objekt" (Seiten 44 bis 48) an und versuche dann dein Problem zu lösen. Der andere Teil ist nur empfehlenswert, wenn du Hintergrundwissen im Allgemeinen brauchst oder willst. Schlussendlich solltest du bei einer Lösung ankommen, welche die TThread-Klasse verwendet. (Auch AsyncCalls macht das.) Das bleibt dann nämlich übersichtlich und einfach.

max2621 1. Apr 2008 17:12

Re: 2 Prozeduren gleichzeitig
 
Vielen Dank für Eure Hilöfe,
bin fleissig am lesen.

Euer Max2621


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:58 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