Forum: Mikrocontroller und Digitale Elektronik Bascom - String zerlegen


von anfänger (Gast)


Lesenswert?

Hallo
Ich will in Bascom einen String in seine einzelnen Bytes zerlegen.
D.h., ich habe eine Byte-Variable die auf den Ascii-Wert eines
bestimmten Zeichens im String gesetzt werden soll. Zum Beispiel auf den
ASCII-Wert des ersten Zeichens im String. Wenn das zum Beispiel ein A
ist sollte die Byte-Variable dann auf 65 gesetzt werden. Das
eigentliche Problem ist, dass ich nicht weiss, wie ich die einzelnen
Zeichen aus dem String erreiche. Das umwandeln der einzelnen zeichen in
den ascii wert ist mir klar.
danke im vorraus!

von andré (Gast)


Lesenswert?

Sieh dir mal die Befehle instr und mid an.

mfg

von anfänger (Gast)


Lesenswert?

jo danke. mid war das, was ich gesucht hab.

von Olaf (Gast)


Lesenswert?

Was auch gut geht ist, zwei Arrays anzulegen mit der gleichen Adresse
(Overlay). Dann kannst Du z.B. einen String und ein Byte-Array
"aufeinanderlegen". Wenn Du dann auf ein Zeichen im String zugreifst,
hast Du ein "A" und wenn Du die gleiche Stelle als Byte liest, hast
Du 65.

Also:

DIM EinString as String * 10
DIM EinPaarByte(10) as Byte at EinString Overlay

Gruß Olaf

von anfänger (Gast)


Lesenswert?

da hab ich auch schon drüber nachgedacht. aber muss dass dann nicht
heissen:

DIM EinString as String * 10
DIM EinPaarByte(11) as Byte at EinString Overlay

???

von Olaf (Gast)


Lesenswert?

Der String ist natürlich immer ein Byte länger (falls er die volle Länge
nutzt), weil er ja noch die abschliessende Null enthält. Habe ich im
übrigen bei bascom auch nicht probiert, scheint ja aber auch nicht die
eigentliche Frage zu sein, oder?

Gruß Olaf

von Ratber (Gast)


Lesenswert?

@Anfänger

Ich nutze für sowas und ähnliches auch öfters die Methode die Olaf
vorgeschlagen hat.

Damit kann man ne Menge kleine Spielchen udn Tricks veranstallten.

Probier einfach mal rum ,es lohnt sich (Nein ich bin nicht die
ADO-Tante g)


@Andre

Natürlich hast du auch recht also nix gegen dich.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.