![]() |
Gauge Position ändern bei dem Upload einer Datei ?
Hallo
wie könnte ich ein Gauge für mein Upload einer Datei verbinden, damit ich wissen, ob die Datei schon erfolgreich hochgeladten wurde oder noch nicht ?
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var f: string; begin self.IdFTP1.Host := 'ftp.myweb.de'; self.IdFTP1.Username := 'user1'; self.IdFTP1.Password := 'passwort1'; Label1.Caption := 'Connecting...'; application.ProcessMessages; self.IdFTP1.Connect; f := 'C:\test.bmp'; if IdFTP1.Connected then begin application.ProcessMessages; self.IdFTP1.ChangeDir('/'); application.ProcessMessages; IdFTP1.Put(f, ExtractFileName(f)); application.ProcessMessages; end; end; |
Re: Gauge Position ändern bei dem Upload einer Datei ?
IdFTP.OnWorkBegin MaxValue des Gauges auf AWorkCountMax und IdFTP.OnWork Progress des Gauge auf AWorkCount setzen.
|
Re: Gauge Position ändern bei dem Upload einer Datei ?
die Streifen in geht ganz schnell obwohl ich eine grosse datei uploade
dann arbeitet das Programm in Hintergrund ohne ! bevor ich mit einem Gauge anfange, habe ich mit einem Progressbar getestet
Delphi-Quellcode:
Die Datei wird erfolgreich hochgeladen ausser eine Fehlermeldung am Ende :
procedure TForm1.IdFTP1WorkBegin(Sender: TObject; AWorkMode: TWorkMode;
const AWorkCountMax: Integer); begin ProgressBar1.Max := AWorkCountMax; // ProgressBar1.Position := 0; end; procedure TForm1.IdFTP1WorkEnd(Sender: TObject; AWorkMode: TWorkMode); begin ProgressBar1.Position := 0; label1.Caption:='OK'; end; procedure TForm1.IdFTP1Work(Sender: TObject; AWorkMode: TWorkMode; const AWorkCount: Integer); begin ProgressBar1.Position :=AWorkCount; end; Eigenschaft Progressbar außerhalb des gültigen Bereichs das 2. Problem label1.Caption:='OK'; nur wenn er fertig ist mit upload, das wird aber sofort angezeigt, wenn ich auf das Button anklicke ! |
Re: Gauge Position ändern bei dem Upload einer Datei ?
Und wenn Du die ProcessMessages-Aufrufe beim Button auskommentierst? IIRC benutzen die Indy-Komponenten Threads, daher wäre das ja doppelt gemoppelt.
|
Re: Gauge Position ändern bei dem Upload einer Datei ?
das grosse Problem, warum wird das Upload in Hintergrund gearbeitet aber das Formular friert sich!
Ich kann damit nicht machen, nur wenn das Programm mit dem Upload fertig ist ! |
Re: Gauge Position ändern bei dem Upload einer Datei ?
Dann pack mal eine IdAntiFreeze-Komponente dazu. Weiter kann ich Dir aber nicht helfen, da ich äußerst selten was mit Indy mache.
|
Re: Gauge Position ändern bei dem Upload einer Datei ?
@thomas: Oberste Regel: Ruhig bleiben. ;-) Du hast bereits mehrfach bewiesen, dass Du in der Lage bist, Deine Beiträge aussagekräftiger zu formulieren, wenn Du Dir ein wenig Mühe gibst.
|
Re: Gauge Position ändern bei dem Upload einer Datei ?
Liste der Anhänge anzeigen (Anzahl: 1)
Mit dem Komponent "IdAntifreeze" wird nun tatsächlich das Formular nicht gefroren
Das Problem nun ist das gauge geht sofort nach dem Klick auf 100% obwohl die Datei noch bei dem Hochladen sich befindet ! Woran liegt das vielleicht ?
Delphi-Quellcode:
procedure TForm1.IdFTP1Work(Sender: TObject; AWorkMode: TWorkMode;
const AWorkCount: Integer); begin //Gauge1.MaxValue := Response.ContentLength; Gauge1.Progress := AWorkCount; Gauge1.Update; Application.ProcessMessages; end; procedure TForm1.IdFTP1WorkBegin(Sender: TObject; AWorkMode: TWorkMode; const AWorkCountMax: Integer); begin Gauge1.MaxValue:=AWorkCountMax; end; procedure TForm1.BitBtn2Click(Sender: TObject); begin Gauge1.Visible:=true; IdFTP1.Host := 'ftp.xxxx.de'; IdFTP1.Username := 'xxxx'; IdFTP1.Password := 'xxxx'; IdFTP1.Connect; // IdFTP1.ChangeDir('/'); IdFTP1.put('C:\test.bmp','test.bmp',true); //IdFTP1.Quit; IdFTP1.Disconnect; end; |
Re: Gauge Position ändern bei dem Upload einer Datei ?
Dann setz doch einfach mal einen Breakpunkt in Zeile 6.
|
Re: Gauge Position ändern bei dem Upload einer Datei ?
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:
Das Gauge wird sofort mit 100% angezeigt |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:30 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz