-         

Ergebnis 1 bis 4 von 4

Thema: String konvertieren

  1. #1
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    18.05.2007
    Beiträge
    329

    String konvertieren

    Anzeige

    Hallo,

    ein String soll mit einer Schleife Zeichen für Zeichen durchgeklappert werden. Wenn bestimmte Ascii-Codes erscheinen sollen diese ersetzt werden. Leider finde ich keine passenden Befehle ausser MID() und ASC()

    Wie hole ich ein einzelnes Zeichen aus einem String, wie bekomme ich dessen Ascii-Code ?

  2. #2
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    18.05.2007
    Ort
    Berlin
    Alter
    46
    Beiträge
    765
    Du hast die richtigen Befehle schon genannt.
    Wenn das Herz involviert ist, steht die Logik außen vor! \/

  3. #3
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    16.02.2006
    Beiträge
    1.112
    Hallo,
    Mid() und Asc() kannst du natürlich verwenden.
    Wenn dir das zusammensetzen der Strings aber zu lange dauert, dann geht's auch über den Overlay Trick.
    Code:
    Dim I As Byte
    Dim Mystring As String * 20                                 'einen String mit max. Länge von 20 Zeichen definieren
    Dim Mybytes(20) As Byte At Mystring Overlay                 'Zusätzlich noch ein Array von Bytes
                                                                  'Ein String ist intern auch nichts anderes als eine Folge
                                                                  'von bytes. Die 20 Bytes in mybytes liegen jetzt tatsächlich
                                                                  'an den gleichen Adressen wie die 20 Character des Strings.
                                                                  'Es wird kein zusätzlicher Speicherplatz benötigt.
                                                                  'Da die Bytes in einem Array sind, kannst du sie in einer
                                                                  'Schleife direkt ansprechen, also z.B.
    
    Mystring = "abcdefgh"
    Do
       For I = 1 To Len(mystring)                               'nur bis ans string-ende
          If Mybytes(i) = Asc( "a") Then                        'wenn ein "a" gefunden wurde, ersetze es durch ein "u"
             Mybytes(i) = Asc( "u")
          End If
       Next I                                                   'nächstes zeichen
    Loop
    Gruß

    Rolf

  4. #4
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    18.05.2007
    Beiträge
    329
    Hallo for_o,

    genau das habe ich gesucht.

    Schön schlank und flott.

    Danke !

Berechtigungen

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