OSCAT Forum
oscat.lib => Bestehende Module / Existing Modules => Thema gestartet 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
-
in welcher form liegt denn deine hex information vor?
als string, oder als bitmuster
-
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
-
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.
-
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
-
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.
-
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
-
wir werden in der 302 mitte november eine funktion buffer_comp drinhaben die wird das was du brauchst können