Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Record in Liste speichern (https://www.delphipraxis.net/172156-record-liste-speichern.html)

Helmi 16. Dez 2012 13:44

Record in Liste speichern
 
Hallo,

ich steh grad auf dem Schlauch.

Ich möchte gerne eine Liste haben, die als List-Items ein Record hat.

(Normalerweise hab ich ein Array dafür - möcht ich jetzt aber nicht nutzen, da ich es für property brauch)

Nur welche Liste kann ich dazu am besten nehmen und wie?

Helmi 16. Dez 2012 13:52

AW: Record in Liste speichern
 
Warum komm ich erst auf die Lösung nachdem ich nen Thread aufgemacht hab?

quick-n-saudirty:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  Liste: TList;
  test : TTest;

  i : TTest;

begin
  Liste := TList.Create;

  test.test1 := 1;
  test.test2 := 999;

  try
    Liste.Add(@test);


    ShowMessage(IntToStr(Liste.Count));

    i := TTest(Liste.Items[0]^);

    ShowMessage(IntToStr(i.test2));

  finally
    Liste.Free;
  end;

end;

DeddyH 16. Dez 2012 13:57

AW: Record in Liste speichern
 
Bei XE2 würde ich aber eine generische Liste vorziehen.

Helmi 16. Dez 2012 14:02

AW: Record in Liste speichern
 
Zitat:

Zitat von DeddyH (Beitrag 1195655)
Bei XE2 würde ich aber eine generische Liste vorziehen.

klingt gut! - hast du da ein Beispiel?

DeddyH 16. Dez 2012 14:06

AW: Record in Liste speichern
 
Delphi-Quellcode:
var
  Liste: TList<TTest>;
  test, test2: TTest;
begin
  test.test1 := 1;
  test.test2 := 999;
  Liste := TList<TTest>.Create;
  try
    Liste.Add(test);
    ShowMessage(IntToStr(Liste.Count));
    test2 := Liste.Items[0];
    ShowMessage(IntToStr(test2.test2));
  finally
    Liste.Free;
  end;
end;

Helmi 16. Dez 2012 14:16

AW: Record in Liste speichern
 
Bei der Zeile:
Delphi-Quellcode:
Liste: TList<TTest>;
bekomm ich folgenden Fehler gemeldet:
Zitat:

[DCC Fehler] Unit1.pas(33): E2003 Undeklarierter Bezeichner: 'TList<>'

Furtbichler 16. Dez 2012 14:22

AW: Record in Liste speichern
 
Schon mal gegoogelt, welche Unit man für eine generische Liste benötigt?

Helmi 16. Dez 2012 14:32

AW: Record in Liste speichern
 
Zitat:

Zitat von Furtbichler (Beitrag 1195659)
Schon mal gegoogelt, welche Unit man für eine generische Liste benötigt?

manchmal könnte man der Meinung sein, das Forum ist nicht für Leute da, die Hilfe suchen, sondern ist die Heimat für Leute, die auf Google verweisen können...

Nichts desto trotz, wenn jemand das gleiche Problem hat, die Unit:
Delphi-Quellcode:
Generics.Collections

Furtbichler 16. Dez 2012 16:13

AW: Record in Liste speichern
 
Zitat:

Zitat von Helmi (Beitrag 1195660)
manchmal könnte man der Meinung sein, das Forum ist nicht für Leute da, die Hilfe suchen, sondern ist die Heimat für Leute, die auf Google verweisen können...

Bei Dir scheint es so zu sein, das Du einfach entweder zu faul oder zu unfähig bist, Google zu benutzen. Wozu denn auch, man kann ja auch einfach fragen. Ist ja sooo viel einfacher, andere für sich denken und arbeiten zu lassen. ;-)

Aber wer keine Eigeninitiative hat und stattdessen selbstkritikresistent rumtrompetet, der bringt es mit ziemlicher Sicherheit eh nicht weit. Nur blöd, das der Arbeitsmarkt mit 'Programmieren' überflutet wird, denen diese Einstellung offenbar in die Wiege gelegt wurd. Solange Du bei Delphi bleibst, bin ich aber beruhigt. :lol:

p80286 16. Dez 2012 16:58

AW: Record in Liste speichern
 
Na ein wenig weniger Schwung hätte aber auch gereicht.
Und Google sollte eigentlich nicht die erste Anlaufstelle sein, die OH wäre u.U. zielführender?

Gruß
K-H

Helmi 16. Dez 2012 16:59

AW: Record in Liste speichern
 
Zitat:

Zitat von Furtbichler (Beitrag 1195670)
Bei Dir scheint es so zu sein, das Du einfach entweder zu faul oder zu unfähig bist, Google zu benutzen. Wozu denn auch, man kann ja auch einfach fragen. Ist ja sooo viel einfacher, andere für sich denken und arbeiten zu lassen. ;-)

Ich gehe jetzt mal davon aus, dass die Beleidigung nur ein Ausrutscher von dir war.
Deiner "Argumentation" nach zu folgen, wäre es besser eine direkte Verlinkung von www.delphipraxis.net auf www.google.de zu machen.
Was anderes machst du nämlich auch nicht. (Und jetzt sprech ich dich direkt an, was ich zuvor nicht getan habe)

Zitat:

Zitat von Furtbichler (Beitrag 1195670)
Aber wer keine Eigeninitiative hat und stattdessen selbstkritikresistent rumtrompetet, der bringt es mit ziemlicher Sicherheit eh nicht weit. Nur blöd, das der Arbeitsmarkt mit 'Programmieren' überflutet wird, denen diese Einstellung offenbar in die Wiege gelegt wurd. Solange Du bei Delphi bleibst, bin ich aber beruhigt. :lol:

Wie oben schon geschrieben, gehe ich auch hierbei aus, dass die Beleidigung ein Ausrutscher von dir ist.
Ausserdem geht es es dich nichts an, was ich arbeite.

Helmi 16. Dez 2012 17:00

AW: Record in Liste speichern
 
Zitat:

Zitat von p80286 (Beitrag 1195676)
Na ein wenig weniger Schwung hätte aber auch gereicht.
Und Google sollte eigentlich nicht die erste Anlaufstelle sein, die OH wäre u.U. zielführender?

Anscheinend sind da andere Forum-Mitglieder anderer Meinung!

DeddyH 16. Dez 2012 17:12

AW: Record in Liste speichern
 
Leute, regt Euch doch wieder ab. Ob man nun den Gockel oder die OH benutzt, spielt letztendlich keine Rolle, oder? Mein persönlicher Favorit ist schon seit Langem die DP-Referenz. Kleiner Test: Delphi-Referenz durchsuchenTList, da sieht man mit etwas Scrollen, wo die überall deklariert ist ;)

Mschmidt 16. Dez 2012 19:19

AW: Record in Liste speichern
 
Hier nochmal als Zusammenfassung.


Delphi-Quellcode:
Uses System.generics.collection;

Type
  TMyRecord = Record
     Fstring : String;
     Fint : Integer;
  End;

  Tmylist = Tlist<TMyRecord>;

 Var
  MyList : TMyList;
  MyRecord:TMyRecord;
  I: integer;
Begin
  myList:= TMyList.Create;
  MyRecord.fstring:= 'Test';
  MyRecord.Fint:= 1234;
  MyList.Add(MyRecord);
...

  For MyRecord in MyList do
  Writeln(MyRecord.fstring);
...

  MyList.Free;
...

MrSpock 16. Dez 2012 20:02

AW: Record in Liste speichern
 
Zitat:

Zitat von Furtbichler (Beitrag 1195670)
Zitat:

Zitat von Helmi (Beitrag 1195660)
manchmal könnte man der Meinung sein, das Forum ist nicht für Leute da, die Hilfe suchen, sondern ist die Heimat für Leute, die auf Google verweisen können...

Bei Dir scheint es so zu sein, das Du einfach entweder zu faul oder zu unfähig bist, Google zu benutzen. Wozu denn auch, man kann ja auch einfach fragen. Ist ja sooo viel einfacher, andere für sich denken und arbeiten zu lassen. ;-)

Aber wer keine Eigeninitiative hat und stattdessen selbstkritikresistent rumtrompetet, der bringt es mit ziemlicher Sicherheit eh nicht weit. Nur blöd, das der Arbeitsmarkt mit 'Programmieren' überflutet wird, denen diese Einstellung offenbar in die Wiege gelegt wurd. Solange Du bei Delphi bleibst, bin ich aber beruhigt. :lol:

Ein Verweis auf Google als Antwort auf eine Frage ist nicht in allen Fällen eine sinnvolle Antwort. Häufig ist es dann besser gar nicht zu antworten und die Antwort denen zu überlassen, die eine Antwort geben wollen.

Völig inakzeptabel ist es aber, einen Fragenden in diesem Zusammenhang als faul oder unfähig zu bezeichnen. Solche Beschimpfungen sind hier unerwünscht! :warn:


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