Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Fragen zu TList (https://www.delphipraxis.net/17201-fragen-zu-tlist.html)

crossmaen 1. Mär 2004 07:42


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

Jens Schumann 1. Mär 2004 07:46

Re: Fragen zu TList
 
Zitat:

Zitat von crossmaen
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.

Könntest Du die Aufgabenstellung bitte etwas genauer berschreiben?
Ich habe es nicht verstanden.
Zitat:

Zitat von crossmaen
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.

Dein Vorgesetzter hat recht

Sanchez 1. Mär 2004 07:47

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

crossmaen 1. Mär 2004 07:51

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

SirThornberry 1. Mär 2004 07:54

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

crossmaen 1. Mär 2004 07:56

Re: Fragen zu TList
 
Vielen Dank

crossmaen


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