Archiv verlassen und diese Seite im Standarddesign anzeigen : String und byte
hi, ich will aus einen string einen buchstaben(also ein byte) in eine variable speichern, die ich als byte declariere. ich hab mir das so vorgestellt:
dim var1 as byte
dim var2 as string *23
var2 = "Hallo Welt"
var1= mid(var2,1,1)
mein problem ist, das ich var1 als byte brauche und nicht als string *1 nehmen kann.
danke schonmal für eure tipss
gruss
markus
LOL, probieren geht über studieren ^^
du kannst einfach die var1 als string*1 nehmen, und dann ne weitere variable dimmen, mit byte als typ, und dann schreiben var3=var2, dann steht im falle von einem großen H in var3 nun 72 ^^
ich glaube doch das wollteste oder?
Martin
:-) so funzt es :-)
Dim Var1 As Byte
Dim Var2 As String * 23
Dim Var3 As String * 1
Var2 = "Hallo Welt"
Var3 = Mid(var2 , 1 , 1)
Var1 = Var3
aber wieso gehts nicht direkt?
dann noch eine kleine frage, gibt irgendwie ein befehl der einen string automatisch in grossbuchstaben wandelt (also aus "Hallo" "HALLO" machen)
Gruss
Markus
das mit dem dirket iss sone sache, die bascom leutz wissen ja nich immer, was du mit der methode machen willst, also machen sies herkömmlich mit strings, und du musst ja dann nur noch einmal umformen was ja nich mehr soo schwer iss...
UCASE verwandelt alles in großbuchstaben, LCASE in kleine.
aber mach nich so viel mit stringmanipulation, des iss schlecht mit den avrs, die brauchen ziemlich lang dafür, nimm überall wo du kannst lieber zahlen, das tut dem auf jeden fall besser, und senkt die ausführungszeit
Martin
ich komm da leider nicht um strings ganz rum, da ich ein adapter zwischen rs232 und einen bus für ein display baue.
danke nochmal für deine hilfe und erklärung
zu früh gefreut. :/ sobald einmal mid über rline1 ist wird der inhalt der variablen total verändert
For I = 1 To 8
Tmpbytevar = Mid(rline1 , I , 1)
Radiotext(i) = Tmpbytevar
Next I
nochmal, was soll da jetzt gehen, und was geht nich?
wenn ich rline1="HALLO123"
dann steht danach in radiotext(1) "H" in radiotext(2) ein "O" und die von 3-8 sind leer
die variablen sind so declariert:
Dim Tmpbytevar As String * 1
Dim Rline1 As String * 8
Dim Radiotext(8) As Byte
also so funztes bei mir super:
Dim Tmpbytevar As String * 1
Dim Rline1 As String * 8
Dim Radiotext(8) As Byte
Rline1 = "HALLOWEL"
Dim I As Byte
For I = 1 To 8
Tmpbytevar = Mid(rline1 , I , 1)
Radiotext(i) = Tmpbytevar
Next I
Martin
Schau mal, vielleicht hilft das
https://www.roboternetz.de/wissen/index.php/Bascom_Strings_und_Bytes
jetzt läufts auf einmal. entweder der simulator hat gesponnen oder???
ich hab auf alle fälle kein bit im quellcode geändert.
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.