![]() |
Panel Spiel => Panel automatisch erzeugen?
Hallo,
wir haben als Hausaufgabe aufbekommen ein Spiel zu erstellen. Bei dem Spiel sollen in einem Shape-Fenster fünf gleichgroße Panel an einer zufälligen Position erzeugt werden, wenn man auf den Button Start klickt. Wenn man dann auf eines der Panel klickt, soll dieser verschwinden, und man bekommt einen Punkt. Ich hab ein Shape-Fenster mit dem Namen "ShSpiel" erstellt, dardrauf einen Panel mit dem Namen "Panel" und folgendes eingegeben:
Delphi-Quellcode:
Wenn ich nun aber auf den Button Start klicke, werden keine neuen Panel erzeugt. Weiss jemand was ich falsch eingegeben habe?
procedure TForm1.BStartClick(Sender: TObject);
var i: integer; begin for i:= 0 to 4 do begin Panel:= TPanel.Create (ShSpiel); Panel.AutoSize:= True; Panel.Left:=Random (ShSpiel.Width); Panel.Top:= Random(ShSpiel.Height); Panel.Parent:= Form1; Weiterhin sollen bei dem Spiel alle 2 Sekunden die Panel neu positioniert werden und ein weiteres Panel soll immer dazukommen. Hierzu hab ich den Timer genommen, auf True gesetzt und als Intervall 2000 eingegeben. Aber auch hier tut sich nichts, die Panels bewegen sich einfach nicht. Und wie kann ich das eingeben, dass in Verbindung mit dem Timer immer ein neues Panel dazukommt? Jemand einen Vorschlag dazu? Hoffe ihr könnt mir helfen, vielen Dank schonmal im Vorraus. |
Re: Panel Spiel => Panel automatisch erzeugen?
Nur Dunkel aus meiner Erinnerung: Muss das Panel nicht auch noch sichtbar gemacht werden? Hast du mal im Debugger geschaut, ob wirklich keine Panels erzeugt wurden oder diese nur nicht sichtbar sind?
|
Re: Panel Spiel => Panel automatisch erzeugen?
Wo muss ich denn im Debug nachgucken? Ansicht --> Debug-Fenster --> Und dann?
|
Re: Panel Spiel => Panel automatisch erzeugen?
Lass mal AutoSize weg.
|
Re: Panel Spiel => Panel automatisch erzeugen?
Danke dir vielmals, jetzt werden schonmal 5 Panels erstellt. Ich hab
Delphi-Quellcode:
eingegeben, nun stehen die Panels auf der rechten und unteren Seite nich mehr über, aber oben und links ragen sie noch aus dem Weissen Feld hinaus. Wie krieg ich hin, dass sie da nicht mehr rausragen?
Panel.Left:= Random(ShSpiel.Width)-25;
Panel.Top:= Random(ShSpiel.Height)-25; |
Re: Panel Spiel => Panel automatisch erzeugen?
Okay, ich bin mit dem Programm schon etwas weiter. Obiges Problem besteht aber immer noch :?
Ich hab nun nen Timer eingefügt, und möchte, dass alle vorhandenen Panels neu positioniert werden (Sprich, die sollen gemischt werden). Ich hab folgendes eingegeben, bewegen tut sich aber leider nur ein Panel (ich nehme an der letzte):
Delphi-Quellcode:
Habs auch mit ner FOR-Schleife versucht und dann "ComponentCount-1 downto 0", dies hat aber auch nur Auswirkungen auf den einen Panel.
procedure TFPanel1.Timer1Timer(Sender: TObject);
begin Panel.Left:= Random(ShSpiel.Width)-25; Panel.Top:= Random(ShSpiel.Height)-25; end; Jemand nen Vorschlag? |
Re: Panel Spiel => Panel automatisch erzeugen?
du musst auch innerhalb der schleife auf Components[i] zugreifen ;)
Delphi-Quellcode:
HTH Frank
for i:=components.count-1 downto 0 do
begin Panel:=Components[i] as TPanel; panel.left:=... panel.top:=... end; |
Re: Panel Spiel => Panel automatisch erzeugen?
Wenn ich das so mache, wie du es angegeben hast, dann kommt nach dem man auf Start klickt folgender Fehler:
Im Projekt Fang1 ist eine Exception der Klasse EInvalidCast aufgetreten. Meldung: Ungültige 'Typumwandlung'. Prozess wurde angehalten. Mit Einzelne Anweisung oder Start fortsetzen. Ich habs dann auch mal so probiert, geht aber auch nicht, bzw. nur ein Panel wird umpositioniert.
Delphi-Quellcode:
procedure TFPanel1.Timer3Timer(Sender: TObject);
var I: integer; begin for i:= ComponentCount-1 downto 0 do begin if Components[i] is TFPanel1 then Panel.Left:= Random(ShSpiel.Width)-25; Panel.Top:= Random(ShSpiel.Height)-25; |
Re: Panel Spiel => Panel automatisch erzeugen?
ja, habe die Abfrage vergessen...habs net getested, sollte eigentlich nur verdeutlichen, dass du die variable panel setzen sollst auf die aktuelle Komponente...
Delphi-Quellcode:
ggf. TPanel durch deinen Typ ersetzen, aber wenn du von TPanel abgeleitet hast, müsste das auch ohne die Änderung gehen.
for i:=components.count-1 downto 0 do
begin if Components[i] is TPanel then begin Panel:=Components[i] as TPanel; panel.left:=... panel.top:=... end; end; HTH |
Re: Panel Spiel => Panel automatisch erzeugen?
Hmm... leider bewegt sich da dann nix :(
EDIT: Habs jetzt mal so gemacht, eigentlich müsste das doch gehen, dass jetzt für alle Panels die Position geändert wird?
Delphi-Quellcode:
Bei mir kommt aber auch da ne Fehlermeldung... Ich bin langsam am verzweifeln.
procedure TFPanel1.Timer1Timer(Sender: TObject);
var i: integer; begin for i:=0 to ComponentCount-1 do begin if Components[i] is TFPanel1 then TFPanel1(Components[i]).Left:= Random(ShSpiel.Width)-25; TFPanel1(Components[i]).Top:= Random(ShSpiel.Height)-25; |
Re: Panel Spiel => Panel automatisch erzeugen?
Hinter der IF-Abfrage begin und end setzen...
Sonst wird der zweite TypCast nach TPanel für jede Komponente ausgeführt... müsste ne AV geben....
Delphi-Quellcode:
Für den Fall, dass deine lustigen Panels immer noch über den linken und oberen Rand gucken aus
for i:=0 to ComponentCount-1 do begin
if Components[i] is TPanel then begin TPanel(Components[i]).Left:= Random(ShSpiel.Width)-25; TPanel(Components[i]).Top:= Random(ShSpiel.Height)-25; end;
Delphi-Quellcode:
wird
TPanel(Components[i]).Left:= Random(ShSpiel.Width)-25;
Delphi-Quellcode:
Müsste eigentlich nun gehen.... :gruebel:
TPanel(Components[i]).Left:= Random(ShSpiel.Width - 25);
|
Re: Panel Spiel => Panel automatisch erzeugen?
Hi, erstmal danke für deine Hilfe. Die Panels gucken nun nicht mehr drüber, wie du sagtest, mussten die -25 in die Klammer mit rein und danach noch +30, damit die nun unten nicht mehr drüber stehen.
Das mit dem Timer läuft aber immer noch nicht. Ich hab oben die Variable angegeben:
Delphi-Quellcode:
dann kommt bei dem Timer nun folgender Code:
var
FPanel1: TFPanel1;
Delphi-Quellcode:
bewegen tut sich aber immer noch nix :(
procedure TFPanel1.Timer1Timer(Sender: TObject);
var i: integer; begin for i:=0 to ComponentCount-1 do begin if Components[i] is TFPanel1 then begin TFPanel1(Components[i]).Left:= Random(ShSpiel.Width-25); TFPanel1(Components[i]).Top:= Random(ShSpiel.Height-25); end; end; end; |
Re: Panel Spiel => Panel automatisch erzeugen?
1.) ???
Delphi-Quellcode:
2.) ???
Timer.Enabled := true;
Im Form.Create Zufallsgenerator initialisiert?
Delphi-Quellcode:
randomize;
|
Re: Panel Spiel => Panel automatisch erzeugen?
Hi,
hab nun auch randomize eingegeben, es tut sich aber immer noch nichts... :wall: Es ist bestimmt nur irgendwo ein klitzekleiner Fehler.. Aber ich find ihn nicht..
Delphi-Quellcode:
procedure TFPanel1.FormCreate(Sender: TObject);
begin randomize; end; procedure TFPanel1.Timer1Timer(Sender: TObject); var i: integer; begin Timer1.Enabled:= True; for i:=0 to ComponentCount-1 do begin if Components[i] is TFPanel1 then begin TFPanel1(Components[i]).Left:= Random(ShSpiel.Width-25); TFPanel1(Components[i]).Top:= Random(ShSpiel.Height-25); end; end; end; |
Re: Panel Spiel => Panel automatisch erzeugen?
setz doch mal breakpoints auf die top/left-zeilen und ggf. weiter oben. so weist zumindest wie weit der code durchläuft...
Gruß Frank |
Re: Panel Spiel => Panel automatisch erzeugen?
Kann du evt. mal den ganzen Quellcode reinstellen... vllt. auch als Anhang...
Ach so, ich gehe mal davon dass dein Timer Enabled war....... (Schau mal im OI nach). Weil ein Enablen im Aufruf bringt gar nüscht. Ohne Enabled kein Aufruf und ohne Aufruf wird er nicht auf Enabled gesetzt --> ein Paradoxon... |
Re: Panel Spiel => Panel automatisch erzeugen?
break; hat auch nichts gebracht... Ich hab mal nen Screenshot gemacht, vllt gebe ich ja nur irgendwo das falsche Formular oder so an.. TFPanel1 ist schon richtig ind er IF Abfrage, oder?
![]() |
Re: Panel Spiel => Panel automatisch erzeugen?
Ja Timer ist auch im OI enabled.
hier der Quelltext
Delphi-Quellcode:
unit UFang1;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls, StdCtrls; type TFPanel1 = class(TForm) BStart: TButton; ShSpiel: TShape; Panel: TPanel; Timer1: TTimer; procedure BStartClick(Sender: TObject); procedure Timer1Timer(Sender: TObject); procedure PanelWeg(Sender:TObject); procedure FormCreate(Sender: TObject); private { Private-Deklarationen } public { Public-Deklarationen } end; var FPanel1: TFPanel1; implementation uses UPunkte; {$R *.dfm} procedure TFPanel1.BStartClick(Sender: TObject); var i: integer; begin for i:= 0 to 4 do begin Panel:= TPanel.Create (ShSpiel); Panel.Color:= clYellow; Panel.Caption:= 'F'; Panel.Width:= 49; Panel.Height:= 33; Panel.Left:= Random(ShSpiel.Width-60)+30; Panel.Top:= Random(ShSpiel.Height-50)+30; Panel.Parent:= FPanel1; Panel.OnClick:= PanelWeg; end; //FPunkte:=TFPunkte.Create(self); //FPunkte.showModal; end; procedure TFPanel1.FormCreate(Sender: TObject); begin randomize; end; procedure TFPanel1.Timer1Timer(Sender: TObject); var i: integer; begin Timer1.Enabled:= True; for i:=0 to ComponentCount-1 do begin if Components[i] is TFPanel1 then begin TFPanel1(Components[i]).Left:= Random(ShSpiel.Width-25); TFPanel1(Components[i]).Top:= Random(ShSpiel.Height-25); end; end; end; procedure TFPanel1.PanelWeg(Sender:TObject); begin TPanel(Sender).Hide; end; end. |
Re: Panel Spiel => Panel automatisch erzeugen?
Sieht doch gut aus....
Du erstellst hier
Delphi-Quellcode:
TPANEL und versuchst sie dann hier hier nach
Panel:= TPanel.Create (ShSpiel);
Delphi-Quellcode:
TFPanel1 zu casten.
Components[i] is TFPanel1
Im Timer1Timer sämtliche Vorkommen von TFPanel1 durch TPanel ersetzen. |
Re: Panel Spiel => Panel automatisch erzeugen?
hab im Timer1Timer nun TPanel eingesetzt, es geht aber immer noch nicht. :cry:
|
Re: Panel Spiel => Panel automatisch erzeugen?
Wo du die TPanel erstellst, muss deren Owner auch die Form sein
Delphi-Quellcode:
Ansonsten sind sie in Components[i] nicht drin....
Panel:= TPanel.Create (FPanel1);
Nu müsste es gehen! |
Re: Panel Spiel => Panel automatisch erzeugen?
Boahh es läuft... :hello: :corky: Ich danke dir tausendmal... :thumb: Jetzt bin ich schonmal nen ganzes Stückchen weiter, jetzt muss ich nur noch das mit dem Punktesystem hinkriegen. Falls ich wieder Hilfe brauche, poste ich hier.
Nochmals vielen dank.. |
Re: Panel Spiel => Panel automatisch erzeugen?
|
Re: Panel Spiel => Panel automatisch erzeugen?
@frank
Ich glaub im Grunde ist es fast dasselbe, nur bei ihm heißt das Spiel "Moorhuhn" und er hat noch ein paar Grafiken. Meins dagegen basiert wirklich nur auf gelbe Panels und weißen Hintergrund. Wenn ich fertig bin stell ich mal rein. Aber zu dem Problem mit dem Punktezählen komm ich auch noch gleich. Ich muss erstmal das ganze mit dem neuen Punktefenster und SetPunkte verstehen. :hi: |
Re: Panel Spiel => Panel automatisch erzeugen?
Okay, brauche wieder eure Hilfe.
Bei dem Spiel sollen auch die Punkte gezählt werden und in einem seperaten Fenster angezeigt werden. Ich hab erstmal das mit dem seperaten fenster wegelassen. Also hab ich in das Hauptfrmular ein Edit Feld eingefügt. Dazu folgenden Code. Wenn man verloren hat (= Null Punkte) soll die Message kommen "Verloren" und das Spiel soll aufhören neue Panels zu erstellen (break;), das funktioniert auch alles. Nun hab ich mit else if angegeben, dass wenn man 10 Punkte hat, die Message "Gewonnen" erscheinen soll und das Spiel aufhören soll (break;), da tut sich aber nix, auch wenn ich 10 Punkte habe kommt keine Message und das Spiel läuft weiter. Der letzte Teil ist glaub ich am wichtigsten:
Delphi-Quellcode:
procedure TFPanel1.Timer1Timer(Sender: TObject); var i: integer; begin Panel:= TPanel.Create (FPanel1); Panel.Color:= clYellow; Panel.Caption:= 'F'; Panel.Width:= 49; Panel.Height:= 33; Panel.Left:= Random(ShSpiel.Width-60)+30; Panel.Top:= Random(ShSpiel.Height-50)+30; Panel.Parent:= FPanel1; Panel.OnClick:= PanelWeg; Zaehler:= Zaehler-1; for i:=ComponentCount-1 downto 0 do begin if Components[i] is TPanel then begin if Panel.Visible= True then begin TPanel(Components[i]).Left:= Random(ShSpiel.Width-60)+30; TPanel(Components[i]).Top:= Random(ShSpiel.Height-50)+30; Edit1.Text:=IntToStr(Zaehler)+' '+'Punkte'; end else begin TPanel(Components[i]).Destroy; end; end; if Zaehler = 0 then begin Timer1.Enabled:=False; ShowMessage('Verloren'); break; end else if Zaehler = 10 then begin Timer1.Enabled:=False; ShowMessage('Gewonnen'); break; end; end; end; |
Re: Panel Spiel => Panel automatisch erzeugen?
Keiner nen Vorschlag? Irgendwie klappt das mit dem else Befehl im letzten teil zaehler=10 nicht. Für zaehler=0 funzt es.
|
Re: Panel Spiel => Panel automatisch erzeugen?
bitte nur 1 Frage pro Thread... (stand das nicht mal in den Forenregeln?)
mal davon abgesehen, kann ich in dem Code-Snippet nicht erkennen, dass du jemals 10 Punkte hast...wo bzw. auf welchen Wert initialisierst du Zähler? Ich sehe nur, dass du bei jedem Timer-Event 1 abziehst (egal,ob ein panel getroffen wird oder nicht). d.h. du müsstest den Zähler auf min. 11 initialisieren, damit die Bedingung erfüllt (beim ersten timer-event) ist. Inkrementierst du den Zähler auch irgendwo? HTH Frank |
Re: Panel Spiel => Panel automatisch erzeugen?
Hi,
Stimmt schon, nach dem Intervall vom Timer wird immer ein neues Panel erstellt, daher dann ein Punkt Abzug. Habe natürlich bei den Panels eingestellt, dass bei OnClick der zaehler Wert auf +1 erhöht wird. Das funktioniert auch alles, wenn ich auf nen Panel klicke, bekomme ich auch ein Punkt. Das Problem aber ist (glaub ich zumindest), dass er bei der if abfrage auf zaehler=0 wartet und nicht mit dem else if zaehler=10 weitermacht. Da ist irgendwas falsch bei den If/else Befehlen glaub ich. |
Re: Panel Spiel => Panel automatisch erzeugen?
hast du bemerkt, dass deine If-Abfrage in der For-Schleife steckt?
glaube das sollte nicht so sein, aber mit richtiger Einrückung würde man das sehen :) . ansonsten 3 Fragen: - wie wird Zaehler initialisiert - werden vorher panels erstellt (außerhalb vom timer) - hast du mit dem debugger schon 10 in der variable gesehen? denn: mit jedem erstellten panel wird der Zähler dekrementiert (geht übrigends mit dec(zaehler) kürzer). selbst wenn du alle panels wegklickst wirst du so nie 10 Punkte erreichen, da diese 10 punkte vorher schon vom Zähler abgezogen wurden.
Delphi-Quellcode:
HTH Frank
procedure TFPanel1.Timer1Timer(Sender: TObject);
var i: integer; begin Panel:= TPanel.Create (FPanel1); Panel.Color:= clYellow; Panel.Caption:= 'F'; Panel.Width:= 49; Panel.Height:= 33; Panel.Left:= Random(ShSpiel.Width-60)+30; Panel.Top:= Random(ShSpiel.Height-50)+30; Panel.Parent:= FPanel1; Panel.OnClick:= PanelWeg; Zaehler:= Zaehler-1; for i:=ComponentCount-1 downto 0 do begin if Components[i] is TPanel then begin if Panel.Visible= True then begin TPanel(Components[i]).Left:= Random(ShSpiel.Width-60)+30; TPanel(Components[i]).Top:= Random(ShSpiel.Height-50)+30; Edit1.Text:=IntToStr(Zaehler)+' '+'Punkte'; end else begin TPanel(Components[i]).Destroy; end; end; if Zaehler = 0 then begin Timer1.Enabled:=False; ShowMessage('Verloren'); break; end else if Zaehler = 10 then begin Timer1.Enabled:=False; ShowMessage('Gewonnen'); break; end; end; //for end; |
Re: Panel Spiel => Panel automatisch erzeugen?
Hi,
hab die IF Abfrage aus der Schleife rasugenommen. Der Zaehler wird bei FormCreate auf 5 gesetzt (da man am Anfang 5 Punkte haben soll). Der Timer wird beim drücken des Start Buttons aktiviert und es werden 5 Panels erstellt (Bei StartClick). Vom Debugger hab ich keine Ahnung. Wie guckt man da nach? 10 Punkte hatte ich aber auf jedenfall, da die Punkte in einem Seperaten Memofeld angezeigt werden. Es fehlt dann halt nur die Meldung "Gewonnen". Hier mal der komplette Quellcode:
Delphi-Quellcode:
unit UFang1;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls, StdCtrls, UPunkte; type TFPanel1 = class(TForm) BStart: TButton; ShSpiel: TShape; Panel: TPanel; Timer1: TTimer; procedure BStartClick(Sender: TObject); procedure Timer1Timer(Sender: TObject); procedure PanelWeg(Sender:TObject); procedure FormCreate(Sender: TObject); private { Private-Deklarationen } public { Public-Deklarationen } end; var FPanel1: TFPanel1; zaehler: integer; implementation {$R *.dfm} procedure TFPanel1.BStartClick(Sender: TObject); var i: integer; begin Timer1.Enabled:= True ; for i:= 0 to 4 do begin Panel:= TPanel.Create (FPanel1); Panel.Color:= clYellow; Panel.Caption:= 'F'; Panel.Width:= 49; Panel.Height:= 33; Panel.Left:= Random(ShSpiel.Width-60)+30; Panel.Top:= Random(ShSpiel.Height-50)+30; Panel.Parent:= FPanel1; Panel.OnClick:= PanelWeg; end; Punktefenster:=TPunktefenster.Create(self); Punktefenster.show; Punktefenster.MPktAnzeige.Lines.Add(IntToStr(Zaehler)+' '+'Punkte'); end; procedure TFPanel1.FormCreate(Sender: TObject); begin randomize; Zaehler:=5; end; procedure TFPanel1.Timer1Timer(Sender: TObject); var i: integer; begin Panel:= TPanel.Create (FPanel1); Panel.Color:= clYellow; Panel.Caption:= 'F'; Panel.Width:= 49; Panel.Height:= 33; Panel.Left:= Random(ShSpiel.Width-60)+30; Panel.Top:= Random(ShSpiel.Height-50)+30; Panel.Parent:= FPanel1; Panel.OnClick:= PanelWeg; Zaehler:= Zaehler-1; for i:=ComponentCount-1 downto 0 do begin if Components[i] is TPanel then begin if Panel.Visible= True then begin TPanel(Components[i]).Left:= Random(ShSpiel.Width-60)+30; TPanel(Components[i]).Top:= Random(ShSpiel.Height-50)+30; Punktefenster.MPktAnzeige.Lines.Add(IntToStr(Zaehler)+' '+'Punkte'); end else begin TPanel(Components[i]).Destroy; end; end; end; if Zaehler = 0 then begin Timer1.Enabled:=False; ShowMessage('Verloren'); //break; end else if Zaehler = 10 then begin Timer1.Enabled:=False; ShowMessage('Gewonnen'); //break; end; end; procedure TFPanel1.PanelWeg(Sender:TObject); begin TPanel(Sender).Hide; Zaehler:= Zaehler+1; Punktefenster.MPktAnzeige.Lines.Add(IntToStr(Zaehler)+' '+'Punkte'); end; end. |
Re: Panel Spiel => Panel automatisch erzeugen?
Keiner ne Vermutung, warum die Gewonnen Anzeige nicht kommt? Ich hab schon alles ausprobiert, aber es geht einfach nicht... Jungs brauche dringend eure hilfe...
|
Re: Panel Spiel => Panel automatisch erzeugen?
Weil Du 11 Punkte brauchst. Keine 10.
Im Timer-Event wird zuerst 1 vom Zähler abgezogen und dann auf 10 verglichen. Also musst Du 11 haben (11 -1 = 10, -> Vergleich Wahr). |
Re: Panel Spiel => Panel automatisch erzeugen?
Hi,
danke dir, jetzt läufts eigentlich schon. Ich hab den ganen IF zaehler= 0 ... Teil nach oben verschoben (vor das Panel.create). Nun kommt auch die Anzeige, wenn man gewonnen hat. Kann man nun noch einstellen, dass wenn die Message "Gewonnen" kommt und man auf den OK Button der Message klickt, dass das ganze Programm dann anhält bzw. alle Vorgänge angehalten werden? Weil im Moment wird dann natürlich noch ein Panel erstellt und ein Punkt abgezogen, was ich aber eigentlich nicht möchte. Hier nochmal der neue Auszug:
Delphi-Quellcode:
procedure TFPanel1.Timer1Timer(Sender: TObject);
var i: integer; begin if Zaehler = 0 then begin Timer1.Enabled:=False; ShowMessage('Verloren'); end else if Zaehler = 10 then begin Timer1.Enabled:=False; ShowMessage('Gewonnen'); end; Panel:= TPanel.Create (FPanel1); Panel.Color:= clYellow; Panel.Caption:= 'F'; Panel.Width:= 49; Panel.Height:= 33; Panel.Left:= Random(ShSpiel.Width-60)+30; Panel.Top:= Random(ShSpiel.Height-50)+30; Panel.Parent:= FPanel1; Panel.OnClick:= PanelWeg; Zaehler:= Zaehler-1; |
Re: Panel Spiel => Panel automatisch erzeugen?
Pack den Rest doch in noch einen Else-Zweig. Der wird dann eben abgeabreitet wenn es nicht 0 und nicht 10 ist. Ist am saubersten.
|
Re: Panel Spiel => Panel automatisch erzeugen?
Hi, könntest du mir evtl. sagen wo ich dann das else / end etc.. hinsetzen muss. Habs versucht, hat aber nicht so ganz geklappt. Quellcode ist ja oben.
Wäre echt nett von dir... :-D Gruß |
Re: Panel Spiel => Panel automatisch erzeugen?
Na um den "Rest":
Delphi-Quellcode:
if Zaehler = 0 then
begin // ... end else if Zaehler = 10 then begin // .. end else begin Panel:= TPanel.Create (FPanel1); // ... end; |
Re: Panel Spiel => Panel automatisch erzeugen?
Super! Vielen Dank, jetzt funktionierts... :-D
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:07 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