AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

In Datei Suchen und Kopieren

Ein Thema von Horst0815 · begonnen am 12. Jan 2013 · letzter Beitrag vom 12. Jan 2013
 
MeierZwoo

Registriert seit: 3. Dez 2012
106 Beiträge
 
#3

AW: In Datei Suchen und Kopieren

  Alt 12. Jan 2013, 17:26
Seek geht grundsätzlich nur auf DatensatzNr, bei file ist der "DatenSatz" 1 lang, also müßte seek in Anzahl der byte angegeben werden.

Da Du aber die Position eh nicht kennst, kannst du auch nichts mit seek setzen. Die Position willst Du ja erst ermitteln.

Du kannst es mit BlockRead und Lesen in einen Schiebepuffer realisieren (AnsiString). Ist aber etwas aufwendig aber auch in ein paar Zeilen lösbar. Bei einem Schiebepuffer mußt Du vorallem darauf achten, daß beim neuen Einlesen vom vorherigen puffer die letzten 9 byte/Ansichar (9 hier = Tar Länge) erhalten bleiben und nach vorne in den Puffer gesetzt werden (da ja das tar in dem Rest als Teil vorkommen kann). Und wg. der Dateiposition mitzählen.

Wenn die Datei allerdings < 4GB ist, würde ich die Datei komplett ein einem Block in einen ansistring einlesen.

Dein Such/Vergleichswert (Signatur) ware aber als Ansi- oder Shortstring (bzw. string[9]) besser deklariert. Dann kannst du das Vorkommen über die String-Behandlungs-Routinen erledigen (pos(tar,Buffer)>0 ?).
  Mit Zitat antworten Zitat
 


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 09:08 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