AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Algorithmen, Datenstrukturen und Klassendesign FreePascal Eine sehr große textbasierte Datei durchsuchen?

Eine sehr große textbasierte Datei durchsuchen?

Ein Thema von begin.delphi · begonnen am 5. Dez 2017 · letzter Beitrag vom 6. Dez 2017
Antwort Antwort
Benutzerbild von himitsu
himitsu
Online

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

AW: Eine sehr große textbasierte Datei durchsuchen?

  Alt 6. Dez 2017, 12:33
...
Man könnte sich vorher auch einen Index aufbauen, wo der Anfang jedes Datensatzes in einer Namensliste steht, ...
Und der Index fällt vom Himmel?
aufbauen

Am Anfang einmal die Datei durchlaufen und in 'ner Liste das speichern (TStringList/TDictionary<>/...)

Es kommt vorallem darauf an wie oft er in dieser Datei was sucht.
Man kann den Inhalt auch in eine Datenbank schieben und dort weiterarbeiten.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

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

AW: Eine sehr große textbasierte Datei durchsuchen?

  Alt 6. Dez 2017, 13:01
...
Man könnte sich vorher auch einen Index aufbauen, wo der Anfang jedes Datensatzes in einer Namensliste steht, ...
Und der Index fällt vom Himmel?
aufbauen

Am Anfang einmal die Datei durchlaufen und in 'ner Liste das speichern (TStringList/TDictionary<>/...)
Genau! Den meisten von uns ist klar, das die Datei mindestens einmal vollständig gelesen werden muß. Alle weiteren Zugriffe sind dann je nach gewählter Technik weniger aufwendig. Nur es geht nicht ohne mindestens einmal vollständiges Lesen.

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

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

AW: Eine sehr große textbasierte Datei durchsuchen?

  Alt 6. Dez 2017, 14:52
Nur es geht nicht ohne mindestens einmal vollständiges Lesen.
Wenn die Daten in der Datei sortiert sind, dann muß man nicht vollständig lesen.

https://de.wikipedia.org/wiki/Bin%C3%A4re_Suche
- zur Mitte
- den Anfang des Blocks suchen
- schauen ob passend oder größer/kleiner
- wenn nicht passend, dann zur Mitte des Blocks davor oder dahinter usw.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Delphi.Narium

Registriert seit: 27. Nov 2017
2.554 Beiträge
 
Delphi 7 Professional
 
#4

AW: Eine sehr große textbasierte Datei durchsuchen?

  Alt 6. Dez 2017, 15:18
Die binäre Suche dürfte schwierig werden, man hat (selbst bei Sortierung) nicht eine Information pro Zeile (dann ginge das) sondern eine Information verteilt sich auf n bis m Zeilen.

Selbst wenn man das in eine Datenbank packt, muss man da erstmal eine 1 : n : m : keineahnungwieviele-Beziehung "aufbröseln".

Ein paar (kleine) Testdateien sind hier zu finden: http://www.familienbande-genealogie....ad/TestGED.zip
  Mit Zitat antworten Zitat
TiGü

Registriert seit: 6. Apr 2011
Ort: Berlin
3.071 Beiträge
 
Delphi 10.4 Sydney
 
#5

AW: Eine sehr große textbasierte Datei durchsuchen?

  Alt 6. Dez 2017, 15:35
Wer sich mal richtig austoben will:
http://genealogyoflife.com/tng/gedcom/Royal92.ged

3010 Personen. Europäische Königshäuser.

Kostenlose Windows-Software zum Anschauen:
http://www.ahnenblatt.de/
  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 13:48 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 by Thomas Breitkreuz