Frage zu Schreibweise [ ] und { } bei Array in Strukturen
Verfasst: 20.01.2017 15:48
Hallo,
bei der Umsetzung eine Prozedur für "Search/Replace" für binäre Daten zu schreiben, stolpere ich in der Hilfe in der
Sektion "Structure" über die folgenden Schreibweisen für Arrays in Strukturen:
Structure Irgendwas
Text1.s[2]
Text2.s{2}
EndStructure
Frage: Worin besteht der Unterschied zwischen Verwendung der eckigen Klammern und den geschweiften Klammern?
Und btw. was wäre der schnellste Ansatz (bezogen auf die Ausführunggeschwindigkeit), um in einer binären Datei
eine beliebig lange Bytefolge zu finden?
Angenommen man sucht "Apollo Mission" in einer Binärdatei (ich habe hier aus Darstellungsgründen einen Stringgewählt.
Die Prozedur soll natürlich nach beliebeigen Werten [$00-$FF] suchen können).
Ich würde die gesamte Datei zuerst in einen Speicherblock laden und dort mittels Schleife nach dem ersten
Byte der gesuchetn Bytefolge suchen (Also nach einem "A" bzw dem Byte $41). Erst, wenn dieses Byte übereinstimmt,
würde ich an dieser Stelle einen vollen Vergleich auf die gesamte nachfolgende Bytefolge durchführen ("pollo Mission").
Wenn die gesuchte Bytefolge > 2 oder > 4 Bytes ist, kann man das ganze auch mit einer WORD oder LONG Suche
beginnen ("Ap" bzw. "Apol", um nicht zu viele Fehlfunde zu bekommen die dann zeitraubend auf die gesamte Bytefolge geprüft werden.
Bietet PB andere Möglichkeiten, um eine schnelle Suche in Speicherblöcken zu realisieren?
Gruß Kurzer
bei der Umsetzung eine Prozedur für "Search/Replace" für binäre Daten zu schreiben, stolpere ich in der Hilfe in der
Sektion "Structure" über die folgenden Schreibweisen für Arrays in Strukturen:
Structure Irgendwas
Text1.s[2]
Text2.s{2}
EndStructure
Frage: Worin besteht der Unterschied zwischen Verwendung der eckigen Klammern und den geschweiften Klammern?
Und btw. was wäre der schnellste Ansatz (bezogen auf die Ausführunggeschwindigkeit), um in einer binären Datei
eine beliebig lange Bytefolge zu finden?
Angenommen man sucht "Apollo Mission" in einer Binärdatei (ich habe hier aus Darstellungsgründen einen Stringgewählt.
Die Prozedur soll natürlich nach beliebeigen Werten [$00-$FF] suchen können).
Ich würde die gesamte Datei zuerst in einen Speicherblock laden und dort mittels Schleife nach dem ersten
Byte der gesuchetn Bytefolge suchen (Also nach einem "A" bzw dem Byte $41). Erst, wenn dieses Byte übereinstimmt,
würde ich an dieser Stelle einen vollen Vergleich auf die gesamte nachfolgende Bytefolge durchführen ("pollo Mission").
Wenn die gesuchte Bytefolge > 2 oder > 4 Bytes ist, kann man das ganze auch mit einer WORD oder LONG Suche
beginnen ("Ap" bzw. "Apol", um nicht zu viele Fehlfunde zu bekommen die dann zeitraubend auf die gesamte Bytefolge geprüft werden.
Bietet PB andere Möglichkeiten, um eine schnelle Suche in Speicherblöcken zu realisieren?
Gruß Kurzer