Gauge
Ich habe ein Programm geschrieben, in dem 100 Zahlen in eine Listbox geschrieben werden. Von 1 bis 100.
Ich will den Vorgang jetzt mit einer Gauge oder einer Prozess bar verknüpfen also dass dann automatisch der Fortschritt angezeigt wird. Wie kann ich das machen? Also in meinem Button steht folgender Code für die Listbox:
Delphi-Quellcode:
for i:= 1 to 100 do
begin listbox1.items.add(inttostr(i)); |
AW: Gauge
Gibt mehrere Lösungen. Eine währe:
Zitat:
also baue event noch ein sleep ein. |
AW: Gauge
Wobei beim gauge es dann
Delphi-Quellcode:
.
Gauge1.Progress := i;
wäre. Im Gegensatz zur Progressbar könnte es auch sein, dass das Gauge unter Last nicht aktualisiert (neuzeichnet), hab' ich jetzt nicht getestet. |
AW: Gauge
Zitat:
|
AW: Gauge
Nein das war nur ein Beispiel. Ich wollte jetzt nur wissen, wie man eine Gauge oder eine Progressbar ansteuert.
|
AW: Gauge
Ich will das aber in meinem E-Mail Programm benutzen und da will ich, dass der Fortschritt so angezeigt wird wie bei einem Setup wo man so einen Lade Balken hat der am Schluss aufgefüllt ist.
Ich schicke z.B. dann 20 Rundmails auf einmal und dann hängt beim Delphi sich immer auf und ich kann solang nichts anderes mehr machen. Dann will ich wenigstens dass angezeigt wird wie lang es noch ungefähr dauert. Wisst ihr wie ich es meine? Dann muss ich das anders machen als da oben beschrieben. Ich will, dass immer 100% von der Gauge oder der Prozess bar am ende ausgefüllt sind so ähnlich wie bei einem Setup. |
AW: Gauge
Dann schau doch mal in die Hilfe zu TProgressbar, insbesondere zu den Eigenschaften/Methoden Min, Max, Step, StepIt und Progress.
|
AW: Gauge
Wie versickst du die E-mails den? Mit der Indy-Komponente? Wenn ja haben diese Indy Komponenten ( meistens ) das Event "Workbegin", "Work" und "Endwork" ...
So hab ich das dann gemacht
Delphi-Quellcode:
Man macht es aber nicht mit der "idHTTP" sondern mit "IdSMTP"
procedure TForm1.IdHTTP1Work(Sender: TObject; AWorkMode: TWorkMode;
const AWorkCount: Integer); begin progressbar1.Position := AworkCount; end; procedure TForm1.IdHTTP1WorkBegin(Sender: TObject; AWorkMode: TWorkMode; const AWorkCountMax: Integer); begin Progressbar1.Max := AworkCountmax; end; procedure TForm1.IdHTTP1WorkEnd(Sender: TObject; AWorkMode: TWorkMode); begin Progressbar1.Position := 100; Showmessage('emails wurden verschick') http://www.delphi-library.de/topic_P...n_10361,0.html Hoffe ich konnte dir weiter helfen |
AW: Gauge
Oder wenn du die problemlos verschicken willst, dann mit Synapse versenden.
Das Versenden selber lagert man ja auch in einen Thread aus. Zu beiden Themen gab es erst vor kurzem ein paar Posts, die SuFu hilft |
AW: Gauge
Vllt musst du nen bissel mehr deines Codes zeigen, damit man dir helfen kann, den Fehler zu finden der dafür Schuld ist, dass sich dein Programm aufhängt.
Oder ist das Problem mitlerweile gelöst? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:09 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