Einzelnen Beitrag anzeigen

IronBytes

Registriert seit: 13. Dez 2023
Ort: bei Sigmaringen
9 Beiträge
 
Delphi XE8 Professional
 
#16

AW: String Grid speichern nur mit Fehler

  Alt 18. Dez 2023, 19:04
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.
  Mit Zitat antworten Zitat