Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Pong, Erstellung einer Prozedur TForm1.FormResize (https://www.delphipraxis.net/127988-pong-erstellung-einer-prozedur-tform1-formresize.html)

thomasku 22. Jan 2009 11:39


Pong, Erstellung einer Prozedur TForm1.FormResize
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo an alle,

vor ab möchte ich gleich sagen das ich schon gegoogelt habe und auch an der ein oder andern Stelle ein bisschen gestohlen habe. :oops:

Meine Anfänge halten sich stark an folgenden Thread:
http://www.delphipraxis.net/internal...highlight=pong

Meine erste Frage ist, in den meisten Programmen gibt es eine Fkt FormResize.
Ist das eine Komponente von Delphi?
Die Hilfe sagt mir das ich diese Fkt zwar aufrufen kann allerdings kann ich keine komplette Prozedur damit erstellen.
Hier (meine derzeit) mögliche Variante:
(Habe im gesamten keine Umbenennung der Variabeln vorgenommen)
procedure TForm1.FormCreate(Sender: TObject);
begin
Resize;
end;

Allerdings (siehe Link):
procedure TForm1.FormResize(Sender: TObject);
begin
...
end;

Wird nicht anerkannt. Fehler Meldung schon beim Namen der Prozedur.
Wenn ich probiere mir selbstständig eine Prozedur zu definieren werden, darin die verwendeten Komponenten nicht gefunden.

Procedure mResize();
Begin
Shape1.left:=Shape1.left+1;
end;
(Ich denke das liegt daran das die Form hier nicht übergeben wird, allerdings bei Übergabe bekomme ich die andere Fehlermeldung... :wall: )

Mein Programm sieht ähnlich aus wie der erste Quelltext im geposteten Link.
(Von diesem Rechner aus ist es mir leider nicht möglich den Text anzuhängen, würde dies nach den Mittagessen dann nachholen.)
Anbei noch ein Screen.

//Edit Titel geändert

nuclearping 22. Jan 2009 11:50

Re: Pong
 
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
  FormResize (Self);
end;

procedure TForm1.FormResize(Sender: TObject);
begin
  OnResize := nil;
  ...
  OnResize := FormResize;
end;

sakura 22. Jan 2009 11:58

Re: Pong
 
Lösche zuerst Deine FormResize Methode. Evtl. Code in die Zwischenablage kopieren.

Gehe in den Form-Designer Deiner IDE, öffne das Form und stelle sicher, dass Dein Form ausgewählt ist, nicht eine der sich darauf befindenden Komponenten. Dann gehst Du im Objekt Inspector (F11) auf den Reiter Ereignisse und führst einen Doppelklick beim Eintrag OnResize aus. Und schon hast Du eine korrekt formatierte und(!) verknüpfte FormResize-Methode, Code rein, fertig!

...:cat:...

thomasku 22. Jan 2009 12:26

Re: Pong
 
Hallo vielen Dank für eure schnellen Antworten.

@Nuclearping bei deiner Methode bekomme ich folgendes:

procedure TForm1.FormCreate(Sender: TObject);
begin
FormResize(Self); // [Fehler] pong.pas(72): Undefinierter Bezeichner: 'FormResize'
Timer1.Enabled := False;
end;
procedure TForm1.FormResize(Sender: TObject);
begin
OnResize := nil;

OnResize := FormResize;
end;

@Sakura vielen Dank auf diese Weise hat es funktioniert!
Könntest du Bitte noch Erklären warum ich diese so aufrufen muss(soll) und nicht "einfach" (:-D) selbst schreiben?

sakura 22. Jan 2009 13:32

Re: Pong
 
Zitat:

Zitat von thomasku
@Sakura vielen Dank auf diese Weise hat es funktioniert!
Könntest du Bitte noch Erklären warum ich diese so aufrufen muss(soll) und nicht "einfach" (:-D) selbst schreiben?

Na klar. Du kannst es generell auch von Hand deklarieren, allerdings ist die Existenz einer Methode kein Grund dass diese auch aufgerufen wird, Du könntest die Methode ja auch anders benennen.

Wenn Du die Methode über den OI deklarierst, dann trägt dieser diese auch für dieses Ereignis ein (verknüpft diese). Wenn Du dass von Hand machen würdest, dann müsstest Du (z.B. bei OnCreate) folgendes schreiben:
Delphi-Quellcode:
Self.OnResize := FormResize;
Die Methode selbst müsste weiterhin genauso aussehen (Parameter, Procedure, etc.).

...:cat:...

thomasku 22. Jan 2009 13:43

Re: Pong
 
Ah ok, vielen Dank nochmals.
Damit verstehe ich nun auch den 2 Beitrag!

sakura 22. Jan 2009 13:46

Re: Pong
 
Zitat:

Zitat von thomasku
Ah ok, vielen Dank nochmals.
Damit verstehe ich nun auch den 2 Beitrag!

:)

Dann sei doch noch so lieb und drücke den süßen Knopf da oben rechts ;) http://www.delphipraxis.net/template...t_answered.gif

...:cat:...

thomasku 22. Jan 2009 14:04

Re: Pong
 
Hehe :P
Ich gehe stark davon aus, dass dies nicht mein letztes Problem dabei ist, daher habe ich noch es noch nicht abgeschlossen.
Werde dies aber am Ende erledigen. (Versprochen)
Lg

sakura 22. Jan 2009 14:05

Re: Pong
 
Zitat:

Zitat von thomasku
Ich gehe stark davon aus, dass dies nicht mein letztes Problem dabei ist, daher habe ich noch es noch nicht abgeschlossen.

Kann ich aber verstehen, nur leider mögen wir es hier, wenn es pro Thread nur ein Problem gibt :mrgreen:

...:cat:...


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:38 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