du skal lave en Record der kan indeholde dine data og så lave et array af din Record slags. Eller rettere pointere af samme;
Prøv der her : To knapper og et memo felt også det følgende kode :
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;
type
TForm1 = class(TForm)
ButtonAdd: TButton;
ButtonDisplay: TButton;
Memo1: TMemo;
procedure ButtonAddClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure ButtonDisplayClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
pMyRecord = ^TMyRecord;
TMyRecord = record
Tal : Integer;
Bogstav : Char;
Streng : PChar;
end;
(*
Streng er af typen Pchar fordi så kan du gemme den på disken senere .....
*)
const
ELEMENTS_COUNT = 5;
var
Form1: TForm1;
MyRecordArray : array [0..ELEMENTS_COUNT] of pMyRecord;
implementation
{$R *.DFM}
procedure TForm1.ButtonAddClick(Sender: TObject);
var
MyRecord : pMyRecord;
i,j,k : Integer;
begin
for i:= 0 to ELEMENTS_COUNT do
begin
new (MyRecord);
MyRecord^.Tal := Random(500);
j:= Random(255-32);
MyRecord^.Bogstav := chr(32 + j);
j := Random(25);
GetMem(MyRecord^.Streng,j);
for k:= 0 to j-1 do
MyRecord^.Streng[k] := chr(65+k);
MyRecordArray[i] := MyRecord;
end;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
Randomize;
end;
procedure TForm1.ButtonDisplayClick(Sender: TObject);
var
i : Integer;
MyRecord : pMyRecord;
begin
Memo1.Lines.Clear;
for i:= 0 to ELEMENTS_COUNT do
begin
MyRecord:= MyRecordArray[i];
Memo1.Lines.Add(IntToStr(MyRecord^.Tal));
Memo1.Lines.Add(MyRecord^.Bogstav);
Memo1.Lines.Add(MyRecord^.Streng);
end;
end;
end.
Jens B (
http://fotx.net/borrisholt)