![]() |
Fragen zu TList
Hallo zusammen!
Ich habe hier ein paar Fragen zur TList. Bin zwar neu hier aber habe schon die Foren wegen diesen Themas durchforstet und nichts gefunden. Nun zu den Fragen oder auch Problemen: Ich habe bisher noch keine Erfahrungen mit Pointern, welche man ja offensichtlich bei der TList braucht. Dadurch hab ich auch Probleme bei der Deklaration dieser Liste und den Zeigern. Meine Aufgabenstellung lautet, ich soll Daten zu Aufenthalten einer bestimmten Person mit der TList, also pro Aufenthalt ein Segment in der Liste, eine Anfrage lang lokal speichern (19 Strings) und daraus dann in einer Tabelle ausgeben. Nach dieser Session können die Daten wieder gelöscht werden. Mein erster Gedanke, wohl auch der einfachste, war ein dynamischer Array. Aber mein Vorgesetzter meinte, mit einer TList wäre es im nachhinein einfacher zu verwalten. Kann mir dabei jemand Tipps geben, wie man sowas überhaupt Deklariert, Daten einschreibt und vor allem wieder ausliest?? Vielen DAnk crossmaen |
Re: Fragen zu TList
Zitat:
Ich habe es nicht verstanden. Zitat:
|
Re: Fragen zu TList
Hallo,
Schau dir mal TObjectList an. Das ist ein Nachfahre von TList. Die bietet dir mehr Unterstützung. grüße, daniel |
Re: Fragen zu TList
Hallo
Also ich bekomme Daten(19 Strings) zu jedem Aufenthalt (einer bis unendlich) einer Person, welche ich dann in verschiedenen Tabellen, je nachdem welche Tabelle der Nutzer sehen möchte, ausgeben soll. Das ganze sollte ich mit einer TList machen. Die Daten werden nach der Session nicht mehr gebraucht. Grüsse crossmaen |
Re: Fragen zu TList
TList ist eigentlich ja nur eine Liste von Pointern. Das heißt du musst dich selbst um den speicher kümmern und den dann auch wieder freigeben. (anstelle von dem Record kannst du auch nen String nehmen)
Delphi-Quellcode:
type
Pmyrecord = ^TmyRecord; //Pointer auf unseren eigentlichen Typ Tmyrecord = record //das ist unser eigentlicher Typ wert1: Integer; wert2: Integer; wert3: Byte; end; var mylist: TList; //unsere TList in der wir die Pointer speichern myrecord: PMyRecord; //zeiger auf unseren Typ begin mylist := TList.Create; //erstmal die Liste erzeugen new(myrecord); //dann holen wir uns soviel speicher wie "myrecord" benötigt und lassen myrecord auf den geholten speicher zeigen mylist.Add(myrecord); //unseren pointer in die liste eintragen [...] //irgendwas machen myrecord := mylist.Items[0]; //lassen myrecord wieder auf unseren speicher zeigen myrecord^.wert1 := 3455; //und können jetzt die daten davon ändern (dach kann bei diesem beispiel auch weggelassen werden) myrecord^.wert2 := 5347; myrecord^.wert3 := 75; [...] //machen wieder irgendwas anderes dispose(mylist.Items[0]); //jetzt müssen wir den speicher wieder freigeben den wir am Anfang mit "new" geholt haben mylist.Free; //und zu guter letzt können wir noch unsere liste wieder freigeben - READY |
Re: Fragen zu TList
Vielen Dank
crossmaen |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:22 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