WCM Forum

WCM Forum (http://www.wcm.at/forum/index.php)
-   Programmierung (http://www.wcm.at/forum/forumdisplay.php?f=17)
-   -   string 3F (is eigentl. wurscht) -> hexadezimal 3F umwandeln - VisualBasic (http://www.wcm.at/forum/showthread.php?t=41466)

Venkman 02.01.2002 16:23

string 3F (is eigentl. wurscht) -> hexadezimal 3F umwandeln - VisualBasic
 
da titel sagt eh alles oder???? - wie macht man das in Visual Basic???

Jaguar 02.01.2002 16:50

i = "0x" & stringvar

Venkman 02.01.2002 17:11

Wie kann i damit aber dann rechenen, denn nach deiner Methode bleibt 3F trotzdem noch a string, oder?

Jaguar 02.01.2002 18:34

nicht wenn du i als zahl definierst. dann führt vb eine typkonvertierung durch.

Venkman 02.01.2002 20:43

*****nur m,al kurz zur erklärung - der thread und de postings fürht a freund von mir durch - hab ihm gsagt er soll nur mienen account verwenden-kan bock zum anmelden ghabt - würds ihm ja selbst erklären aba hab kan plan in vc - wenn ma sich länger mit etwas nicht befasst und sich nie richtig reingesteigert hat.... - werden das ausprobieren**************

artemisia 02.01.2002 20:44

sorry - vertan :-(
 
noch einmal sorry ... falscher thread

Sonic 02.01.2002 21:37

Zitat:

Original geschrieben von Jaguar
i = "0x" & stringvar
Bist du sicher!? Habs probiert und bei mir gehts nicht! (VB6 sp5)
"Fehler Typen unverträglich!" Und mit den Konvertirungsfunktionen (val, cint, clng,...) gehts leider auch nicht.

@Venkman:

Dir wird nichts übrig bleiben als selbst umzurechenn. :)
Hab dir eine Funktion geschrieben:

Code:

Private Function lHexToLong(ByVal sValue As String) As Long
  Const sHexVal As String = "0123456789ABCDEF"
  Dim iPos As Integer
  Dim iStellenwert As Integer
 
  sValue = UCase(Trim(sValue))
  If Left(sValue, 2) = "0X" Then sValue = Trim(Right(sValue, Len(sValue) - 2))
  If Right(sValue, 1) = "H" Then sValue = Trim(Left(sValue, Len(sValue) - 1))
 
  For iPos = Len(sValue) To 1 Step -1
    iStellenwert = InStr(1, sHexVal, Mid(sValue, iPos, 1))
    If iStellenwert = 0 Then
      MsgBox "Fehler beim Umrechenen!" & vbCrLf & "Illegales Zeichen!", vbOKOnly + vbCritical, "Fehler"
      Exit Function
    End If
    iStellenwert = iStellenwert - 1
    HexToLong = HexToLong + iStellenwert * 16 ^ (Len(sValue) - iPos)
  Next iPos
End Function

lg

Jaguar 02.01.2002 21:56

ups ... die 0x Darstellung gilt ja nur für direkte Zahlenangaben.
Zum umrechnen wars nicht 0x sondern &H mit Hilfe der VAl Funktion. *sorry*


Dim i As Long
Dim s As String

s = "3F"

i = Val("&H" & s)

MsgBox i



*immer noch leichter als selber umwandeln :D

Sonic 02.01.2002 22:11

Naja, so gehts auch. :)

Aber selber umwandeln macht mehr Spass! :D

lg

Jaguar 02.01.2002 22:19

warum einfach wenns umständlich auch geht ;)


Alle Zeitangaben in WEZ +2. Es ist jetzt 19:28 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag