AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Pong, Erstellung einer Prozedur TForm1.FormResize
Thema durchsuchen
Ansicht
Themen-Optionen

Pong, Erstellung einer Prozedur TForm1.FormResize

Ein Thema von thomasku · begonnen am 22. Jan 2009 · letzter Beitrag vom 22. Jan 2009
Antwort Antwort
thomasku

Registriert seit: 4. Jan 2009
31 Beiträge
 
#1

Pong, Erstellung einer Prozedur TForm1.FormResize

  Alt 22. Jan 2009, 11:39
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.

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... )

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
Miniaturansicht angehängter Grafiken
pongii_125.jpg  
  Mit Zitat antworten Zitat
nuclearping

Registriert seit: 7. Jun 2008
708 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#2

Re: Pong

  Alt 22. Jan 2009, 11:50
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
  FormResize (Self);
end;

procedure TForm1.FormResize(Sender: TObject);
begin
  OnResize := nil;
  ...
  OnResize := FormResize;
end;
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: München
11.412 Beiträge
 
Delphi 11 Alexandria
 
#3

Re: Pong

  Alt 22. Jan 2009, 11:58
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!

......
Daniel W.
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
thomasku

Registriert seit: 4. Jan 2009
31 Beiträge
 
#4

Re: Pong

  Alt 22. Jan 2009, 12:26
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" () selbst schreiben?
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: München
11.412 Beiträge
 
Delphi 11 Alexandria
 
#5

Re: Pong

  Alt 22. Jan 2009, 13:32
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" () 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:Self.OnResize := FormResize; Die Methode selbst müsste weiterhin genauso aussehen (Parameter, Procedure, etc.).

......
Daniel W.
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
thomasku

Registriert seit: 4. Jan 2009
31 Beiträge
 
#6

Re: Pong

  Alt 22. Jan 2009, 13:43
Ah ok, vielen Dank nochmals.
Damit verstehe ich nun auch den 2 Beitrag!
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: München
11.412 Beiträge
 
Delphi 11 Alexandria
 
#7

Re: Pong

  Alt 22. Jan 2009, 13:46
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

......
Daniel W.
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
thomasku

Registriert seit: 4. Jan 2009
31 Beiträge
 
#8

Re: Pong

  Alt 22. Jan 2009, 14:04
Hehe
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
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: München
11.412 Beiträge
 
Delphi 11 Alexandria
 
#9

Re: Pong

  Alt 22. Jan 2009, 14:05
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

......
Daniel W.
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
Antwort Antwort


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 00:05 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