Autor Beitrag
klausiemausie
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 98

Win XP, Win Vista Ultimate
Delphi 6
BeitragVerfasst: Mi 04.02.09 00:28 
Ich habe folgendes Problem,
ich habe ein Spiel programmiert, und habe nun nachdem ich fertig bin mir überlegt noch einen Startbildschirm zu erstellen. hab ich gemacht mit einer neuen form.
auf dieser form wird der name von spieler 1 und 2 eingetragen, per klick auf den button "start" sollen nun die namen als stringvariable eingelesen werden, was nich das problem ist, und das programm gestartet werden, also die form 1 aufgerufen werden. wie bekomm ich das hin, dass zu erst nur diese form angezeigt wird, und dann per klick auf den button die eigentliche hauptform erscheint?
danke im vorraus
gruss klaus
freedy
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 403
Erhaltene Danke: 1

Winows 7
Delphi XE
BeitragVerfasst: Mi 04.02.09 00:33 
Hallo Klaus,

es gibt verschiedene Wege. Am schnellsten dürfte es gehen, wenn du dein Hauptformular "Visible := false" setzt. Erst wenn das Spiel gestartet wird, machst du es sichtbar. Dies kann direkt im Designer eingestellt werden. Ist das Spiel beendet, machst du es wieder unsichtbar. Das ist nicht besonders elegant, sollte aber zu dem führen, was du dir vorstellst.

Grüße,
Michael
Jens Hartmann
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 120

XP
Delphi
BeitragVerfasst: Mi 04.02.09 00:37 
Hallo erstmal,

Ich habe sowas mit einer Lizenzabfrage gelößt.

Du mußt die Einbindung in der Projektdatei einfügen.

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
         

begin
   TStart := TTStart.Create(Application);
             case TStart.ShowModal of mrOk: 
                 begin
                   Application.CreateForm(TForm1, Form1);
                   Application.Run;
                 end;


MFG

Jens
Jens Hartmann
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 120

XP
Delphi
BeitragVerfasst: Mi 04.02.09 00:41 
Ach so,

Du kannst natürlich mit:

ausblenden Delphi-Quelltext
1:
if Start.ShowModal = mrOK then					


arbeiten. Die Case Anweisung war noch von meiner Lizenzabfrage.

Gruß

Jens
klausiemausie Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 98

Win XP, Win Vista Ultimate
Delphi 6
BeitragVerfasst: Mi 04.02.09 00:51 
für TStart setze ich dann meine form ein? also in meinem Fall TForm37? weil wenn ich das so mache funktioniert das nicht, [Error] Project2.dpr(47): Left side cannot be assigned to, bekomme ich als fehlermeldung
klausiemausie Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 98

Win XP, Win Vista Ultimate
Delphi 6
BeitragVerfasst: Mi 04.02.09 00:54 
hat sich erledigt, ich habe einen anderen Weg gefunden, ich verschiebe in der projektdatei einfach die create von der entsprechenden form ganz nach oben, trotzdem danke
gruss klaus
Jens Hartmann
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 120

XP
Delphi
BeitragVerfasst: Fr 06.02.09 08:08 
Nein, Du musst natürlich als erstes die Form TStart.Create und nachher die if-Abfrage durchführen.

Habe momentan mein Codes nicht hier, werde dir heute Nachmittag mal die komplette Projektdatei einstellen.

MFG

Jens
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19321
Erhaltene Danke: 1748

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Fr 06.02.09 16:00 
user profile iconklausiemausie hat folgendes geschrieben Zum zitierten Posting springen:
für TStart setze ich dann meine form ein? also in meinem Fall TForm37? weil wenn ich das so mache funktioniert das nicht, [Error] Project2.dpr(47): Left side cannot be assigned to, bekomme ich als fehlermeldung
Das liegt daran, dass die Benennung in dem Beispiel nicht standardkonform ist.

So kann man das nicht so einfach überblicken. Deshalb sollte man sich an die Benennungsstandards ja auch halten. (Typbezeichner bekommen ein T vorgestellt, Variablen natürlich nicht.)

user profile iconJens Hartmann hat folgendes geschrieben Zum zitierten Posting springen:
ausblenden Delphi-Quelltext
1:
2:
begin
   TStart := TTStart.Create(Application);
TStart ist hier kein Typ sondern die Variable vom Typ TTStart. :shock:

TStart wäre bei dir also Form37 und TTStart TForm37. ;-)

Zudem müsstest du das Formular aus den automatisch erzeugten herausnehmen.
Jens Hartmann
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 120

XP
Delphi
BeitragVerfasst: Fr 06.02.09 18:27 
Sorry,

ja ich weiß, meine Benennung in meinem Beispiel ist nicht Standartkonform. Ich habe die aus meinem Programm kopiert.

Da fehlt mir leider auch manchmal noch das nötige wissen.

Ich hoffe trotzdem das meine Hilfe irgendwo weitergeholfen hat.

MFG

Jens


PS. Ich versuche natürlich auch so gut wie möglich zu helfen, da mir hier und bei DP auch immer geholfen wird.

Ud ich denke der Ansatz war schon ganz OK.
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19321
Erhaltene Danke: 1748

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Fr 06.02.09 19:00 
user profile iconJens Hartmann hat folgendes geschrieben Zum zitierten Posting springen:
ja ich weiß, meine Benennung in meinem Beispiel ist nicht Standartkonform. Ich habe die aus meinem Programm kopiert.

Da fehlt mir leider auch manchmal noch das nötige wissen.
Schau mal hier, es gibt einen Styleguide, nach dem du dich richten kannst:
www.delphi-treff.de/delphi-styleguide/
(Du warst das ja glaube ich mit dem "little English"? ;-) Deshalb ist diese deutsche Variante wohl am besten geeignet statt dem englischen Original.)

user profile iconJens Hartmann hat folgendes geschrieben Zum zitierten Posting springen:
Ud ich denke der Ansatz war schon ganz OK.
Sicher, die Benennung hat ja nur für etwas Verwirrung gesorgt. ;-)
Jens Hartmann
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 120

XP
Delphi
BeitragVerfasst: Fr 06.02.09 19:29 
Alles klar,

werde das gleich mal durcharbeiten und-->

jawohl ich war der mit dem little Englisch. Wird aber von Tag zu Tag besser.

MFG

Jens