Hi Luckie,
ich will mal für meinen Lösungsvoeschlag ein Beispiel anhängen:
Delphi-Quellcode:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 =
class(TForm)
Button1: TButton;
Memo1: TMemo;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private-Deklarationen }
public
{ Public-Deklarationen }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
type
Zeiger = ^tZeiger;
tZeiger =
record
Nr:Integer;
Str:
string;
Ptr: zeiger;
end;
var
StartZ, HilfPtr1,HilfPtr2: Zeiger;
procedure in_Liste(i:Integer;s:
string);
begin
New(HilfPtr1);
if i=0
then
Begin
New(HilfPtr2);
StartZ:=HilfPtr2;
end;
HilfPtr1^.Nr := i;
HilfPtr1^.Str := s;
HilfPtr2^.Ptr := HilfPtr1;
HilfPtr2:=HilfPtr1;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
T: Textfile;
s:
string;
i:integer;
begin
i:=0;
memo1.Clear;
Assignfile(t, '
test.txt');
reset(t);
while not eof(t)
do
begin
readln(t, s);
in_Liste(i,s);
inc(i);
end;
closefile(t);
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
HilfPtr1 := StartZ;
while (HilfPtr1 <>
nil)
do
begin
HilfPtr1 := HilfPtr1^.Ptr;
if HilfPtr1 <>
nil then
Memo1.Lines.Add(HilfPtr1.Str);
end;
end;
end.
///Der einzige "Nachteil" ist, dass die Textdatei von hinten nach vorn im Speicher liegt.
[edit] ich habe es jetzt umgedreht. Die Daten liegen jetzt in der richtigen Reihenfolge [/edit]
//Aber das lässt sich ja ändern.
mfg
BrunoT