www.mikrocontroller.net

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


Autor: Uwe Neubert (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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!!!

Autor: Sebatian Heyn (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Klaus Oelsner (klaus)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Uwe Neubert (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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!

Autor: André K. (andre-)
Datum:

Bewertung
0 lesenswert
nicht 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é

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.