Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Klassen Dynamisch erzeugen und verwalten?! (https://www.delphipraxis.net/48701-klassen-dynamisch-erzeugen-und-verwalten.html)

dragi 29. Jun 2005 07:54


Klassen Dynamisch erzeugen und verwalten?!
 
Hallo,

irgendwie stehe ich gerade ziemlich auf dem Schlauch. Ich möchte in einem Programm Accounts verwalten und jeder Account ist ein Objekt einer Klasse. Speichern würde ich diese Instanzen in einer TList. Aber jedes Objekt muss ja eine Bezeichnung haben damit ich wiedr darauf zugreifen kann, denke ich zumindest. Wie soll ich denn jetzt die Bezeichner Dynamisch erzeugen?! Ich weiss doch nicht wieviele Objekte es werden können...theoretisch ja "unendlich"...

Habt ihr mal nen kleinen Tip für mich?


Vielen Dank

Dragi

BrunoT 29. Jun 2005 08:03

Re: Klassen Dynamisch erzeugen und verwalten?!
 
Hi dragi,

ich hatte auch das Problem, Dateinamen einmalig zu erzeugen und habe das aus Datum und Uhrzeit generiert:

Delphi-Quellcode:
s:=TimeToStr(time);
d:=datetostr(date);
fname :='Daten'+Copy(d,7,4)+Copy(d,4,2)+Copy(d,1,2)+'_'+Copy(s,1,2)+Copy(s,4,2)+Copy(s,7,2)+'.zip';
vieleicht hilft dir das. :wink:

mfg

BrunoT

Boombuler 29. Jun 2005 08:20

Re: Klassen Dynamisch erzeugen und verwalten?!
 
Du hast die Dinger doch in ner TList stehen oder? wozu brauchst du dann noch n eindeutigen bezeichner??

Aber wenn du umbedingt willst und keine einträge aus der TList löscht würd ich das so machen:
Delphi-Quellcode:
...
Name := 'AccountNr' + IntToStr(MeineListe.Count);
...
Aber wie gesagt ich würd erst gar keinen Namen vergeben wenn die sowieso in ner Liste drinstehn :)

Greetz
Boombuler

barf00s 29. Jun 2005 08:31

Re: Klassen Dynamisch erzeugen und verwalten?!
 
um nen eindeutigen dateinamen zu erzeugen kann man sich auch ein paar der ActiveX funktionen bedienen...


Delphi-Quellcode:
uses
  ActiveX, ComObj;

var
  xGuid: TGuid;

begin
  CoCreateGuid(xGuid);
  sFileName := GuidToString(xGuid);
end;

shmia 29. Jun 2005 08:53

Re: Klassen Dynamisch erzeugen und verwalten?!
 
Zitat:

Zitat von dragi
irgendwie stehe ich gerade ziemlich auf dem Schlauch. Ich möchte in einem Programm Accounts verwalten und jeder Account ist ein Objekt einer Klasse. Speichern würde ich diese Instanzen in einer TList.

Dann wäre TObjectList besser geeignet.
Zitat:

Zitat von dragi
Aber jedes Objekt muss ja eine Bezeichnung haben damit ich wiedr darauf zugreifen kann, denke ich zumindest.

Ein Object muss keine Bezeichnung haben; der Zeiger auf das Object wird in TObjectList gespeichert, das genügt.
Wenn du die Account-Objekte über eine Benutzeroberfläche präsentieren möchtest, ist natürlich eine Bezeichnung sinnvoll.
Es kommt jetzt drauf an, was du unter einem "Account" verstehst.....

PS: dein Titel ist nicht richtig. Du verwaltest keine Klassen, sondern Objekte.

sniper_w 29. Jun 2005 10:21

Re: Klassen Dynamisch erzeugen und verwalten?!
 
Ja, und das Zugriff auf einzelne Objekte sieht so aus:
Delphi-Quellcode:
 TMyObjektType( MyObjectList.Items[i] ).MyObjektEigenschaft, oder Method ....
Ein Objekt in der Liste zu schpeichern genügt:
Delphi-Quellcode:
 var MyObj: TMyObj;
begin
 MyObj := TMyObj.Create();
with MyObj do
begin
 // hier eventuell eigenschaften ändern
end;
MyObjectList.Add(MyObject); // object speichern...

// auf keinem Fall so etwas schreiben..
// MyObject.Free();

dragi 29. Jun 2005 13:31

Re: Klassen Dynamisch erzeugen und verwalten?!
 
Danke an alle! Jetzt hab ich es verstnaden. Vor allem nach dem post von sniper_w. Genauso werd ich es machen...manchmal sieht man einfach den Wald vor lauter Bäumen nicht :)

Gruss

Dragi


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:09 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