- fchao-Sinus-Wechselrichter AliExpress         
Ergebnis 1 bis 6 von 6

Thema: Aus einem String Daten ausmaskieren

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1

    Aus einem String Daten ausmaskieren

    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

  2. #2
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.842
    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
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

  3. #3
    Danke erst mal Robert! Ich muß erst mal etwas lesen und das ausprobieren.
    Gruß Hans

  4. #4
    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

  5. #5
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    23.05.2004
    Beiträge
    209
    hallo,

    mit welchem Handy arbeitest du da wenn ich fragen darf.

  6. #6
    Mit einem ME45 von Siemens und STK200 mit AT908535.
    Warum?
    _________
    Gruß Hans

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

12V Akku bauen