Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Gauge (https://www.delphipraxis.net/158401-gauge.html)

xxsasch4xx 16. Feb 2011 10:59

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));

lbccaleb 16. Feb 2011 11:02

AW: Gauge
 
Gibt mehrere Lösungen. Eine währe:

Zitat:

Zitat von xxsasch4xx (Beitrag 1082117)
Delphi-Quellcode:
Progressbar1.Step := 1;
for i:= 1 to 100 do
begin
listbox1.items.add(inttostr(i));

Progressbar1.Stepit;

Das wird aber so schnell gehen, das du das mit dem Auge wohl nicht wahrnimmst :)
also baue event noch ein sleep ein.

Satty67 16. Feb 2011 11:04

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.

Bernhard Geyer 16. Feb 2011 11:13

AW: Gauge
 
Zitat:

Zitat von xxsasch4xx (Beitrag 1082117)
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.

Ist das nur ein Beispiel oder konkret das das schreiben in Listbox so langsam ist? ListBox.Items.BeginUpdate/EndUpdate würde bei Performanceprobleme helfen.

xxsasch4xx 16. Feb 2011 11:19

AW: Gauge
 
Nein das war nur ein Beispiel. Ich wollte jetzt nur wissen, wie man eine Gauge oder eine Progressbar ansteuert.

xxsasch4xx 16. Feb 2011 14:17

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.

DeddyH 16. Feb 2011 14:22

AW: Gauge
 
Dann schau doch mal in die Hilfe zu TProgressbar, insbesondere zu den Eigenschaften/Methoden Min, Max, Step, StepIt und Progress.

-Phantom- 16. Feb 2011 16:00

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:
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')
Man macht es aber nicht mit der "idHTTP" sondern mit "IdSMTP"

http://www.delphi-library.de/topic_P...n_10361,0.html

Hoffe ich konnte dir weiter helfen

Sir Rufo 16. Feb 2011 17:46

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

lbccaleb 18. Feb 2011 15:37

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