AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

TObjectlist.add(record)?

Ein Thema von ozz · begonnen am 6. Mär 2006 · letzter Beitrag vom 7. Mär 2006
 
Benutzerbild von sniper_w
sniper_w

Registriert seit: 11. Dez 2004
Ort: Wien, Österriech
893 Beiträge
 
Delphi 6 Enterprise
 
#5

Re: TObjectlist.add(record)?

  Alt 6. Mär 2006, 22:44
Mit record kann man sehr wohl arbeiten, genauer gesagt mit den Pointers auf Record.
Delphi-Quellcode:
type
  TForm1 = class(TForm)
    Button1: TButton;
    ListBox1: TListBox;
    procedure Button1Click(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
    List:TList;
    procedure AddItem( NewItem:pointer);
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

type
  PmyRec = ^TmyRec;
  TmyRec = record
    item1:Integer;
    item2:Byte;
    item3:string; // vorsicht ;)
  end;

procedure TForm1.AddItem(NewItem: pointer);
begin
  with PmyRec( NewItem )^ do
  begin
    ListBox1.Items.Add( IntToStr( item1 ));
    ListBox1.Items.Add( IntToStr( item2 ));
    ListBox1.Items.Add( item3 );
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  newRec : PmyRec;
  i:Integer;
begin
  Randomize();

  if not Assigned(List) then
  begin
    List := TList.Create;
  end;

  for i:=0 to 10 do
  begin

    New( newRec );

    with newRec^ do
    begin
      item1 := random(100);
      item2 := random(255);
      item3 := 'hallo';
    end;

    List.Add( newRec );
    AddItem( newRec );
  end;
end;

procedure TForm1.FormDestroy(Sender: TObject);
var
  i:Integer;
  rec:PmyRec;
begin
  for i:= List.Count-1 downto 0 do
  begin
    rec := PmyRec ( List.Items[i] );
    rec^.item3 := '';
    List.Delete(i);
    Dispose(rec);
  end;

  List.Free();
end;
Katura Haris
Es (ein gutes Wort) ist wie ein guter Baum, dessen Wurzel fest ist und dessen Zweige in den Himmel reichen.
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:59 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