![]() |
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 |
Re: Statusformular????
Und was wolltest du, wenn nicht das?
|
Re: Statusformular????
Das kommt dem ja im Prinzip schon nahe.
In meinem Programm stelle ich am Anfang von OnShow eine Datenbankverbindung her, das dauert manchmal etwas, der Bildschirm bleibt demnach leer. Mancher User könnte dann denken das Programm hat sich aufgehangen. Aus dem Grund wollte ich einen kleine ProgressBar die immer hin und her läuft. Das mit den Steps ist ja im Prinzip auch nicht übel, aber wahrscheinlich gibt es auch noch elegantere Lösungen. Die Progressbar ist ja nur dazu da, um den User zu beschäftigen, sie muss nicht den Verbindungsaufbau darstellen. MfG schuetze09 |
Re: Statusformular????
Dann lass eine Animation laufen oder so was.
|
Re: Statusformular????
Und wie, wenn ich in meiner MainForm bei OnCreate die Datenbankverbindung herstelle???
Wenn ich da ein anderes Form mit einer Animation öffnen lasse, dann ist das ja wohl auch nicht ganz das, da die Animation und der Datenbankconnect ja nicht nebeneinander ablaufen, sondern immer eins nach dem andern. Oder verhstehe ich das falsch? MfG schuetze09 |
Re: Statusformular????
Zitat:
![]() |
Re: Statusformular????
Das ist ein wirklich gutes Tutorial (-:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:45 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