AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Große Textdateien verarbeiten

Ein Thema von -187- · begonnen am 7. Apr 2011 · letzter Beitrag vom 7. Apr 2011
Antwort Antwort
Seite 2 von 5     12 34     Letzte »    
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.619 Beiträge
 
Delphi 12 Athens
 
#11

AW: Große Textdateien verarbeiten

  Alt 7. Apr 2011, 12:06
Memo.Lines.BeginUpdate und Memo.Lines.EndUpdate benutzt Du bereits?
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
-187-

Registriert seit: 24. Sep 2005
483 Beiträge
 
Delphi 2010 Architect
 
#12

AW: Große Textdateien verarbeiten

  Alt 7. Apr 2011, 12:15
Hmm ne Hört sich Interessant an

Werde es gleich testen.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.033 Beiträge
 
Delphi 12 Athens
 
#13

AW: Große Textdateien verarbeiten

  Alt 7. Apr 2011, 12:25
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.

Memo1.Lines.AddStrings(sl); (ich weiß jetzt nicht, ob da schon ein BeginUpdate enthalten ist)
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
-187-

Registriert seit: 24. Sep 2005
483 Beiträge
 
Delphi 2010 Architect
 
#14

AW: Große Textdateien verarbeiten

  Alt 7. Apr 2011, 12:28
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;
  Mit Zitat antworten Zitat
Bbommel

Registriert seit: 27. Jun 2007
Ort: Köln
655 Beiträge
 
Delphi 12 Athens
 
#15

AW: Große Textdateien verarbeiten

  Alt 7. Apr 2011, 13:24
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
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.767 Beiträge
 
Delphi 10.4 Sydney
 
#16

AW: Große Textdateien verarbeiten

  Alt 7. Apr 2011, 13:28
Hmm im Grunde möchte ich mit einer Schleife mehrere Dateien in einem Memo aneinander hängen.
Du willst 500MByte Textdateien in ein Memo packen - wer will/muss das denn lesen?
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
Klaus
  Mit Zitat antworten Zitat
-187-

Registriert seit: 24. Sep 2005
483 Beiträge
 
Delphi 2010 Architect
 
#17

AW: Große Textdateien verarbeiten

  Alt 7. Apr 2011, 14:13
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).
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.619 Beiträge
 
Delphi 12 Athens
 
#18

AW: Große Textdateien verarbeiten

  Alt 7. Apr 2011, 14:15
Du sollst etwas darstellen, was dann niemand liest?
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von Deep-Sea
Deep-Sea

Registriert seit: 17. Jan 2007
907 Beiträge
 
Delphi XE2 Professional
 
#19

AW: Große Textdateien verarbeiten

  Alt 7. Apr 2011, 14:18
Das soll auch keiner lesen jedoch soll es dargestellt werden. -> Kundenwunsch
Jaja, die Kunden
Wird jede Zeile auch als eigene Zeile dargestellt? Dann wäre z.B. eine ListBox (oder ähnliches) im virtuellen Modus eine Lösung ...
Chris
Die Erfahrung ist ein strenger Schulmeister: Sie prüft uns, bevor sie uns lehrt.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.619 Beiträge
 
Delphi 12 Athens
 
#20

AW: Große Textdateien verarbeiten

  Alt 7. Apr 2011, 14:21
Wird jede Zeile auch als eigene Zeile dargestellt? Dann wäre z.B. eine ListBox (oder ähnliches) im virtuellen Modus eine Lösung ...
Oder gleich der VST.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 5     12 34     Letzte »    


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:08 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz