AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Tutorials Delphi Tutorial: Splash Screens
Tutorial durchsuchen
Ansicht
Themen-Optionen

Tutorial: Splash Screens

Ein Tutorial von sakura · begonnen am 9. Sep 2003 · letzter Beitrag vom 31. Jan 2009
Antwort Antwort
Seite 5 von 10   « Erste     345 67     Letzte »    
Benutzerbild von sakura
sakura
Registriert seit: 10. Jun 2002
Hi DPler,

immer wieder kommt die Frage danach, wie Splash Screens bzw. "Startbildschirmen" gemacht werden können. Also, die Implementierung ist einfacher, als viele es glauben wollen.

Folgend meine zwei beliebtesten Methoden, Splash Screens zu implementieren.

Dabei ist die grundlegende Vorgehensweise immer identisch. Zum Üben einfach mal mitmachen und dann die präferierte Methode annehmen

Let's roll!

Delphi starten und eine neue Anwendung erstellen. Die Anwendung und das Hauptformular an gewünschter Stelle auf der Festplatte speichern. Anschließend im Objekt Inspektor dem Hauptformular einen beliebigen Namen geben. In den Bespielen heißt dieses frmMain. Damit wir bei unserer Super-Beispiel-Anwendung auch mal einen "vernünftigen" Grund für einen Splash-Screen erzwingen, folgenden Code in das OnCreate-Ereignis einfügen.

Delphi-Quellcode:
procedure TfrmMain.FormCreate(Sender: TObject);
begin
  Sleep(1500);
end;
Dann noch einen Button aufs Form werfen und folgenden Code in des OnClick-Ereignis einfügen.

Delphi-Quellcode:
procedure TfrmMain.btnBoahClick(Sender: TObject);
begin
  Close;
end;
Soweit die Vorbereitung auf Seiten des Hauptformulars. Jetzt gehts an den Splash Screen. Dazu erstellen wir ein neues Formular und speichern auch dieses. Als Namen im Objekt Inspektor bitte frmSplash eingeben (damit die Beispiele funktionieren). Ansonsten ist der natürlich auch frei wählbar.

Jetzt das Splash Formular nach belieben "stylen" und weiter gehts. Im folgenden Beispiel ist einfach ein hübsches Bildchen zu sehen

Weiter gehts. Folgend zu den beiden Standard-Methoden.
  • Der nächste Abschnitt erklärt, wie man das Splash-Form dazu bringt mind. 3 Sekunden zu bleiben und mindestens so lange, bis die Anwendung vollständig initialisiert wurde.
  • Der übernächste Abschnitt zeigt, wie der Splash Screen solange zu sehen ist, bis der User auf den "Starten" Schalter geklickt hat. Dieses kann er natürlich erst dann tun, wenn die Anwendung vollständig initialisiert ist.

Anschließend kommt der Teil im Projekt, welcher wieder identisch für alle Lösungen ist.

......
Ich bin nicht zurück, ich tue nur so
 
Benutzerbild von ArmyMan
ArmyMan
 
#41
  Alt 4. Aug 2004, 12:58
Hi

bei mir funktioniert der Splash screen nicht. :'(

Weiss nicht was ich falsch gemacht habe. Kann mir jemand helfen bitte!

Thx ArmyMan
Miniaturansicht angehängter Grafiken
error_192.jpg  
ArmyMan
  Mit Zitat antworten Zitat
Benutzerbild von ArmyMan
ArmyMan
 
#42
  Alt 4. Aug 2004, 13:04
Alles klar!

Hab meinen doofen fehler gefunden

ArmyMan
ArmyMan
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

 
Delphi 12 Athens
 
#43
  Alt 4. Aug 2004, 13:20
Zitat von ArmyMan:
Hab meinen doofen fehler gefunden
Der da war? Vielleicht hilft Deine Lsung auch wem andrs

......
Daniel Lizbeth
  Mit Zitat antworten Zitat
Benutzerbild von APP
APP

 
Delphi 7 Enterprise
 
#44
  Alt 4. Aug 2004, 13:44
Hallo,

ich benutzte diese tolle Tutorial auch als Grundlage für meinen Splash-Screen,
ich habe noch einen kleinen Vorschlag dazu:

Code:
begin
  frmSplash := TfrmSplash.Create(Application);
  try
[b]   frmSplash.InitializationDone := False; [/b]
    frmSplash.Show;
    frmSplash.Refresh;
    Application.Initialize;
    Application.CreateForm(TfrmMain, frmMain);
    // (1)
    // weitere Formulare und Datenmodule hier her verschieben (siehe 2)
  finally
    frmSplash.InitializationDone := True;
  end;
  // (2)
  // Standardmäßig erstellte Formulare wird Delphi hier eintragen
  // nach (1) verschieben !!! 
  Application.Run;
end.
Damit wird der Cursor zum Stundenglas und der Start-Button disabled.
Armin P. Pressler
  Mit Zitat antworten Zitat
Benutzerbild von DymonD
DymonD

 
Delphi 2005 Personal
 
#45
  Alt 23. Jan 2005, 13:54
Hi Sakura,
Also mit anderen Worten wird ein Form einfach nur angezeigt, bevor die Anwendung initialisiert wurde?

und @ canada:
Geiles Design!! Will das auch!!
Dimitri K.
  Mit Zitat antworten Zitat
Kernel32.DLL
 
#46
  Alt 23. Jan 2005, 13:58
Zitat von DymonD:
Hi Sakura,
Also mit anderen Worten wird ein Form einfach nur angezeigt, bevor die Anwendung initialisiert wurde?
Eigentlich nicht bevor, sondern während die übrigen Formulare geladen werden.
  Mit Zitat antworten Zitat
Benutzerbild von DymonD
DymonD

 
Delphi 2005 Personal
 
#47
  Alt 24. Jan 2005, 22:12

Verständnisfrage:
das bedeutet doch, ich kann auch so etwas machen:
Delphi-Quellcode:
begin
  frmSplash := TfrmSplash.Create(Application);
  frmSplash.Show;
  frmSplash.Refresh;
  Application.Initialize;
  Application.CreateForm(TfrmMain, frmMain);
  Application.Run;
  frmSplash.Close;
end.
(also ich meine wenn ich das erstmal ohne Timer mache)

Ich will halt nicht nur abschreiben, sondern auch nachvollziehen
Dimitri K.
  Mit Zitat antworten Zitat
Robert_G
 
#48
  Alt 24. Jan 2005, 22:37
Sagt mal Mädels...
Müsst ihr denn Miezes Tutorial so zumüllen?
Wenn ihr Fragen, Sorgen, Ängste,... habt könnt ihr doch in der DP in der passenden Sparte einen Thread aufmachen.
Dieses Tutorial-spamming ist zum Beispiel der Hauptgrnd dafür, dass ich noch keines verfasst habe.
(Und es auch nicht tun werde solange es hier Gang & Gebe ist Tutorials mit Fragen zuzumüllen. )
  Mit Zitat antworten Zitat
Benutzerbild von MagicAndre1981
MagicAndre1981

 
Delphi 7 Enterprise
 
#49
  Alt 24. Jan 2005, 22:38
Hi,

ich habe es so gemacht:

Delphi-Quellcode:
  SplashForm := TSplashForm.Create(Application);
  SplashForm.Show;
  SplashForm.Update;
  Application.Title := 'SBNBUCH 2004';
  Application.CreateForm(TSBN_Buch, SBN_Buch);
  Application.CreateForm(TDataModule_SBNBUCH, DataModule_SBNBUCH);
  .
  .
  .
  .
  SplashForm.Hide;
  SplashForm.Free;
  Application.Run;
Gruß

[Edit: Hi Robert_G. das war nicht meine Absicht ]
André
  Mit Zitat antworten Zitat
Kernel32.DLL
 
#50
  Alt 24. Jan 2005, 22:43
@DymonD

Jepp, so in etwa...

In der Delphi 5 Hilfe steht:
Delphi-Quellcode:
begin
  Application.Initialize;
  with TForm5.Create(nil) do
  try
    ProgressBar1.Max := 100;
    Show; // Startbildschirm mit ProgressBar anzeigen
    Update; // Anzeige von Form5 auslösen
    Application.CreateForm(TForm1, Form1);
    ProgressBar1.StepBy(25);
    Application.CreateForm(TForm2, Form2);
    ProgressBar1.StepBy(25);
    Application.CreateForm(TForm3, Form3);
    ProgressBar1.StepBy(25);
    Application.CreateForm(TForm4, Form4);

    ProgressBar1.StepBy(25);
  finally
    Free;
  end;
  Application.Run;
end.


[Edit]Ups, Robert's Wutanfall zu spät gesehen...[/Edit]
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 5 von 10   « Erste     345 67     Letzte »    


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 01:43 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