PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : String konvertieren



guenter1604
28.07.2007, 19:04
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 ?

peterfido
28.07.2007, 19:57
Du hast die richtigen Befehle schon genannt.

for_ro
28.07.2007, 20:51
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.


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

guenter1604
29.07.2007, 11:01
Hallo for_o,

genau das habe ich gesucht.

Schön schlank und flott.

Danke !