Delphi-PRAXiS
Seite 5 von 5   « Erste     345   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Große Textdateien verarbeiten (https://www.delphipraxis.net/159661-grosse-textdateien-verarbeiten.html)

himitsu 7. Apr 2011 16:07

AW: Große Textdateien verarbeiten
 
Nja, ich hab ja schon was rausgerückt...
Das eine könnte man über einen virtuellen Tree anzeigen und zeilenweise bearbeiten
und das Andere könnte Teile in einem Memo anzeigen und bearbeiten.


Nja, wie schon mehrmals gesagt wurde, läd man sowas einfach nicht komplett und versucht es auch niemals komplett anzuzeigen, auch wenn es theoretisch mit Delphi XE2 möglich sein sollte.

-187- 7. Apr 2011 19:45

AW: Große Textdateien verarbeiten
 
Zitat:

Zitat von himitsu (Beitrag 1093691)
und das Andere könnte Teile in einem Memo anzeigen und bearbeiten.

Ja das hab ich jetzt schon mehrmals gehört aber wie geht man an sowas ran ? Ich habe keine Idee sonst hätt ichs schon eher probiert.

jobo 7. Apr 2011 19:59

AW: Große Textdateien verarbeiten
 
OT

Zitat:

Zitat von alfold (Beitrag 1093663)
Nennt man glaube ich dynamisches lesen und bearbeiten von grossen Textdateien!
(evtl gerade erfunden) :wink:
Der Kunde bekommt davon gar nichts mit!
Er scrollt in den Text so, als währe er komplett im Speicher.
alfold

Das kenn ich seit ca 1988(?). Das System war zu diesem Zeitpunkt sogar noch älter. Software war vielleicht word-star auf MS DOS 1, ich kann aber auch ganz falsch liegen. Der Rechner nannte sich WISDOM ?
Es gab ein 5.25" Floppy Laufwerk mit über 1.2 MB (!) Speicherplatz. Das Laufwerk arbeitete mit unterschiedlichen Umdrehungsgeschwindigkeiten und packte damit außen auf die Floppy mehr Sektoren als innen.
Beim Scrollen in Word-Star konnte man dann hören, wenn Text nachgeladen wurde und ob der Text eher innen oder außen gespeichert wurde...

Es kann eigentlich kein MS DOS gewesen sein. Ich glaub es gab zu der Zeit die ersten AT Rechner. Normale MS DOS Rechner mit 5.25" Floppies konnten 360 KB darauf speichern.

Ich glaub, nach den Rechnern muss ich noch mal im Netz suchen.

Christian Seehase 7. Apr 2011 20:26

AW: Große Textdateien verarbeiten
 
Moin 187,

bei derart grossen Dateien wirst Du um den dynamischen Zugriff auf die gerade angezeigten Daten (mit einem Stück davor und danach) spätestens ab 2GB (unter besonderen Umständen auch 3GB) nicht herumkommen, denn sonst geht Dir der Speicher aus.
Auch und gerade, wenn in der Datei noch gesucht/editiert werden soll, werden sich grosse Datenmengen im Speicher als erhebliche Bremse auswirken.
Lade einfach mal eine 500MB grosse Datei ins Notepad und versuch' mal eine Zeile einzufügen.
Dann kannst Du, meiner Erfahrung nach, bequem Kaffee kochen gehen bevor sich etwas rührt. :wink:

Als Stichwort für den Zugriff auf grosse Dateien kämen eventuell auch Memory Mapped Files in Frage (MMF) (zumindest wollte ich mir die mal für den genannten Zweck demnächst ansehen :wink:)

-187- 7. Apr 2011 20:42

AW: Große Textdateien verarbeiten
 
Ich hab mir einfach mal eine Datenbank zusammengebastelt weil es noch eine am einfachsten für mich realisierbare Variante wäre.

Speicherbedarf hab ich sogut wie garkein...Jedoch brauch ich für 500000 Zeile (7 mb) immernoch 2:30min :/ (Das liegt vielleicht daran weil ich für jede Zeile das Query ausführe, vielleicht kann man das noch optimieren.

Delphi-Quellcode:
  StartTime:=Time;
  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);
          IBQuery1.Close;
          IBQuery1.SQL.Clear;
          IBQuery1.SQL.Add('INSERT INTO LINES(MYFIELD) VALUES('''+tmp+''');');
          IBQuery1.Open;
        end;
      CloseFile(F);
    end;
  end;
  EndTime:=Time;
  ShowMessage('Time: '+TimeToStr(EndTime-StartTime));


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:52 Uhr.
Seite 5 von 5   « Erste     345   

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