Twitter

Thursday, December 8, 2011

Selamat Datang Disingasana Swadexi

Selamat Datang Disingasana Swadexi


Converter Dari Hexadecimal ke Float Vb6

Posted: 07 Dec 2011 10:47 PM PST

Mengingat posting saya sebelumnya dari float ke hex, nah sekarang saya ingin shared dari hex ke Float maupun sebaliknya,

Option Explicit

Private Type TSingle
  Sng As Single
End Type

Private Type TLong
  Lng As Long
End Type

Public Function Long2Float(ByVal value As Long) As Single
Dim s As TLong, d As TSingle
  s.Lng = value
  LSet d = s
  Long2Float = d.Sng
End Function

Public Function Float2Long(ByVal value As Single) As Long
Dim s As TSingle, d As TLong
  s.Sng = value
  LSet d = s
  Float2Long = d.Lng
End Function

'~~~ All the functions and other things ends here
'~~~ We are going to use it.

Private Sub Command1_Click()  '~~~ On clicking the CommandButton
  '~~~ Declaring variables
  Dim sHex As String
  Dim Sng As Single
  Dim Lng As Long
 
  '~~~ Sample HEX string
  sHex = "&H3F8CCCCD"
 
  '~~~ Converting it into Float
  Sng = Long2Float(sHex)
  MsgBox "Hex to Float: " & Sng   '~~~ Displaying it
 
  '~~~ Converting it into Long
  Lng = Float2Long(Sng)
  MsgBox "Float to Long: " & Hex(Lng) '~~~ Displaying it
End Sub


Merubah Bilangan Float Ke Hexadecimal Vb6

Posted: 07 Dec 2011 10:08 PM PST


Mengerjakan TA sangatlah bikin pusing, tapi kepusingan tersebut menambah wawasan ternyata..ha...(menghibur Diri)

Dalam tugas Akhir saya menggunakan Vb6 yang menggunakan perintah untuk merubah Bilangan Float Ke Hex, setelah cari - cari di forum akhirnya saya dapatkan dan saya ingin berbagi ilmu ke teman2 sekalian, meski belum bisa berbagi rejeki..he..
Option Explicit

Private Declare Function ArrPtr Lib "msvbvm60" Alias "VarPtr" (Arr() As Any) As Long
Private Declare Sub PutMem4 Lib "msvbvm60" (ByVal Ptr As Long, ByVal Value As Long)
Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" _
(pDst As Any, pSrc As Any, ByVal ByteLen As Long)

Public Function CastSingleAsLong(Arr() As Single) As Long()
PutMem4 ArrPtr(CastSingleAsLong), Not Not Arr
Debug.Assert App.hInstance
PutMem4 ArrPtr(Arr), 0
End Function



Private Sub Command1_Click()
Dim lngArray() As Long, sngArray() As Single

' some sample data...
ReDim sngArray(0 To 2)
sngArray(0) = 1.1
sngArray(1) = 2.2
sngArray(2) = 3.3

' then do casting
lngArray = CastSingleAsLong(sngArray)
' = sngArray is now uninitialized array, lngArray contains everything sngArray had

' show the contents of ex-sngArray
Text1.Text = Hex$(lngArray(0))
Text2.Text = Hex$(lngArray(1))
End Sub

Private Sub Command2_Click()
Dim b(1 To 4) As Byte
b(1) = CInt("&H" & "3F")
b(2) = CInt("&H" & "8C")
b(3) = CInt("&H" & "CC")
b(4) = CInt("&H" & "CD")
Dim fp As Single
Call CopyMemory(fp, b(1), 4)
Text3.Text = fp
End Sub

0 comments:

Post a Comment