Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Eigener FTP-Client - Probleme mit Listbox HILFE (https://www.delphipraxis.net/66075-eigener-ftp-client-probleme-mit-listbox-hilfe.html)

fLeTCHeR 24. Mär 2006 10:58


Eigener FTP-Client - Probleme mit Listbox HILFE
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo Zusammen,

ich habe einen Bug in meinem Programm, den ich leider nicht fixen kann. Und zwar geht es um die listbox (lb_status), die mir die Logs vom FTP-Server anzeigt. Das Problem ist, das sie erst die Logs anzeigt, wenn der Transfer beendet ist, oder wenn zum Beispiel die Datei komplett hochgeladen ist. Ich hätte aber gerne, das er mir die einzelnen Schritte anzeigt.

Am Besten Ihr schaut euch das Prog mal an. Ich möchte das der die Logs anzeigt

Beispiel Download einer Datei: so sollte die Log aussehen.
Zitat:

Work Begin: 2122 KBytes (Größe der Datei);
Work Begin: 122 KBytes
Work Begin: 188 KBytes
Work Begin: 233 KBytes
Work Begin: 285 KBytes
Work Begin: 303 KBytes
...
Work End: 2122 Kbytes
Transfer complete
Vielen Dank für Eure Hilfe

Euer fLeTCHeR

PS: Das Programm dient einem Projekt in der Schule und bin noch nicht ganz fertig. Bitte dies zu berücksichtigen. Ich bin Anfänger und sehr offen und dankbar für Verbesserungen.
PPS: Noch ne Frage: Wie kann ich einer Listbox sagen. das sie automatisch den letzten Item anzeigt (scrollbar scrollt mit nach unten?)

marabu 24. Mär 2006 11:54

Re: Eigener FTP-Client - Probleme mit Listbox HILFE
 
Hallo Fletcher.

Diese Zeilen sollten dir in Verbindung mit der Delphi Online-Hilfe beide Fragen beantworten:

Delphi-Quellcode:
procedure TDemoForm.FTPWork(Sender: TObject; AWorkMode: TWorkMode;
  const AWorkCount: Integer);
var
  iVisible: Integer;
begin
  with ListBox do
  begin
    // wieviele Items sind maximal (auch teilweise) sichtbar? 
    iVisible := {Math.}Ceil(Height / ItemHeight);
    // neue Zeile mit Arbeitsfortschritt anfügen
    Items.Add(IntToStr(AWorkCount));
    // markiere das zuletzt aufgenommene Item
    ItemIndex := Pred(Count);
    // berechne erstes sichtbare Item (sogut wie scrollen)
    TopIndex := {Math.}Max(0, Count - iVisible);
  end;
end;
Grüße vom marabu

Edit: ein paar Kommentare für alle ohne Online-Hilfe...

fLeTCHeR 24. Mär 2006 12:11

Re: Eigener FTP-Client - Probleme mit Listbox HILFE
 
Vielen, vielen Dank @marabu

EDIT: Wollte keinen neuen Post machen aber jetzt hab ich ein weiteres Problem, und das versteh ich absolut nicht!!!!

Undzwar bekomm ich in dem Event

Delphi-Quellcode:
procedure FTPWorkBegin(ASender: TObject; AWorkMode: TWorkMode; const AWorkCountMax: Integer);
für AWorkCountMax jedesmal = 0 zugewiesen und ich versteh nicht wieso? Ich brauch diesen Wert um die Progressbar.max zusetzen.
Das kuriose ist, das hatt vorhin funktioniert? am server kann es auch nicht liegen, hab das mit mehreren getestet. immer dasselbe.

hat da vielleicht jemand eine Idee? braucht der eventuell ne spezielle unit um diesen wert zu übermitteln?


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