Meine derzeitige Lösung sieht so aus:
Der Vorgang geht natürlich zu lange, was die Progessbar auch anzeigt, da es sich auch um 35000 Einträge handelt. Wartezeit beim Laden sind ca 3 Sekunden. Ist nicht Super aber ich hatte auch nichts erwartet.
Zum Darstellen habe ich mir eine Memo4 unsichtbar auf das Formfeld geholt und von dort aus wieder eingelesen.
Ich lege das hier mal ab als Beispiel wie man es nicht macht
Delphi-Quellcode:
var
F: TStringList;
x1,y1,a,ie,bV,aha,z: Integer;
strV: string;
begin
OpenDialog1.Filter := 'Datenbank (*.dbs)|*.DBS';
if Opendialog1.Execute then begin;
strV:='';
a:=-1;
F := TStringList.Create;
try
F.LoadFromFile(opendialog1.FileName);
for y1 := 1 to 500 do begin;
progressbar1.Position:=Y1;
for x1 := 1 to 70 do begin;
a:=a+1;
edit28.text:=inttostr(a);
bv:=1;
memo4.Lines.Clear;
repeat
strV:=strV+F.Strings[a];
memo4.Lines.add (F.Strings[a]);
bv:=bv+1;
a:=a+1;
until F.Strings[a]='#Q#Q';
if bv >2 then stringgrid1.Cells[x1,y1]:=memo4.text
else stringgrid1.cells[x1,y1]:= strV ;
strV:='';
end;
end;
finally
F.Free;
end;
end;
progressbar1.Position:=0;
Thomas S.