- fchao-Sinus-Wechselrichter AliExpress         
Ergebnis 1 bis 4 von 4

Thema: String nach Array umwandeln (?)

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    08.09.2007
    Ort
    Berlin
    Alter
    32
    Beiträge
    1.578
    Hallo,

    hab hier schnell was zusammengetippt, sollte aber funktionieren:
    Code:
    Dim Lenght As Word
    Dim Receive_ar(130) As Byte
    Dim Rxd_buffer As String * 130
    Dim Tmp As Word
    
    
    '...
    '...
    
    Lenght = Len(rxd_buffer)
    For Tmp = 1 To Lenght
       Receive_ar(tmp) = Mid(rxd_buffer , Tmp , 1)
    Next Tmp
    Auch wenn diese Variante nicht die schnellste ist, funktionieren tuts
    Oder aber evtl. mittels Overlay:
    Code:
    Dim Rxd_buffer As String * 130
    Dim Receive_ar(130) As Byte At Rxd_buffer Overlay
    Dabei stehen dann die Werte automatisch im Array, da es streng genommen gar kein Array gibt, sondern du die Bytes, aus denen der String besteht, nur indirekt darüber ansprichst. Hat aber den Nachteil, dass wenn du das Array veränderst, du auch gleichzeitig den String veränderst. Außerdem musst du dann selbst herausfinden, wann der String zu Ende ist, sofern er nicht automatisch sowieso immer 130 Zeichen lang ist.... Diese Variante ist deutlich schneller, da sie eig gar keine Rechenzeit benötigt

    Gruß
    Chris

  2. #2
    Benutzer Stammmitglied
    Registriert seit
    30.12.2006
    Beiträge
    57
    Hi,

    danke für die schnelle Antwort. da werde ich mal probieren

    sz
    Its not a bug its a feature

  3. #3
    Benutzer Stammmitglied
    Registriert seit
    30.12.2006
    Beiträge
    57
    Hi,

    also, ich habe natürlich zuerst die Overlay Variante ausprobiert -> funktioniert.
    Aber eins ist (für mich) seltsam:
    wenn ich das overlay direkt über meinen bD_strg lege, so
    Code:
    Dim Rxdbuffer(130) As Byte At Bd_str Overlay
    dann meldet BASCOM: Error : 90 Line : 155 Address out of bounds [RXDBUFFER] , in File : D:\Bascom_Projekte\ .... .bas
    schreibe ich aber:
    Code:
    Dim Rxdbuffer(130) As Byte At Rxd_buffer Overlay
    geht es.
    MM habe ich alles richtig dim:
    Code:
    Dim Bh_str As String * 130
    Dim Dk_str As String * 130
    Dim Bd_str As String * 130
    Dim Rxd_buffer As String * 130
    'Dim Rxdbuffer(130) As Byte At Rxd_buffer Overlay
    Dim Rxdbuffer(130) As Byte At Bd_str Overlay
    eigenartig; na egal, Haupsache es funzt.
    @ Chris: vielen Dank für Deine Hilfe

    Uwe
    Its not a bug its a feature

Ähnliche Themen

  1. Integer in String umwandeln????
    Von KüSä im Forum PIC Controller
    Antworten: 12
    Letzter Beitrag: 20.12.2008, 20:56
  2. byte umwandeln in string
    Von xcool im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 10
    Letzter Beitrag: 30.11.2008, 22:09
  3. String zerlegen und umwandeln ?!
    Von Roberto im Forum C - Programmierung (GCC u.a.)
    Antworten: 34
    Letzter Beitrag: 08.08.2007, 10:27
  4. Word in String umwandeln
    Von Elektro-Jack im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 1
    Letzter Beitrag: 07.08.2007, 22:08
  5. string in zahl umwandeln
    Von pebisoft im Forum C - Programmierung (GCC u.a.)
    Antworten: 5
    Letzter Beitrag: 09.06.2005, 14:20

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Solar Speicher und Akkus Tests