AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Large Text File Viewer programmieren

Ein Thema von luke2 · begonnen am 19. Sep 2012 · letzter Beitrag vom 20. Sep 2012
Antwort Antwort
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#1

AW: Large Text File Viewer programmieren

  Alt 19. Sep 2012, 19:28
Eine andere Idee wären Memory Mapped Files. Allerdings habe ich damit so was noch nie realisiert. Aber mach dich doch mal in diese Richtung schlau.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von BUG
BUG

Registriert seit: 4. Dez 2003
Ort: Cottbus
2.094 Beiträge
 
#2

AW: Large Text File Viewer programmieren

  Alt 19. Sep 2012, 20:59
Ich würde eine Abbildung zwischen Zeilenpositionen und Blöcken (gleicher Größe) innerhalb der Datei machen.
Dafür würde ich für mir jeden Block, an den ich ausgelesen habe, merken, welche die erste Zeilennummer im Block ist.

Als Blockgröße würde ich 4kB vorschlagen, wenn du eh mit Memory Mapped Files arbeitest.
Der Index wäre dann aber auch relativ groß (ca. 20MB-40MB bei einer 20GB großen Datei).
Bei größeren Blöcken (zB. 4MB) wäre er entsprechend kleiner (20kB-40kB).

Damit würde Springen zu bestimmten Zeilen in der Datei relativ schnell
Intellekt ist das Verstehen von Wissen. Verstehen ist der wahre Pfad zu Einsicht. Einsicht ist der Schlüssel zu allem.
  Mit Zitat antworten Zitat
Furtbichler
(Gast)

n/a Beiträge
 
#3

AW: Large Text File Viewer programmieren

  Alt 19. Sep 2012, 21:05
Damit würde Springen zu bestimmten Zeilen in der Datei relativ schnell
...nachdem man die gesammte Datei einmal eingelesen hat, vorher nicht
  Mit Zitat antworten Zitat
Benutzerbild von BUG
BUG

Registriert seit: 4. Dez 2003
Ort: Cottbus
2.094 Beiträge
 
#4

AW: Large Text File Viewer programmieren

  Alt 19. Sep 2012, 21:18
...nachdem man die gesammte Datei einmal eingelesen hat, vorher nicht
Dann könnte man die anderen Strategien verfolgen und dabei den Index gleich mit aufbauen. Sobald man in der Datei sucht, muss man eh kontinuierlich lesen. Dabei kann man den Index gleich mit aufbauen. Man könnte den Index sogar speichern und bei Dateien, an die nur angehangen wird (bei großen Textdateien nicht unwahrscheinlich), sogar behalten, wenn die sich geändert haben.
Intellekt ist das Verstehen von Wissen. Verstehen ist der wahre Pfad zu Einsicht. Einsicht ist der Schlüssel zu allem.
  Mit Zitat antworten Zitat
Furtbichler
(Gast)

n/a Beiträge
 
#5

AW: Large Text File Viewer programmieren

  Alt 19. Sep 2012, 21:33
...nachdem man die gesammte Datei einmal eingelesen hat, vorher nicht
Dann könnte man die anderen Strategien verfolgen und dabei den Index gleich mit aufbauen. Sobald man in der Datei sucht, muss man eh kontinuierlich lesen...
Sag ich doch. Man muss die Datei einmal komplett durchgelesen haben und schnell zu einer bestimmten Zeile zu springen. "Langsam" geht das natürlich sofort.
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#6

AW: Large Text File Viewer programmieren

  Alt 19. Sep 2012, 21:42
Es gäbe ja auch die Möglichkeit die ersten Zeilen zu lesen und während der Anzeige in einem zweiten thread weiter zu lesen.

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Benutzerbild von hitzi
hitzi

Registriert seit: 2. Jan 2003
Ort: Eibau
768 Beiträge
 
Delphi 2010 Professional
 
#7

AW: Large Text File Viewer programmieren

  Alt 20. Sep 2012, 07:33
Luckie hat Recht. Memory Mapped Files machen das Anzeigen großer Dateien zum Kinderspiel. Ich hab das vor einiger Zeit mit dieser Klasse -> http://www.swissdelphicenter.ch/de/p...de.php?id=2013 <- umgesetzt. Damit kann man Teile eine Datei laden und anzeigen lassen ohne die ganze Datei laden zu müssen.
Thomas
Besucht doch mal http://www.hitziger.net
  Mit Zitat antworten Zitat
Antwort Antwort

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 19:02 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