Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Wie schreibt man in die Unit beim Programmablauf?? (https://www.delphipraxis.net/8664-wie-schreibt-man-die-unit-beim-programmablauf.html)

Kihaku 9. Sep 2003 19:45


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:

citybreaker 9. Sep 2003 20:03

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.

CalganX 9. Sep 2003 20:59

Re: Wie schreibt man in die Unit beim Programmablauf??
 
Hi,
du erstellst die entsprechende Komponete einfach dynamisch.
Z.B. ein Button:
Delphi-Quellcode:
var
  btnNewBtn: TButton;
begin
  btnNewBtn := TButton.Create(self);
  try
    btnNewBtn.Caption := 'Hallo Welt';
  finally
    btnNewBtn.Free;
  end;
end;
Chris

Kihaku 9. Sep 2003 21:09

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?

axelf98 9. Sep 2003 23:48

Re: Wie schreibt man in die Unit beim Programmablauf??
 
Versuchs mal mit einem Dynamischen Array:
Delphi-Quellcode:
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;
So oder so ähnlich kann man unendlich viele Images "machen".
Wenn neue hinzukommen sollen:
Delphi-Quellcode:
setlength(steine,length(steine)+1);
Stein[high(steine)] := Timage.Create(self);  // usw.
Wenn Stein 8 gelöscht werden soll:
Delphi-Quellcode:
Stein[7].free; // Die Lücke im Array müsste wieder aufgefüllt werden!
Vielleicht hilft dir das...

Wormid 10. Sep 2003 00:07

Re: Wie schreibt man in die Unit beim Programmablauf??
 
Zitat:

Zitat von Kihaku
Hi, erstmal vielen dank das überhaupt jemand geantwortet hat, ist ja nicht so oft der fall hier...

Ich glaube, mit dieser Meinung stehst Du ziemlich alleine da...
Vielleicht liegt es an der Frage/Fragestellung, da schon mal dran gedacht?

Kihaku 10. Sep 2003 00:31

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

Luckie 10. Sep 2003 00:35

Re: Wie schreibt man in die Unit beim Programmablauf??
 
Sorry, dass die Antworten nicht im Minuten Takt kommen - wir arbeiten dran. :roll:

Kihaku 10. Sep 2003 00:45

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?

flomei 10. Sep 2003 01:05

Re: Wie schreibt man in die Unit beim Programmablauf??
 
Zitat:

Zitat von Kihaku
So hab ich es auch wieder nicht gemeint

Es kam aber so rüber :roll:

Zitat:

Zitat von Kihaku
aber es ist schon ärgerlich das man meistens min. 5 Stunden warten muss, bis etwas kommt.

Du musstest nicht mal ne halbe Stunde warten bis die erste Antwort kam...
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 16:04 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