![]() |
Wie schreibt man in die Unit beim Programmablauf??
Hihohollala,
Ich verzweifel hier... Ich möchte auf irgendeine art und weise wärend des laufenden Programmes Variabeln, Sprites, wat weis ich erzeugen können. nur da gibt es ein klitze kleines Problem....ich weis absolut nicht wie!!! Irgendwie muss das doch gehen. Cu :freak: :freak: :freak: |
Re: Edit1.Text := 'HILFT MIR BITTE!!!';
Hi!
Ich kann dir nicht sagen wie es geht, aber ich kann dir sagen wir du es event. herrausfindest. Du solltest erst mal den Titel des Threads ändern, so findest du dann sicher schneller Personen die die helfen können. |
Re: Wie schreibt man in die Unit beim Programmablauf??
Hi,
du erstellst die entsprechende Komponete einfach dynamisch. Z.B. ein Button:
Delphi-Quellcode:
Chris
var
btnNewBtn: TButton; begin btnNewBtn := TButton.Create(self); try btnNewBtn.Caption := 'Hallo Welt'; finally btnNewBtn.Free; end; end; |
Re: Wie schreibt man in die Unit beim Programmablauf??
Hi,
EDIT: war ein dummer kommentar von mir ok das mit dem Button funktioniert, nur wie geht das mit Sprites?? Denn ich möchte, wenn ich zb nen Editor für nen 2d game mache, ja irgendwie die objecte plazieren, und das müssen ja sprites sein. und um die nicht zu programmieren möchte ich das so machen, das ich nen knopf drücke um einen stein hinzuzufügen, dann gebe ich dem stein nen namen, und klick dann an die stelle wo er hin soll. Das muss doch irgendwie gehen oder? |
Re: Wie schreibt man in die Unit beim Programmablauf??
Versuchs mal mit einem Dynamischen Array:
Delphi-Quellcode:
So oder so ähnlich kann man unendlich viele Images "machen".
var i:integer;
Steine : Array of Timage; begin setlength(Steine,6); // 6 Steine for i := 0 to high(Steine) do begin with Steine[i] do begin Timage.Create(self); Picture.LoadFromFile('C:\Stein.bmp'); Top := trunc(random * 300); // Zufallszahlen als Bsp left := trunc(random * 300); height := 36; width:= 36; Visible := true; Show; end; end; end; Wenn neue hinzukommen sollen:
Delphi-Quellcode:
Wenn Stein 8 gelöscht werden soll:
setlength(steine,length(steine)+1);
Stein[high(steine)] := Timage.Create(self); // usw.
Delphi-Quellcode:
Vielleicht hilft dir das...
Stein[7].free; // Die Lücke im Array müsste wieder aufgefüllt werden!
|
Re: Wie schreibt man in die Unit beim Programmablauf??
Zitat:
Vielleicht liegt es an der Frage/Fragestellung, da schon mal dran gedacht? |
Re: Wie schreibt man in die Unit beim Programmablauf??
@axelf98
vielen dank, werde es sofort ausprobieren, hoffentlich bekomme ich es hin. @wormid also bis mal jemand antwortet dauert es stunden. und die fragestellung sollte auch nicht wirklich kompliziert gewesen sein oder? Naja dann nehme ich den satz mal zurück... |
Re: Wie schreibt man in die Unit beim Programmablauf??
Sorry, dass die Antworten nicht im Minuten Takt kommen - wir arbeiten dran. :roll:
|
Re: Wie schreibt man in die Unit beim Programmablauf??
So hab ich es auch wieder nicht gemeint, aber es ist schon ärgerlich das man meistens min. 5 Stunden warten muss, bis etwas kommt. Aber wie gesagt, sorry für die Bemerkung
Hmm also das von axel klappt nicht so ganz. ich muss das ja auch in nen Spriteändern oder? also ich habe das jetzt so:
Delphi-Quellcode:
procedure TForm1.Button5Click(Sender: TObject);
var i:integer; Gegen : Array of TImageSprite; begin setlength(Gegen,6); // 6 Steine for i := 0 to high(Gegen) do begin with Gegen[i] do begin TGegenstand.Create(self); inherited Create(AParent); Image := Form1.DXImageList1.Items.Find('Stone'); Top := trunc(random * 300); // Zufallszahlen als Bsp left := trunc(random * 300); height := 36; width:= 36; Visible := true; Show; end; end; end; keine ahnung ob das richtig ist, aber wenn ich es ausführen möchte, kommt diese Fehlermeldung: [Error] Unit1.pas(284): Incompatible types: 'TSprite' and 'TForm1' [Error] Unit1.pas(285): Undeclared identifier: 'AParent' Kann mir da jemand helfen? |
Re: Wie schreibt man in die Unit beim Programmablauf??
Zitat:
Zitat:
Und das spät am Abend nicht mehr so viele Antworten kommen ist eigentlich auch klar... MfG Florian :hi: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:20 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