Zuviel Werbung? - > Hier kostenlos beim SPS-Forum registrieren

Ergebnis 1 bis 4 von 4

Thema: VB6 Format()

  1. #1
    Registriert seit
    11.07.2004
    Beiträge
    1.597
    Danke
    10
    Erhielt 213 Danke für 183 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    ich habe folgendes Problem: Wandlung eines ASCII Zeichens in eine Hex-Zahl.
    Generell funktioniert das folgende:

    Code:
    For i = 1 To Len(Text1.Text)
    
        V2 = V2 & Format(Asc(Mid(Text1.Text, i, 1)), "000") & ","
        V3 = V3 & " " & Format(Hex(Asc(Mid(Text1.Text, i, 1))), "00") & ","
    
    Next
    V2 ergibt die Dezimalwerte, V3 die Hexwerte. Hat aber ein Problem: bei einem Doppelpunkt steht in V3 statt "3A" "00" drin. Andere Zeichen (wie z.B. ";" ergeben erwartungsgemäße Ergebnisse ("3B"). Wird das "Format" entfernt scheint's zu funktionieren.

    also:
    Code:
    V3 = V3 & " " & Hex(Asc(Mid(Text1.Text, i, 1))) & ","
    Was mache ich (bzw. Herr Gates) falsch?
    Zitieren Zitieren VB6 Format()  

  2. #2
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.727
    Danke
    398
    Erhielt 2.405 Danke für 2.002 Beiträge

    Standard

    Hallo,
    vermutlich arbeitet Format nur mit Zahlenwerten ...
    ich würde dein Problem wie folgt lösen :
    Code:
        V3 = V3 & " " & Right("00" + Hex(Asc(Mid(Text1.Text, i, 1))), 2) & ","
    ... dann hast du es doch auch ...

    Gruß
    Larry

  3. #3
    Registriert seit
    30.06.2007
    Ort
    Minden (Westf.)
    Beiträge
    178
    Danke
    42
    Erhielt 21 Danke für 21 Beiträge

    Idee

    Hallo,

    hab mal eine Funktion rausgesucht:

    Code:
        Public Function StringToHex(ByVal StrToHex As String) As String
            Dim strTemp As String
            Dim strReturn As String
            Dim I As Long
            For I = 1 To Len(StrToHex)
                strTemp = Hex$(Asc(Mid$(StrToHex, I, 1)))
                If Len(strTemp) = 1 Then strTemp = "0" & strTemp
                strReturn = strReturn & Space$(1) & strTemp
            Next I
            StringToHex = strReturn
        End Function
    Gruß
    Stefan


    Zitieren Zitieren Function:  

  4. #4
    Oberchefe ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    11.07.2004
    Beiträge
    1.597
    Danke
    10
    Erhielt 213 Danke für 183 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    vermutlich arbeitet Format nur mit Zahlenwerten ...
    und warum geht dann alles andere (also auch das Semikolon Hex 3b)?

    Ich programmiere ungern was um ohne verstanden zu haben warum es so nicht geht, ich könnte das Problem auf eine andere Art und Weise in der Zukunft wieder bekommen und wieder auf die Schnauze fallen. Es hat auch eine ganze Weile gedauert bis raus war dass es es ein Problem damit gibt, die meisten Zeichen funktionieren ja wie erwartet.
    Aber mir wird ja wohl nichts anderes übrig bleiben.

    Danke für die Vorschläge!

Ähnliche Themen

  1. KY format
    Von c.wehn im Forum Simatic
    Antworten: 15
    Letzter Beitrag: 31.07.2010, 12:57
  2. Format Time_of_Day
    Von axl86 im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 03.06.2008, 15:05
  3. ANY-Format auf Doppelwort?
    Von Jordy im Forum Simatic
    Antworten: 9
    Letzter Beitrag: 08.10.2007, 10:23
  4. SDT Format Eingabe
    Von Jukka im Forum Simatic
    Antworten: 11
    Letzter Beitrag: 27.02.2007, 14:09
  5. Wie ist das CSV-Format definiert?
    Von PeterEF im Forum Stammtisch
    Antworten: 9
    Letzter Beitrag: 19.10.2004, 21:06

Lesezeichen

Berechtigungen

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