Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   dynamisch Anmen erzeugen und einem Image zuweisen (https://www.delphipraxis.net/115415-dynamisch-anmen-erzeugen-und-einem-image-zuweisen.html)

punker-lili 11. Jun 2008 19:06


dynamisch Anmen erzeugen und einem Image zuweisen
 
Hiho!

Also ich möchte in meinem Programm dynamisch Images erstellen. Leider weiß ich am anfang nicht, wie viele. Jedoch muss ich jedem erstellten Image einen neuen Namen zuweisen?! Wie mach ich das? Also ich bräuchte ne Idee, wie ich dynamisch Strings erstelle und den NAmen zuweise.
Das ist bis jetzt entstanden.. funktioniert aber nicht (warum?!)
Delphi-Quellcode:
begin
name_image(image0);
image1.name:=name;
ort:=form1.name.canvas;
...
neues_image(image1,name_image(name),Form1,Scrollbox1);
...
Die Procedure^^
Delphi-Quellcode:
procedure neues_image(image,image_org:Timage;name:string;form1:Tform;scrollbox1:tscrollbox);
const abstand_imag=50;
var wo:integer;
begin
  wo:=StrToInt(copy(name,length(name)-1,1));
    image:= TImage.Create( Form1);
    image.name:=name;
    name.Parent:=Scrollbox1;
    name.Left:=image_org.Left;
    name.Top:= image_org.Top+50+anzahl*image_org.Height;
    name.Height:=image_org.Height;
    name.Weidth:=image_org.Weidth;
end;
Danke für eure Hilfe!
MfG Anna

mkinzler 11. Jun 2008 19:09

Re: dynamisch Anmen erzeugen und einem Image zuweisen
 
Zitat:

Delphi-Quellcode:
name.Parent:=Scrollbox1;

Warum name. ?
Was macht name_image()

punker-lili 11. Jun 2008 19:12

Re: dynamisch Anmen erzeugen und einem Image zuweisen
 
Delphi-Quellcode:
function name_image(var name:string):string;
var c: integer;
begin
c:=StrToInt(copy(name,length(name)-1,1));
c:=c+1;
name:=copy(name,0,length(name)-1)+IntToStr(c);
end;
sorry

punker-lili 11. Jun 2008 19:14

Re: dynamisch Anmen erzeugen und einem Image zuweisen
 
name.parent soll der neue name des images sein, denn ich habs doch zuvor umgenannte mit image.name..oder?!

mkinzler 11. Jun 2008 19:14

Re: dynamisch Anmen erzeugen und einem Image zuweisen
 
Und was passiert beim 10. Image?
Ich würde die Zahl unabhängig speichern oder noch besser die Referenzen in einen Array ablegen

punker-lili 11. Jun 2008 19:16

Re: dynamisch Anmen erzeugen und einem Image zuweisen
 
*komisch guck* :pale: wie msch ich das?!

mkinzler 11. Jun 2008 19:22

Re: dynamisch Anmen erzeugen und einem Image zuweisen
 
Speichere die Zahl in einer globalen Variable oder besser einer Membervariable und erhöhe diese.
Mache am Besten aus der procedure eine Methode
Zum Array:

Delphi-Quellcode:
var
    Bilder: Array of TImage;
    AnzBilder: Integer;

...
    inc(AnzBilder);
    setLength( Bilder, AnzBilder);
    Bilder[ AnzBilder-1] := TImage.Create( Self);
   ...

DeddyH 11. Jun 2008 19:26

Re: dynamisch Anmen erzeugen und einem Image zuweisen
 
Und dabei später nicht vergessen, das ganze Array rückwärts zu durchlaufen und die Images wieder freizugeben.

mkinzler 11. Jun 2008 19:30

Re: dynamisch Anmen erzeugen und einem Image zuweisen
 
Zitat:

Zitat von DeddyH
Und dabei später nicht vergessen, das ganze Array rückwärts zu durchlaufen und die Images wieder freizugeben.

Da die Images einen Owner haben. sollte es reichen den Array freizugeben (
Delphi-Quellcode:
setLength( Bilder, 0);
)


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:36 Uhr.

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