AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

progress bar

Ein Thema von Timo · begonnen am 14. Dez 2002 · letzter Beitrag vom 14. Dez 2002
Antwort Antwort
Seite 1 von 2  1 2      
Timo

Registriert seit: 12. Dez 2002
Ort: Dortmund
50 Beiträge
 
Delphi 6 Enterprise
 
#1

progress bar

  Alt 14. Dez 2002, 14:50
hi!
wie benutze ich richtig eine progress bar?
wenn ein button gedrückt wird, wird ein prozess in gang gesetzt, der auch etwas länger dauern kann - in dieser zeit soll der status angezeigt werden!

danke schön!

Timo
  Mit Zitat antworten Zitat
Benutzerbild von nailor
nailor

Registriert seit: 12. Dez 2002
Ort: Karlsruhe
1.989 Beiträge
 
#2
  Alt 14. Dez 2002, 14:54
Ich weiss nicht, ob das die perekt lösung ist, aber ich hab das bis jetzt so gemacht.

angenommen, du löst mit dem button 100 mathmatische berechnungen aus. dann hab ich einfach nach jeder berechnung die .progress eigenschaft der progressbar um 1 erhöht.
Michael N.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#3
  Alt 14. Dez 2002, 15:05
Um was geht es denn genau?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Sebastian Nintemann
(Gast)

n/a Beiträge
 
#4
  Alt 14. Dez 2002, 15:10
Hallo, die Eigenschaft ist Position, nicht Progress (zumindest in D6). So wie Kalle es gemacht hat ist es wohl am sinnvollsten. Wenn du nicht zufälligerweise genau 100 Berechnungen hast dann setze die Eigenschaft Max auf die Anzahl deiner Berechnungen (bzw eine andere sinnvolle Zahl). Bei langen Schleifen kannst du ja auch nach jeden Block (der irgendwas Bestimmtes macht) erst die Progressbar aktualisieren und dann anzeigen was grad gemacht wird bzw was fertiggestellt wurde.

Gruß, Sebastian
  Mit Zitat antworten Zitat
Benutzerbild von nailor
nailor

Registriert seit: 12. Dez 2002
Ort: Karlsruhe
1.989 Beiträge
 
#5
  Alt 14. Dez 2002, 15:15
meinte ich doch

position
Michael N.
  Mit Zitat antworten Zitat
Timo

Registriert seit: 12. Dez 2002
Ort: Dortmund
50 Beiträge
 
Delphi 6 Enterprise
 
#6
  Alt 14. Dez 2002, 15:20
also wie genau erhöhe ich die stelle?

repeat bla bla bla
// hier soll er um 1 erhöhen - es werden 26 durchgänge gemacht
for i := 1 to length(eingabe) do
begin
bla bla bla
end;
until blablabla = 26;
begin
showmessage('Finished!!!');
end;

end;
greetz - Timo
  Mit Zitat antworten Zitat
Benutzerbild von nailor
nailor

Registriert seit: 12. Dez 2002
Ort: Karlsruhe
1.989 Beiträge
 
#7
  Alt 14. Dez 2002, 15:25
Delphi-Quellcode:
progressbar1.max := 26;
progressbar1.position := 0;
for i := 0 to 25 do
   begin
   //hier deine schöne rechnung
   progressbar1.position := inc(progressbar1.position);
   end;
Showmessage('Puh! Ich armer PC hab alles gerechnet');
Michael N.
  Mit Zitat antworten Zitat
Timo

Registriert seit: 12. Dez 2002
Ort: Dortmund
50 Beiträge
 
Delphi 6 Enterprise
 
#8
  Alt 14. Dez 2002, 15:32
danke schön!

das mit dem inc klappt nicht - einfach + 1 ... frag mich nicht warum!

gibt es eine site wo man solche sachen wie z.b. eine progress bar einbauen nachlesen kann? oder könnt ihr ein buch empfehlen? bin nämlich noch relativ ungeübt in delphi selbst und komme mit den radio buttons und so noch nicht so gut zurecht ...
greetz - Timo
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#9
  Alt 14. Dez 2002, 15:36
Um bei dem Beispiel zu bleiben: Im Objektinspektor Max auf 25 setzen, Step auf eins und in der Schleife immer Progressbar1.StepIt aufrufen - fertig.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#10
  Alt 14. Dez 2002, 15:47
Hier mal zwei Beispiel, weil heute samstag ist (und es mir beschissen geht):
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
  Progressbar1.Max := 26;
  Progressbar1.Min := 0;
  Progressbar1.Step := 1;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  i : Integer;
begin
  for i := 0 to 25 do
  begin
    Sleep(100);
    Progressbar1.StepIt;
    if Progressbar1.Position = Progressbar1.Max then
      Progressbar1.Position := 0;
  end;
end;

procedure TForm1.Button2Click(Sender: TObject);
var
  i : Integer;
begin
  for i := 0 to 25 do
  begin
    sleep(50);
    Progressbar1.Position := Progressbar1.Position+1;
    if Progressbar1.Position = Progressbar1.Max then
      Progressbar1.Position := 0;
  end;
end;
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 08: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