-
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:
Code:
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 :-)
Code:
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
Code:
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:
Code:
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
-