![]() |
Undefinierter Bezeichner
Hallo, für Delphi sind die Ausdrücke Left und Top undefinierte Bezeichner.
Meine Frage, wieso das so ist?
Delphi-Quellcode:
Bitte um schnelle Antwort :)
procedure TForm1.TiRaumschiffTimer(Sender: TObject);
begin FOR r:=1 TO number DO begin IF Raumschiff[r] <> nil THEN begin Raumschiff[r].GoRight; ShRaumschiff[r].Top := Raumschiff[r].yCoord; If (abs (Kugel[i].Left-Raumschiff[r].Left)<1) and (abs (Kugel[i].Top-Raumschiff[r].Top)<1) Then Begin Raumschiff[r].Destroy; Abgeschossen := Abgeschossen+1; RaumschiffGo; NeuesRaumschiff; end; end; end; LaRaumschiffe.caption := inttostr(Abgeschossen); end; Gruß Timo |
Re: Undefinierter Bezeichner
WQelche Typen haben die Arrays Kugel[] und Raumschiff[]?
|
Re: Undefinierter Bezeichner
Das sind eigene Klassen, TKugel und TRaumschiff. ;)
|
Re: Undefinierter Bezeichner
Und von was sind die abgeleitet bzw. wie sind die deklariert?
|
Re: Undefinierter Bezeichner
Delphi-Quellcode:
Kugel:Array[1..10000] of TKugel;
ShKugel:Array[1..10000] of TShape; Raumschiff:Array[1..10000] of TRaumschiff; ShRaumschiff:Array[1..10000] of TShape; |
Re: Undefinierter Bezeichner
Und die Klassen? (Denn das ist ja das Interessante :zwinker: )
|
Re: Undefinierter Bezeichner
Ich verstehe deine Frage leider nicht :(
|
Re: Undefinierter Bezeichner
Wie sind die Klassen Traumschiff und TKugel deklariert und von was sind diese abgeleitet?
|
Re: Undefinierter Bezeichner
Meinst du vielleicht, dass sie in einer eigenen Unit sind ? :?
|
Re: Undefinierter Bezeichner
Nein ich will wissen, wie diese deklariert sind!
type TKugel = ??? ??? end; |
Re: Undefinierter Bezeichner
Zitat:
|
Re: Undefinierter Bezeichner
Sorry :D
Bin einfach zu blöd :D Ich weiß nicht, was du wissen willst... Vielleicht, dass es eigene Klassen sind ? |
Re: Undefinierter Bezeichner
Poste mal die Unit(s) der Klassen
|
Re: Undefinierter Bezeichner
Delphi-Quellcode:
unit mtRaumschiff;
interface type TRaumschiff = class public x:integer; y:integer; vx:integer; constructor Create; property xCoord:integer read x write x; property yCoord:integer read y write y; function getY:integer; function getX:integer; procedure GoRight; end; implementation constructor TRaumschiff.Create; begin x := -50; vx := Random(7)+5; y := Random(60)+5; end; function TRaumschiff.getX:integer; begin x := x+vx; result := x; end; function TRaumschiff.getY:integer; begin result := y; end; procedure TRaumschiff.GoRight; begin xCoord := xCoord + 10; end; end.
Delphi-Quellcode:
unit mtKugel;
interface uses mtKanone; type TKugel = class public y:integer; x:integer; vy:integer; vx:integer; constructor Create; property yCoord:integer read y write y; property xCoord:integer read x write x; function getY:integer; function getX:integer; procedure GoUp; destructor Destroy; override; end; implementation constructor TKugel.Create; begin vy := 10; yCoord := 520; end; destructor TKugel.Destroy; begin // end; function TKugel.getY:integer; begin y := y-vy; result := y; end; function TKugel.getX:integer; begin result := x; end; procedure TKugel.GoUp; begin yCoord := getY; end; end. |
Re: Undefinierter Bezeichner
Keine deiner Klassen hat aber die gewünschte Eigenschaften .Top/.Left
|
Re: Undefinierter Bezeichner
Zitat:
die auf die Endung .pas hört und in der jemand - (bestimmt) sehr kluges - plötzlich und unerwartet auf einmal folgende Tasten hintereinander drückte:
Delphi-Quellcode:
Und diese Datei möchten wir jetzt gerne sehen.
type
TKugel = class( .... Da steht die Deklaration für die Klasse TKugel :wall: EDIT: Huch ... ich hätte gedacht das dauert noch ein weilchen :mrgreen: |
Re: Undefinierter Bezeichner
Wie verbesser ich das nun ?
Habe doch eigentlich die Eigenschaften mit xCoord und yCoord. Gruß |
Re: Undefinierter Bezeichner
Zitat:
a) welche backen b) welche kaufen c) sublimieren (ich mähe mal den Rasen) :mrgreen: backen geht so:
Delphi-Quellcode:
Wenn du etwas Transferleistung besitzt, kannst du
type
TKugel = class public y:integer; x:integer; vy:integer; vx:integer; constructor Create; property yCoord:integer read y write y; property xCoord:integer read x write x; property Left : integer read x write x; property Top : integer read y write y; function getY:integer; function getX:integer; procedure GoUp; destructor Destroy; override; end; a) die anderen Klassen auch erweitern b) viel besser, lass die Klassen wie sie sind und benutze die vorgegebenen Eigenschaften (xCoord, yCoord) :mrgreen: |
Re: Undefinierter Bezeichner
Stimmt, muss ja Kugel[r].xCoord benutzen :D:D
Ja bin auch blöd :D |
Re: Undefinierter Bezeichner
Zitat:
|
Re: Undefinierter Bezeichner
Liste der Anhänge anzeigen (Anzahl: 1)
So, und jetzt nochmal zur Erklärung des Programms:
Habe eine Kanone, die man verschieben kann, und Kugeln, die abgeschossen werden, und halt Raumschiffe, die von den Kugeln zerstört werden sollen. Nun erscheinen die Raumschiffe leider nicht, sonst geht eigentlich alles :) Füge mein Programm mal als Datei an. Vielen Dank schonmal für die Mithilfe :) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:01 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz