Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Problem mit Panel (https://www.delphipraxis.net/86394-problem-mit-panel.html)

KennyStylelezz 13. Feb 2007 16:03


Problem mit Panel
 
yo hallo,
wie der Titel schon sagt habe ich ein Problem, zum Thema Panel.

Fangen wir mal von Vorne an, ich soll über die Ferien ein Spiel programmieren und bin auch noch relativ unerfahren im
Umgang mit Delphi und sonstigen Programmiersprachen. Im Grunde geht es bei diesem Spiel darum, dass ein Panel eine anderes
treffen soll und dass man so Punkte bekommt, und genau da liegt das Problem.

Hier ist mein bisheriger "Fortschritt" mit der Prozedur:

Delphi-Quellcode:
procedure tform1.zaehlen;
begin
x:=0;
a:=1;
if ((panel2.left>=224) and (panel2.left<=272)
and (panel3.top>=0) and (panel3.top<=48))
then x:=a+x;
edit1.Text:=floattostr(x);
end;
und so ist sie dann eingebracht:
Delphi-Quellcode:
procedure TForm1.Button3Click(Sender: TObject);
begin
timer3.Enabled:=true;
zaehlen(panel2,panel3,x,a);
end;
kann mir bitte jmd. sagen warum das nich funkt?

ich bedanke mich schonmal im vorraus für jd. helfende Antwort

mfg

Klaus01 13. Feb 2007 16:11

Re: Problem mit Panel
 
Deine Procedure hat keine parameter.
Delphi-Quellcode:
procedure tform1.zaehlen;
So etwas in der Art:

Delphi-Quellcode:
procedure tform1.zaehlen(P1,P2:TPanel;x,a:Integer);
Grüße
Klaus

KennyStylelezz 13. Feb 2007 16:21

Re: Problem mit Panel
 
naja die Parameter sind ja schon in der Sparte "private" eingebracht:

Delphi-Quellcode:
private
    { Private-Deklarationen }
    procedure gameover (timer1, timer2, timer3, timer4: TTimer; y: integer;button2, button3: TButton);
    !!!procedure zaehlen (panel2, panel3: Tpanel;x,a:integer);!!!
    procedure nextlevel (timer1, timer2, timer3, timer4: TTimer;button2,button3: TButton);
  public

elundril 13. Feb 2007 18:18

Re: Problem mit Panel
 
hallo.

du musst die auch unten bei deiner procedure im quellcode hinschreiben die parameter.

gut wäre es auch noch wenn wir die fehlermeldungen wüssten die kommen.

lg el

KennyStylelezz 13. Feb 2007 19:27

Re: Problem mit Panel
 
ähhm...yo die parameter hab ich jez unten auch noch eingetragen, doch es geht immer noch nicht, das nächste Problem
ist das keine Fehlermeldung angezeigt wird.
Das Programm an sich läuft, bloß dieser verflixte Zähler nicht und Koordinaten hab ich auch schon mehrfach überprüft.

Gibt es nicht noch andere Möglichkeiten, das Zusammentreffen dieser 2 Panels als Bedingung schreiben???

Jowo 13. Feb 2007 19:31

Re: Problem mit Panel
 
Was macht denn eigentlich der timer3?

Und, was die anderen vergessen haben: Herzlich Willkommen in der Delphi-PRAXiS!

KennyStylelezz 13. Feb 2007 19:57

Re: Problem mit Panel
 
yo danke erstmal für die begrüßung,

der timer3 ist für die Bewegung des Panel3 zustänig.

PS: timer1&2 sind für das Panel2 und Timer 4 ist für eine "Uhr"

Jowo 14. Feb 2007 05:31

Re: Problem mit Panel
 
Guten Morgen.

Ich verstehe allerdings nicht, was deine Zählen-Procedure machen soll. Poste doch mal etwas mehr Quelltext.

mace 14. Feb 2007 09:15

Re: Problem mit Panel
 
Zitat:

Zitat von KennyStylelezz
yo hallo,
wie der Titel schon sagt habe ich ein Problem, zum Thema Panel.

Fangen wir mal von Vorne an, ich soll über die Ferien ein Spiel programmieren und bin auch noch relativ unerfahren im
Umgang mit Delphi und sonstigen Programmiersprachen. Im Grunde geht es bei diesem Spiel darum, dass ein Panel eine anderes
treffen soll und dass man so Punkte bekommt, und genau da liegt das Problem.

Hier ist mein bisheriger "Fortschritt" mit der Prozedur:

Delphi-Quellcode:
procedure tform1.zaehlen;
begin
x:=0;
a:=1;
if ((panel2.left>=224) and (panel2.left<=272)
and (panel3.top>=0) and (panel3.top<=48))
then x:=a+x;
[b]edit1.Text:=floattostr(x);[/b]
end;

Bist du dir sicher, dass du diese Anweisung immer durchgehen möchtest?
Vllt liegt da dein Problem?!

Wenn diese Anweisung mit von der Bedingung abhängig sein soll, muss nach dem THEN ein Block eingeleitet werden:


Delphi-Quellcode:
if ((panel2.left>=224) and (panel2.left<=272) and (panel3.top>=0) and (panel3.top<=48)) then
  begin
    x:=a+x;
    edit1.Text:=floattostr(x);
  end;
Hoffe ich konnte dir helfen. :)


Grüße..

KennyStylelezz 14. Feb 2007 21:51

Re: Problem mit Panel
 
@Jowo

die zählen Prozedur soll immer einen Punkt(in einem Edit-Feld) hochzählen wenn sich die beiden Panels berühren.

@mace

danke für die Antwort,
das zählen funktioniert erstmal, doch dadurch ist ein neues Problem entstanden.
x zählt solange um eins hoch, wie sich die panels berühren, aber ich möchte, dass es
immer nur einen Punkt pro Berührung hochzählt.

hat jmd. vielleicht ne Idee???

mfg


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:43 Uhr.
Seite 1 von 2  1 2      

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