![]() |
AW: Große Textdateien verarbeiten
Memo.Lines.BeginUpdate und Memo.Lines.EndUpdate benutzt Du bereits?
|
AW: Große Textdateien verarbeiten
Hmm ne :) Hört sich Interessant an :)
Werde es gleich testen. |
AW: Große Textdateien verarbeiten
sl.Text hängt alle Zeilen zu einem String zusammen ... also in der SL liegt jede Zeile als eigenständiger String rum und danach müssen Alle nochmal in einen gemeinsamen String rein > doppelder Speicher und diesmal muß er sogar zusammenhängend im RAM vorliegen.
Delphi-Quellcode:
(ich weiß jetzt nicht, ob da schon ein BeginUpdate enthalten ist)
Memo1.Lines.AddStrings(sl);
|
AW: Große Textdateien verarbeiten
Hmm dauert immernoch lange...
Mein System: Quad Core, 2Ghz, 4GB Ram Hier eine Test Procedure. Vor dem Aufruf wird "Memo1.Lines.BeginUpdate;" und hinterher "Memo1.Lines.EndUpdate;" aufgerufen ..
Delphi-Quellcode:
for i:=1 to Form1.StringGrid1.RowCount do
begin Path:=Form1.StringGrid1.Cells[1,i]; if FileExists(Path) then begin AssignFile(F,Path); Reset(F); while not eof(F) do begin Readln(F,tmp); Form1.Memo1.Lines.Add(tmp); end; CloseFile(F); end; end; |
AW: Große Textdateien verarbeiten
Hm, ich weiß, dass es nicht immer so beliebt ist, erst mal die eigentliche Frage selbst infrage zu stellen, aber so richtig zurückhalten kann ich mich gerade nicht - rein aus Neugierde - und bitte daher schon mal vorab um Entschuldigung. :)
Was um Gottes Willen willst du denn eigentlich mit einer 500-1000 MB großen Datei in einem Memo? Das kann sich doch kein Mensch niemalsnicht durchlesen... ;) Wenn es nur um das Zusammenfügen mehrerer Dateien geht, würde ich doch nicht über ein Memo gehen. Und wenn das Ganze doch unbedingt angezeigt werden soll, wäre es vielleicht auch eine Überlegung, nicht immer alles zu laden und anzuzeigen, sondern auch nur das aus der Datei zu holen, was auch gerade für den Benutzer sichtbar ist. Das ist natürlich einiges mehr an Aufwand zu programmieren (man müsste ja eine Art eigenes Memo erstellen, das genau das macht), sollte aber den Speicher schonen und dann wären den Dateigrößen wahrscheinlich gar keine Grenzen durch dein Programm mehr gesetzt. Bis denn Bommel |
AW: Große Textdateien verarbeiten
Zitat:
Wenn es nur ums zusammenfügen geht, wäre ein nicht visueller Ansatz sinnvoller. Mit copy auf command Ebene kann man auch Dateien aneinanderhängen. Grüße Klaus |
AW: Große Textdateien verarbeiten
Das soll auch keiner lesen jedoch soll es dargestellt werden. -> Kundenwunsch
Das Zusammenfügen soll / kann in nicht visueller Ebene passieren jedoch will ich nicht alles in einer Variable schreiben (Speicher Auslastung). |
AW: Große Textdateien verarbeiten
Du sollst etwas darstellen, was dann niemand liest? :gruebel:
|
AW: Große Textdateien verarbeiten
Zitat:
Wird jede Zeile auch als eigene Zeile dargestellt? Dann wäre z.B. eine ListBox (oder ähnliches) im virtuellen Modus eine Lösung ... |
AW: Große Textdateien verarbeiten
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:35 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz