Wenn ich's richtig verstanden habe, suchst du die Texte von denjenigen
Zeilen, die ein bestimmtes Kennzeichen haben.
Wenn du das Tempelmannsche Array hast, könntest du das Array nach
Kennzeichen sortieren.
Als nächstes ginge es darum, diejenigen Array-Elemente zu finden, die ein
bestimmtes Kennzeichen haben.
Normalerweise müsstest du jetzt alle Elemente des Arrays ablaufen und
jeweils prüfen, welches das erste Element mit dem gesuchten Kennzeichen ist
und welches das letzte ist.
Diesen Such-Vorgang könnte man abkürzen mit dem sog. Artillerie-Verfahren
(bei 100 Elementen prüfst du Element 50; falls größer als gesucht, prüfe
Element 25, falls kleiner(!) als gesucht, prüfe 37 (25+12), falls kleiner
als gesucht, prüfe 43 (37+6), .... Kurz: immer die Hälfte des jeweils
verbleibenden Intervalls auf größer/kleiner prüfen).
Man kann 'mal durchrechnen, nach höchstens wievielen Such-Schritten man das
gesuchte Element gefunden hat in Abhängigkeit von der Gesamtzahl der
Elemente. Das ist auf jeden Fall nur ein Bruchteil aller Elemente.
Bei einer sehr großen Anzahl von Elementen wäre auch der Gedanke nicht
abwegig, eine Datenbank-Tabelle anzulegen und mit einer SQL-Abfrage zu
suchen.
beste Grüße, Christian Hahn.
----- Original Message -----
From: "Stefan Mettenbrink" <s.me...@gmx.de>
To: "Mailingliste Realbasic" <realbasic-nug.de@lists.realsoftware.com>
Sent: Wednesday, May 04, 2011 5:03 PM
Subject: Textdateien prüfen
Ich möchte einen Ordner Textdateien auf vorhandensein von bestimmten
Textfragmenten prüfen. Dazu habe ich die Datei in einen String
eingelesen und dann per NthField die passenden Stellen rausgesucht (mir
geht es um den Text hinter dem Kennzeichen). Da es durchaus auch mehrere
tausend Zeilen mit diesem Kennzeichen sein können, dauert das
Prozedere recht lange.
Hat jemand eine Idee, wie man die Suche beschleunigen kann?
Zum besseren Verständnis:
Die Dateien enthalten zeilenweise Text. Am Zeilenanfang ist ein
Kennzeichen, danach folgt bis zum Zeilenende der wesentliche Text.
MfG, Metti.