Forum: Mikrocontroller und Digitale Elektronik String in Variablen umwandeln? BASCOM !


von Uwe Neubert (Gast)


Lesenswert?

Hi! Ich suche eine Lösung, einen String, bestehend aus 5 Zeichen, in 5
Variablen aufzulösen. Angenommen der String "Zahl" hat den Inhalt
12345 bekommen (Codeschloss oder so). Nun mag ich einzelnen 5 Ziffern
in 5 verschiedene Variablen (word) umwandeln.

...Word1 as word
...Word2 as word
...Word3 as word   usw. in der Definierung am Programmanfang.

Es soll also am Ende Word1 den Inhalt 1 haben, Word2 soll den Inhalt
der zweiten Stelle im String bekommen, also 2 usw.

Es hat den Sinn, dass ich eben einen fertigen String einzeln wieder
aufteilen muss um die einzelnen Zahlen zu verarbeiten. Kann mir da
einer helfen?

Habsch noch garnicht erwähnt>>>>> es handelt sich um BASCOM!!!

von Sebatian Heyn (Gast)


Lesenswert?

wieso word? voll der speicher verplämpert.

also mit einer hilfvariable sagen wir mal

hilf as string*1

hilf=mid(zahl,x,1) ' ergibt einen neuen string mit dem inhalt der
stelle X der variable zahl

danach

word1=val(hilf) 'string(hilf)-> word1 ziffer

im prinzip macht das aber wenig sinn.
wenn du ein codeschlodd bauen willst kannst du auch mit

hilf=mid(zahl,x,1)
if hilf="2" then
gosub richtig
else
gosub falsch
end if

arbeiten

von Klaus O. (klaus)


Lesenswert?

Dim Zahl as String *5
Dim Einzeln(5) as Byte at Zahl overlay

So etwa solltest du auf die  Ziffern (Einzeln(i)) zugreifen können.

von Uwe Neubert (Gast)


Lesenswert?

Hallo sebastian,

das mit dem Codeschloss war nur ein Beispiel. Es geht um Prinzipielles
Auflösen eines fertigen Strings. Egal wie :-) Danke für die ersten
Tips, werde das demnächst mal probieren. Danke!

von André K. (andre-)


Lesenswert?

Dim Zahl as String *5
Dim Einzeln(5) as Byte at Zahl overlay

So etwa solltest du auf die  Ziffern (Einzeln(i)) zugreifen können.


Da klappt nur bedingt, denn du wirst als Ergebnis nicht den wahren Wert
des Strings herausbekommen, sondern den Ascii-Wert des jeweiligen
Zeichens.


Beste Gruesse,
André

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.