MKI, CVI y tal...
Funciones numéricas de conversión
Fecha: 04/Feb/99 (21/Sep/97 -No, no hay error en
la fecha)
Autor: Joe LeVasseur < [email protected] >
SUPER NOTA: Estas funciones me la envió el colega Joe en la fecha indicada arriba, pero por un despiste (más grande de los que acostumbro a tener), se me olvidó publicarlo... lo siento, pero más vale tarde que nunca...
From: "Joe LeVasseur" <[email protected]>
To: "Guillermo" <[email protected]>
Subject: MKI, CVI y tal...
Date sent: Sun, 21 Sep 1997 01:48:51 -0400
Billy-
Los puedo hacer las versiones MBF
si hace falta.
Cada semana alguien pide estos
functions, y VB32 no los tiene.
Joe
El código:
'
Option Explicit
' Old Basic routines, unsupported in Win/VB3/4/5
' uses RtlMoveMemory to replace hMemCpy-
' since hMemCpy is not exported in Win32.
' Adapted from article in KB
' Joe LeVasseur <[email protected]>
'////////////////////////////////////////////////
Declare Sub hMemCpy Lib "KERNEL32" Alias "RtlMoveMemory" _
(hpvDest As Any, hpvSource As Any, ByVal cbCopy As Long)
Function MKI(x As Integer) As String
Dim szTemp As String
szTemp = Space$(2)
hMemCpy ByVal szTemp, x, 2
MKI = szTemp
End Function
Function CVI(x As String) As Integer
Dim iTemp As Integer
If Len(x) <> 2 Then
MsgBox "Illegal Function Call"
Exit Function
End If
hMemCpy iTemp, ByVal x, 2
CVI = iTemp
End Function
Function MKL(x As Long) As String
Dim szTemp As String
szTemp = Space$(4)
hMemCpy ByVal szTemp, x, 4
MKL = szTemp
End Function
Function CVL(x As String) As Long
Dim lTemp As Long
If Len(x) <> 4 Then
MsgBox "Illegal Function Call"
Exit Function
End If
hMemCpy lTemp, ByVal x, 4
CVL = lTemp
End Function
Function MKS(x As Single) As String
Dim szTemp As String
szTemp = Space$(4)
hMemCpy ByVal szTemp, x, 4
MKS = szTemp
End Function
Function CVS(x As String) As Single
Dim sTemp As Single
If Len(x) <> 4 Then
MsgBox "Illegal Function Call"
Exit Function
End If
hMemCpy sTemp, ByVal x, 4
CVS = sTemp
End Function
Function MKD(x As Double) As String
Dim szTemp As String
szTemp = Space$(8)
hMemCpy ByVal szTemp, x, 8
MKD = szTemp
End Function
Function CVD(x As String) As Double
Dim dTemp As Double
If Len(x) <> 8 Then
MsgBox "Illegal Function Call"
Exit Function
End If
hMemCpy dTemp, ByVal x, 8
CVD = dTemp
End Function