Forum: Programmieren allgemein
by marabu,
13. Jan 2007
Hallo Hawkeye,
danke für die Korrektur - ich ahnte, dass mein disclaimer nötig war ...
Freundliche Grüße
Forum: Programmieren allgemein
by marabu,
13. Jan 2007
Hallo,
wenn deine Dateien doch riesig groß sind, dann möchtest du sie sicher portionsweise verarbeiten - chunk (maximal 64KB) ist die Portionsgröße und mein Code gehört in eine Schleife. Solange mindestens 64KB Restdaten gelesen werden können, wird der einmal allozierte Buffer benutzt, fällt der Rest unterhalb diese Größe, dann wird der Buffer redimensioniert.
Deine Experimente kann ich...
Forum: Programmieren allgemein
by marabu,
13. Jan 2007
Die Funktion Pos() selbst wird durch einen null character im String nicht behindert:
var
s: String;
i: Integer;
begin
s := '01234'#0'56789';
ShowMessage(IntToStr(Pos('6', s))); // liefert 8
end;
Forum: Programmieren allgemein
by marabu,
13. Jan 2007
Hallo Christian,
sowohl das Suchmuster, als auch der Datenstrom, lassen sich in Delphi als String betrachten. Das erspart die Implementierung einer speziellen Funktion, die lediglich die Signatur der Funktion Pos() anpassen würde - intern werden schon die vom Prozessor angebotenen Instruktionen für das register-gesteuerte Suchen eines Byte-/Wort-Wertes verwendet.
Freundliche Grüße
Forum: Programmieren allgemein
by marabu,
13. Jan 2007
Hallo,
für den Suchvorgang musst du die Daten vom externen Speicher in den Hauptspeicher laden - es führt kein Weg daran vorbei. Wie du dann weiter suchst ist eine Frage der Komplexität deiner Suche: einfaches oder reguläres Suchmuster? Pos() und Regex() helfen dir da weiter.
Grüße vom marabu