PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Aus einem String Daten ausmaskieren



Olli2301
12.12.2006, 17:54
Kann mir jemand helfen?
Ich möchte mit BascomAVR aus einem String der in -Stest- abgelegt wurde, nur einen Teil ausfiltern und den Rest weglassen.
z.b.
Über RS232 ist folgendes angekommen und steht in Stest zur Verfügung:

0791947.....C0060212100130140 (032A5819) CRLFCRLFOKCRLF
------------
Ich möchte nur den Teil in Klammer haben, den Rest nicht.
Wie macht man sowas?
Scheinbar ist es ganz einfach, weil ich im Forum nix drüber gefunden habe.
Gruß Hans

PicNick
12.12.2006, 18:06
Naja, du suchst dir mit "INSTR()" die "(" Klammer auf, von dort weg, auch mit "instr()", die ")" und mit "MID" klaubst du dir den Wert in der Klammer raus.
"Bascom-Help" for help

Olli2301
12.12.2006, 19:19
Danke erst mal Robert! Ich muß erst mal etwas lesen und das ausprobieren.
Gruß Hans

Olli2301
12.12.2006, 21:09
Danke Robert, es funktioniert.
So schauts jetzt aus:


....
************************************************** ***********
'--- LCD Löschen
Cls
Wait 1
'-------------------------------------------------------------------------------
Dim Stest As String * 20
Dim S As Word
Dim Bp As Byte

On Urxc Onrxd
Enable Urxc
Enable Interrupts

'-- at&f BEFEHL zum reset
Print "at&f"
'Als Antwort vom Handy kommt: => AT&FCRCRLFOKCRLF
Wait 1
'--Länge des Strings "Stest" => S=11
S = Len(stest)
'--Pos von "OK" im String "STEST" // Achtung Großschreiben!// Pos=8
Bp = Instr(stest , "OK")

'-- Nur zum Anzeigen am LCD
Locate 1 , 1
Lcd "Stest=: " ; Stest '-- STEST=a t & f cr cr lf o k cr lf
Wait 1

Locate 4 , 1
Lcd "Bp=" ; Bp ' Position Bp=8
Wait 1

Locate 4 , 7
Lcd "S=" ; S ' S=11
Wait 1
Return

'-- Zeichen vom USART holen und zu String zusammenstellen in Stest
Onrxd:
Stest = Stest + Chr(udr)
Return
'************************************************* ***********

-----------------------
Gruß Hans

m_herr
13.12.2006, 20:17
hallo,

mit welchem Handy arbeitest du da wenn ich fragen darf.

Olli2301
13.12.2006, 22:53
Mit einem ME45 von Siemens und STK200 mit AT908535.
Warum?
_________
Gruß Hans