Einzelnen Beitrag anzeigen

Benutzerbild von stoxx
stoxx

Registriert seit: 13. Aug 2003
1.111 Beiträge
 
#13

Re: TStringlist, THashedStringlist gibts nichts schnelleres?

  Alt 23. Mär 2010, 15:58
@ Muetze1 .. nein, er schrieb ja, dass es ab der Stringgrid langsam wird, das zuweisen ist alles noch fix.

also das Problem ist, dass Du den gesamten Text in die Stringgrid kopierst. Das schafft die nicht wirklich. Dafür ist sie nicht gedacht.
Was Du brauchst ist eine "virtuelle" Stringgrid.
Du musst im Ereignis OnDrawCell den Text mit Canvas.Textout selbst zeichnen.
Und immer nur den bereich, der auf dem Bildschirm zu sehen ist. die Stringlist fungiert nur als Hintergrundspeicher.
Dann gehts auch fix ...
Für riesige Files, die größer sind als Dein Hauptspeicher, brauchst Du das File noch nichtmal in den Hauptspeicher laden.
Dann genügt es, wenn Du nur den aktuellen Bereich, der vom User gerade angezeigt werden möchte lädst und anzeigst.
Aber solche einfachen Dinge kann noch nicht mal Notepad .. Ultraedit macht das aber ...




Im Prinzip reicht für solche großen Textdateien dann auch eine TDrawGrid ...


P.S. für die Funktion StringReplace gibts in der JCL von Jedi eine schnellere Variante als die in der VCL
Phantasie ist etwas, was sich manche Leute gar nicht vorstellen können.
  Mit Zitat antworten Zitat