Ik wil graag dat er bij het starten van een programma een form2 (oid) voor het staandaard form1 opspringt waarin ik ook plaatjes en eigen tekst kan zetten.
Hoe moet/kan dit?
Hoe moet/kan dit?
1
2
3
4
5
6
7
8
9
10
| var nieuwform: TForm; begin nieuwform := TForm.Create(nil); nieuwform.Caption := 'Hallo, ik ben een nieuw form ;)'; nieuwform.FormStyle := fsStayOnTop; nieuwform.Position := poMainFormCenter; nieuwform.Show; end; |
In de Help van Delphi staat een heel goed voorbeeld, zoek maar ff.Op zondag 09 september 2001 02:49 schreef Rummbler het volgende:
Een 'Splash' heet dat geloof ik...
Kan op meerdere manieren.
Verzin iets leuks!
"The shell stopped unexpectedly and Explorer.exe was restarted."
OK!Op zondag 09 september 2001 11:06 schreef jelmervos het volgende:
[..]
In de Help van Delphi staat een heel goed voorbeeld, zoek maar ff.
'people say I'm a drinker, but I'm sober half the time' - Mick Jagger | mail: freddifish_AT_gmx.net
Dat probeerde ik dus ook:Op zondag 09 september 2001 19:43 schreef douweh het volgende:
Ligt t aan mij of wordt er enorm moeilijk gedaan...
Je kan toch gewoon een nieuw form designen..
Form2,
en dan doen Form2.ShowModal; als je m wil tonen..??
Maar ik had dus wat gekloot: met new, en dan form; maar dan komt er ook meteen een nieuwe unit. Die unit heb ik geused in Unit1 van Form1 ("uses unit2" dus). Verder nog een frame en 2 andere units, die moeten dus eigenlijk even uit het project worden verwijderd, maar hoe doe je dat?
Verwijderd
Ik edit de dpr-file altijd even, gewoon weghalen onder 'uses'.Verder nog een frame en 2 andere units, die moeten dus eigenlijk even uit het project worden verwijderd, maar hoe doe je dat?
1
2
3
4
5
6
7
| With TForm2.Create(Self) do begin try ShowModal; finally Free; end; |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
| program Project1;
uses
Forms,
Unit1 in 'Unit1.pas' {Form1},
Unit2 in 'Unit2.pas' {Form2};
{$R *.res}
begin
Application.Initialize;
Application.Title := 'Demo';
Form2 := TForm2.Create(nil);
Form2.Show;
Application.CreateForm(TForm1, Form1);
Form2.Free;
Application.Run;
end. |
1
2
3
4
5
6
7
8
9
10
11
| procedure Startup (aangeroepen in FormCreate van mainform) var S:TwSplash; // kan je gewoon in Delphi designen begin S:=TwSplash.Create(nil); S.Show; S.Update; //initializeren van je progje S.Destroy end; |
Siditamentis astuentis pactum.
Cogito Ergo Credo
Dell XPS 17 Intel i7 2630 Nvidia GT555 3Gb Hd1: OCZ Vertex 2 SSD 60 GB Hd2: 500Gb
busy waiting... bah! Dat kun je netjes afhandelen met een timertje. Dat busy waiting werd vaak toegepast bij oude tetris spelletje... moet je die nu eens spelen op een PIII 800mhz!!!. Bovendien kost dit alleen maar tijd, terwijl een splash bedoeld is om de gebruiker vast wat te laten zien als het proggie laadt.Op dinsdag 11 september 2001 08:23 schreef jopiek het volgende:
code:
1 2 3 4 5 6 7 8 9[..] k := 0; while k < 50000 do //een tijdje open laten begin if k mod 10 = 0 then application.ProcessMessages; //anders lijkt programma bevroeren inc(k); end; [..]
simple isn't it!
Localhost, sweet localhost
Inderdaad, ik heb ook al gelezen dat je dus geen delay(x) meer moet gebruiken, maar een windows-timer.Op dinsdag 11 september 2001 13:33 schreef kvdveer het volgende:
[..]
busy waiting... bah! Dat kun je netjes afhandelen met een timertje. Dat busy waiting werd vaak toegepast bij oude tetris spelletje... moet je die nu eens spelen op een PIII 800mhz!!!. Bovendien kost dit alleen maar tijd, terwijl een splash bedoeld is om de gebruiker vast wat te laten zien als het proggie laadt.
Gewoon een timertje op een seconde zetten, en als 'ie af gaat even je splash sluiten en destroyen.
en die timertjes zijn net zo onnauwkeurig en werken ook niet op seconden (tenminste de standfaar die bij delphi komt) je kunt betere timers downloaden op torry en delphi super page.Op dinsdag 11 september 2001 13:33 schreef kvdveer het volgende:
[..]
busy waiting... bah! Dat kun je netjes afhandelen met een timertje. Dat busy waiting werd vaak toegepast bij oude tetris spelletje... moet je die nu eens spelen op een PIII 800mhz!!!. Bovendien kost dit alleen maar tijd, terwijl een splash bedoeld is om de gebruiker vast wat te laten zien als het proggie laadt.
Gewoon een timertje op een seconde zetten, en als 'ie af gaat even je splash sluiten en destroyen.
Cogito Ergo Credo
1
2
3
4
5
6
7
8
9
10
11
12
13
| program blaat blaat
{enz.}
begin
with TSplashScreen.Create(nil) do begin
Show;
Application.Initialize;
Application.CreateForm(Form1, TForm1);
Free;
Application.Run;
end;
end; |
TTimer uit delphi heeft een nauwkeurigheid van 55 ms is echt wel genoeg om een formpie te laten zien hoor...en die timertjes zijn net zo onnauwkeurig en werken ook niet op seconden (tenminste de standfaar die bij delphi komt)