OSCAT Forum

oscat.lib => Bestehende Module / Existing Modules => Thema gestartet von: Steffen am 05. November 2008, 07:43:42

Titel: Buffer_Search mit Hex-Werten
Beitrag von: Steffen am 05. November 2008, 07:43:42
Guten Morgen !

Als neuer Teilnehmer erst mal vielen Dank für diese Super Bibliothek, dir mich bereits einmal davon abgehalten hat das Rad neu zu erfinden  ;)

Nun aber eine Frage : Ich muß in einem Array eine bestimmt Zeichenfolge finden, die aber nicht aus "normalen" Zeichen besteht, sondern aus Hex-Werten. Definitiv handelt es sich z.B. um 0x10 0x00 0x30 0x30 0x04. Die Routine Buffer_Search wäre dafür wohl geeignet, ich habe es aber bisher nicht geschafft meine Hex-Werte als Suchstring zu übergeben.

Sehe ich da den Wald vor lauter Bäumen nicht, oder habe ich eine andere Routine übersehen ??

Falls beides nicht zutrifft : Ist so eine Routine in Planung ?? Ansonsten muß ich mich halt selbst ranmachen und das ganze mal erfinden  :P

Vielen Dank im Voraus, Steffen
Titel: Re: Buffer_Search mit Hex-Werten
Beitrag von: hugo am 05. November 2008, 09:26:49
in welcher form liegt denn deine hex information vor?
als string, oder als bitmuster
Titel: Re: Buffer_Search mit Hex-Werten
Beitrag von: Steffen am 05. November 2008, 11:34:26
Hallo Hugo,

danke fürs lesen und melden. Die zu suchende Hex-Information liegt als Zeichenfolge vor. Das "packen" in einen String hat nicht geklappt (wg 0x00 ??).

Untersucht werden soll ein Array, das aus einer seriellen Schnittstelle im Ringspeicher-Prinzip gefüllt wird, das läuft auch bereits. Beim auftreten des Suchstrings soll dann eine Reaktion erfolgen.

Steffen
Titel: Re: Buffer_Search mit Hex-Werten
Beitrag von: hugo am 05. November 2008, 11:37:51
das versteh ich immer noch nicht:

du sagt sie liegt als zeichenfolge vor, was verstehst du unter zeichenfolge: string? oder binärwerte?
bitte gib an wie eine hex0 bei dir vorliegt? als 2#0000_0000 oder Zeichen '0' ???????

was willst du in einen string packen wenn es denn schoin als zeichenfolge 0x00 vorliegt?

bitte werde etwas spezifischer.
Titel: Re: Buffer_Search mit Hex-Werten
Beitrag von: Steffen am 05. November 2008, 12:29:18
Ok, dann habe ich mich nicht ganz vollständig ausgedrückt.

Ich muß die 5 Byte große, Hexadezimale (!!!!) Zeichenfolge 10 00 30 30 04  (entspricht 2#0000_1010  2#0000_0000  2#0001_1110   2#0001_1110   2#0000_0100) suchen.

In der allgemeinen Literatur werden Hexadezimale Werte ja meist als z.B. 0x30 (oder 0xFF) geschrieben, um darzustellen daß es kein Dezimalwert o.ä. ist.

Gesucht werden also 5 Byte, die (außer Hex 30) nicht im alphanumerischen Zeichenbereich liegen.

Steffen

Titel: Re: Buffer_Search mit Hex-Werten
Beitrag von: hugo am 05. November 2008, 12:34:05
ok das geht mit den momentanen buffer_search nicht weil dieser nur nach strings suchen kann.
in einem string dürfen aber keine zeichen mit wert 00 vorkommen, denn dieses zeichen dient als endzeichen für strings.
Titel: Re: Buffer_Search mit Hex-Werten
Beitrag von: Steffen am 05. November 2008, 15:36:11
Hallo Hugo,

hab ich's mir doch gedacht, daß das "Ende-Zeichen" Probleme bereitet  :(

Gäbe es denn mit den vorhandenen Routinen eine Möglichkeit, wenn ich das Hex 00 Zeichen nicht suche, sondern nur die anderen Hex-Werte ??

Steffen
Titel: Re: Buffer_Search mit Hex-Werten
Beitrag von: hugo am 05. November 2008, 15:40:04
wir werden in der 302 mitte november eine funktion buffer_comp drinhaben die wird das was du brauchst können