![]() |
Statusformular????
Hallo,
ich habe mir eine kleine Anwendung erstellt, zu beginn werden einige Programmparameter eingestellt und eine Verbindung zur Datenbank hergestellt. Dieser Vorgang dauert etwas. Um die Zeit zu überbrücken, wollte ich ein kleines Statusfenster mit einer ProgressBar einblenden, welche immer hin und her läuft (damit was zu sehen ist und der Benutzer nicht denkt, das sich das Prog aufgehangen hat). Nun meine Frage: Wie krieg ich das hin???? Ich hab es schon mit einem Thread probiert, denn ich in einer Anleitung gefunden habe, aber da ich noch nicht so viel Ahnung habe, hat's leider nicht funktioniert. Ich hoffe jemand hat ne Idee oder ein Beispiel dazu. MfG schuetze09 |
Re: Statusformular????
die Jedi Komponenten bieten dazu eine spezielle Komponente!
Schau doch mal da ! synonym |
Re: Statusformular????
such doch mal hier im forum nach splash screen
|
Re: Statusformular????
Danke für die Info´s, werde mich mal umschauen.
MfG schuetze09 |
Re: Statusformular????
So, ich habe mir mal die Themen zu Splash-Screens angesehen, ist ne feine Sache, jedoch nicht so 100%ig was ich wollte. Das mit so einem laufender Progressbar habe ich da nicht hinbekommen.
Der Splash-Screen ist ja nur da und tut nichts, aber auf dem wollte ich schon eine ProgressBar haben die dann über einen Timer läuft, also so:
Delphi-Quellcode:
die Progbar soll dann solange laufen bis im Hauptform bei OnCreate alles abgearbeitet ist, dann kann sich das frmSplash auch schließen....
procedure TfrmSplash.Timer1Timer(Sender: TObject);
var i: integer; begin i := ProgressBar1.Position; inc(i); if i > ProgressBar1.Max then i := 0; ProgressBar1.Position := i; end; hat jemand ne Idee??? MfG schuetze09 |
Re: Statusformular????
das kannst du doch in dem dpr file machen; hier ein Codeschnipsel aus einer anwendung die ich mal vor
Jahren erstellt habe. Hoffe damit kommst du weiter!
Code:
begin
Application.Initialize; try Application.Title := 'xx'; FormSplash := TFormSplash.Create(Application); FormSplash.Show; FormSplash.Gauge1.Progress := 20; sleep(50); FormSplash.Update; Application.CreateForm(TDMA, DMA); FormSplash.Gauge1.Progress := 30; sleep(200); FormSplash.Update; Application.CreateForm(TDMStoredProcs, DMStoredProcs); FormSplash.Gauge1.Progress := 40; sleep(200); FormSplash.Update; Application.CreateForm(TDMMail, DMMail); FormSplash.Gauge1.Progress := 50; sleep(200); FormSplash.Update; Application.CreateForm(TDM1, DM1); FormSplash.Gauge1.Progress := 60; sleep(200); FormSplash.Update; Application.CreateForm(TDMDruck, DMDruck); FormSplash.Gauge1.Progress := 70; sleep(50); FormSplash.Update; Application.CreateForm(TFormMain, FormMain); FormSplash.Gauge1.Progress := 80; FormSplash.Update; sleep(50); Application.CreateForm(TDMLesen, DMLesen); FormSplash.Gauge1.Progress := 85; FormSplash.Update; sleep(50); FormSplash.Gauge1.Progress := 90; FormSplash.Update; sleep(50); FormSplash.Gauge1.Progress := 95; finally FormSplash.Hide; FormSplash.Free; // Splashformular freigeben end; // try Application.run; end. |
Re: Statusformular????
Danke für den Tipp,
ist eine gute Idee. Werd ich ausprobieren. MfG schuetze09 |
Re: Statusformular????
Und mit den ganzen Sleeps bremnst du alles schön aus. Juchhei. Dann lieber ein schnell startendes Programm mit Aboutbox.
|
Re: Statusformular????
Stop ! Die sleeps sind peanuts ! Ist zwar auch nicht so die feine Art, das erfüllt aber schon seinen Zweck.
|
Re: Statusformular????
morgen,
also das Beispiel von DelphiDeveloper funktioniert zwar, spiegelt aber nicht so das wieder was ich eigentlich wollte, aber wenn´s halt nicht besser geht??? MfG schuetze09 |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:59 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz