Hallo, ich bin blutiger anfänger in VB und suche schon den ganzen tag nach einer möglichkeit einen langen string (118 zeichen), bestehend aus nullen und einsen auseinanderpflücken zu können, sprich mir jedes zeichen einzeln aus dem string holen zu können um es auszuwerten. nebenbei: den string bekomme ich mittels MSComm über die rs232 von einem µC rein. evtl gibt es ja alternativ die möglichkeit die zeichen in ein array einzulesen? dann könnte ich ja auf jeden fall byte für byte auswerten. Gruß Chillman
also unter c# würde ich das so machen foreach(char c in string) { //machwas mit dem zeichen in der variable c } sowas sollte es auch unter vb geben
Wenn es wirklich ein String ist, dann solltest Du ihn mit Mid$() zerlegen können. Um nicht hinter das Stringende zu greifen, sollest Du mit Len() doe Länge des Strings ermitteln. ...
der string ist ein code aus nullen und einsen aus 118 zeichen den ich kommplett zerlegen will.einige zeichen sollen dann einzeln ausgewertet werden und andere zu einer neue zeichenkette zusammengefügt werden habs schon z.b. mit mid(string1,10,[1])=mid(stringx,3,[1]) veruscht. dass das 10 zeichen aus string1 zum 3ten zeichen in stringx wird. sowas wäre am optimalsten
Also so richtig verstehe ich Dich immer noch nicht... Chillman wrote: > der string ist ein code aus nullen und einsen aus 118 zeichen Ist das bereits ein "String", also liegt er bereits in einer Variable vom Typ String mit der Länge von 118 Zeichen?? (Nachprüfen mit "Len(string)") > den ich > kommplett zerlegen will.einige zeichen sollen dann einzeln ausgewertet > werden und andere zu einer neue zeichenkette zusammengefügt werden Das sollte problemlos möglich sein. > habs schon z.b. mit > > mid(string1,10,[1])=mid(stringx,3,[1]) > > veruscht. Und?? Hat es das gemacht, was Du erwartet hast? > dass das 10 zeichen aus string1 zum 3ten zeichen in stringx > wird. sowas wäre am optimalsten Wenn ich aus Fragmenten eines Strings einen anderen String zusammenbauen muss, dann fange ich meist mit einem leeren String an. String2="" Dann füge ich (manchmal in einer Schleife) die benötigten Teile hinzu: String2=String2 & Mid$(String1,x,y) String2=String2 & " " & Mid$(String1,a,b) 'Lerrzeichen als Trennzeichen Auch Konstanten (wie das Leerzeichen) lassen sich so einfügen. ...
Moin, ja das hatte funktioniert, allerding wurde es mir irgendwann zu viel das per hand zu machen, da ich das ganze auch noch andersrum machen muss. daher die idee die zeichen komplett erstmal umzustellen, d.h aus dem ersten string (Daten) mit 118 zeichen wird ein neuer string (Daten2) mit 118 zeichen aber mit einer anderen reihenfolge. dazu hab ich mir dann ein array gebastelt, dass die neue reihenfolge enthällt und dann versucht das über eine sschleife zu machen, dies funktioniert aber leider nicht und ich verstehe nicht warum Dim i as byte Dim k as byte . . . position=array(115,4,15,17,usw.) . . . k=0 For i = 1 To 118 Mid(Daten2, i, 1) = Mid(Daten, position(k), 1) k = k + 1 next . . . dabei kommt dan folgende fehlermeldung "Laufzeitfehler '13' Typen unverträglich"
Hi, probiere es mal damit:
1 | Public Function Sting_To_Byte(ByVal vData As String) As Byte() |
2 | Dim Bytes() As Byte |
3 | Dim ActByte As Long |
4 | |
5 | ReDim Bytes(Len(vData) - 1) ' erzeuge Array, Start mit 0 |
6 | |
7 | For ActByte = 0 To UBound(Bytes) |
8 | ' Mid startet seine Zählung von 1 an ! |
9 | |
10 | Bytes(ActByte) = Asc(Mid(vData, ActByte + 1, 1)) |
11 | Next ActByte |
12 | Sting_To_Byte = Bytes |
13 | |
14 | End Function |
bye Klaus
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.