Autor |
Beitrag |
110022
      
Beiträge: 287
XP SP2
Delphi 7
|
Verfasst: Mo 08.10.07 14:27
wie kann kann ich einen prozentbalken bei knopfdruck iim 30 sek takt um 1% steigen lassen
und wenn 100% erreicht sind wird ein text angezeigt.
bitte gesamten quelltext zeigen.
wie bau ich hier noch den timer ein?(bin nochn anfänger)ps:bin 14
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15:
| begin
ProgressBar1.Max := 99;
for lIx := 0 to ProgressBar1.Max do begin
ProgressBar1.Position := lIx;
Application.ProcessMessages;
end;
end;
end. |
da kommt ne fehlermeldung
Delphi-Quelltext 1: 2:
| begin Timer1.Enabled := False; <---------Record, Objekt oder Klassentyp erforderlich |
was muss ich machen?
Moderiert von Gausi: Delphi-Tags hinzugefügt
Zuletzt bearbeitet von 110022 am Mo 08.10.07 15:12, insgesamt 3-mal bearbeitet
|
|
Gausi
      
Beiträge: 8548
Erhaltene Danke: 477
Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
|
Verfasst: Mo 08.10.07 14:34
Hallo und  in der Entwickler-Ecke!
Schön, dass du die Edit-Funktion gefunden ist, nur leider sieht man jetzt die Frage nicht mehr  Edit: Ah..., jetzt ist sie wieder da, dafür der Code wieder wech
Wenn das mit den "alle 30 Sekunden" noch aktuell ist, dann solltest du dir mal die Timer-Komponente (unter System) angucken. Diesen Timer kannst du dann per Buttonklick starten, das Intervall auf 30.000 stellen und deinen Code im OnTimer-Event ausführen.
_________________ We are, we were and will not be.
|
|
Alpha_Wolf
      
Beiträge: 297
Ubuntu, Win XP, Win Vista
C#, Delphi 6 Prof, Delphi 2007 Prof, Java
|
Verfasst: Mo 08.10.07 14:37
Wie Gausi schon gesagt hat benötigst du den Timer..
und hier noch eine kleine Anregung.. (aus dem Kopf heraus also keine Garantie für Funktionalität)
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7:
| begin ProgressBar1.Max := 99; for lIx := 0 to ProgressBar1.Max do begin ProgressBar1.Position := lIx; Application.ProcessMessages; end; end; |
Damit man aber auch was von dem Progress sieht sollte man mit
Delphi-Quelltext 1:
| Application.ProcessMessages |
die Anzeige aktualisieren.
EDIT1:
Peinlich ^^ sorry Gausi.. bin wohl noch nicht ganz ausm Wochenende 
_________________ Diskutiere nie mit einem Irren - er zieht dich auf sein Niveau und schlägt dich mit seiner Erfahrung.
Zuletzt bearbeitet von Alpha_Wolf am Mo 08.10.07 14:51, insgesamt 4-mal bearbeitet
|
|
Gausi
      
Beiträge: 8548
Erhaltene Danke: 477
Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
|
Verfasst: Mo 08.10.07 14:41
Eine VCL-Komponente in einem Thread aktualisieren? Sehr interessanter Ansatz.
Timer auf 30 Sekunden, im OnTimer Position um 1 erhöhen, wenn 100 dann Showtext, fertig. Da braucht man weder Application-ProcessMessages noch Threads für.
_________________ We are, we were and will not be.
|
|
Alpha_Wolf
      
Beiträge: 297
Ubuntu, Win XP, Win Vista
C#, Delphi 6 Prof, Delphi 2007 Prof, Java
|
Verfasst: Mo 08.10.07 14:51
EDIT2 siehe voriges Post...:
Wobei, hab mir doch dabei was gedacht.. ich meine nicht die ProgressBar sondern den Timer mit dem Vorgang auszulagern.. der extra Thread müsste sich doch nur mit dem Hauptthread synchronisieren.. (heisst doch irgendwie synchronized, oder so) und so greift der Thread nur kurz nach 30. sekunden auf die Form zu und aktualisiert die Progressbar und sonst nicht oder? Ach egal.. ich glaub ich bin ruhig *g*
_________________ Diskutiere nie mit einem Irren - er zieht dich auf sein Niveau und schlägt dich mit seiner Erfahrung.
|
|
Gausi
      
Beiträge: 8548
Erhaltene Danke: 477
Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
|
Verfasst: Mo 08.10.07 15:01
Bezugnehmend auf das erneute Edit im ersten Beitrag:
Erstmal: Den Code vom bösen Wolf mal ganz schnell vergessen. Der is noch im Wochenende.
Dann packst du nen Timer auf die Form, und stellst das Interval auf 30.000. Im OnTimer-Event des Timers schreibst du dann
Delphi-Quelltext 1: 2: 3: 4: 5: 6:
| Progressbar1.Position := Progressbar1.Position + 1;
if Progressbar1.Position = 100 then
begin
Timer1.Enabled := False; Showmessage('Fertig');
end; |
_________________ We are, we were and will not be.
|
|
Alpha_Wolf
      
Beiträge: 297
Ubuntu, Win XP, Win Vista
C#, Delphi 6 Prof, Delphi 2007 Prof, Java
|
Verfasst: Mo 08.10.07 16:00
 ich und böse
War nur als Anregung gedacht.. dein Code funktioniert natürlich, wollte ihm doch nicht alles vorkaun 
_________________ Diskutiere nie mit einem Irren - er zieht dich auf sein Niveau und schlägt dich mit seiner Erfahrung.
|
|
Gausi
      
Beiträge: 8548
Erhaltene Danke: 477
Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
|
Verfasst: Mo 08.10.07 16:08
110022: Es bringt nichts, wenn du immer wieder deinen ersten Beitrag editierst. Wenn du eine Nachfrage hast, dann antworte hier bitte. Dann können diejenigen, die das Topic noch nicht gelesen haben, mit dem ganzen auch was anfangen. Danke. 
_________________ We are, we were and will not be.
|
|