AGB  ·  Datenschutz  ·  Impressum  







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

Binäre Daten durchsuchen

Ein Thema von Mystic · begonnen am 12. Mär 2005 · letzter Beitrag vom 13. Mär 2005
Antwort Antwort
Benutzerbild von Mystic
Mystic

Registriert seit: 18. Okt 2003
Ort: Flerzheim
420 Beiträge
 
Turbo Delphi für Win32
 
#1

Binäre Daten durchsuchen

  Alt 12. Mär 2005, 13:02
Ich habe in einem TMemoryStream binäre Daten, in dem ab und zu eine Ziffernfolge auftaucht die mit TRIGSTR_ beginnt und mit dem Null-Zeichen #0 aufhört. Die Länge der Ziffernfolgen und die Abstände zwischen diesen Ziffernfolgen sind unterschiedlich.

Jetzt möchte ich nach diesen Stellen suchen und sie durch andere ersetzen. Dies müsste ich jeweils mit Ziffernfolgen gleicher und Zeichenfolgen unterschiedlicher Länge tun.

Beispiel (*=Binäre Daten):

Vorher:
Code:
**TRIGSTR_1039****TRIGSTR_032******TRIGSTR_398***
Nachher 1 (Ziffernfolge gleicher Länge):
Code:
**TRIGSTR_0039****TRIGSTR_002******TRIGSTR_271***
Nachher 2 (Zeichenfolge unterschiedlicher Länge):
Code:
**BlahBlahBlahBlah****BlahBlah******BlahBlahBlah***
Wie stelle ich das jetzt am besten an?
Jan Steffens
Der Fachwortgenerator - 100% Schwachsinn --- Der UPnP Router Manager - Kommentare erwünscht!
  Mit Zitat antworten Zitat
Fourcorner

Registriert seit: 26. Aug 2004
Ort: Grenzach-Wyhlen
51 Beiträge
 
Delphi 7 Personal
 
#2

Re: Binäre Daten durchsuchen

  Alt 12. Mär 2005, 13:59
Ich weiss nicht ob es dir hilf:
Wenn du die Datei als einen String ausgelesen hast könntest du mit AnsiPos die Anfangsposition der beiden Strings ("TRIGSTR_" und "#0") finden. Mit ansileftstr und ansirightstr kann man dann den String so "abschneiden", dass der neue String zum einfügen hinzugefügt werden kann.
Julian
  Mit Zitat antworten Zitat
Benutzerbild von Mystic
Mystic

Registriert seit: 18. Okt 2003
Ort: Flerzheim
420 Beiträge
 
Turbo Delphi für Win32
 
#3

Re: Binäre Daten durchsuchen

  Alt 13. Mär 2005, 02:32
Es hat sich jetzt erledigt. Ich kopiere den MemoryStream in einen TStringStream, um dort mit Pos nach TRIGSTR_ zu suchen. Danach lese ich byteweise die Nummer aus, bis ich auf ein anderes Zeichen treffe. Dann wird das Ganze ersetzt und alles was danach kommt wieder in (den geleerten) StringStream geschrieben und die Prozedur beginnt von neuem bis kein Vorkommen mehr gefunden wird.
Jan Steffens
Der Fachwortgenerator - 100% Schwachsinn --- Der UPnP Router Manager - Kommentare erwünscht!
  Mit Zitat antworten Zitat
Antwort Antwort


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 10:58 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz