Red de conocimiento informático - Problemas con los teléfonos móviles - Problema de visualización de datos de VB

Problema de visualización de datos de VB

Proporciona una lista de varias funciones de conversión Después de realizar la conversión de formato, puede realizar la salida de formato

Varias conversiones

Función Bin2Dec(InputData As String) As Double 'Convertir binario a decimal <. /p>

Dim DecOut As Double:Dim I As Integer:Dim LenBin As Double:Dim JOne As String

LenBin = Len(InputData) 'Verifica si es un número binario

Para I = 1 a LenBin

JOne = Mid(InputData, I, 1)

Si JOne <> "0" y JOne <>;"1" entonces< / p>

MsgBox "NO ES UN NÚMERO BINARIO", vbCritical

Función de salida

Finalizar si

Siguiente I

DecOut = 0

Para I = Len(InputData) a 1 paso -1

Si Mid(InputData, I, 1) = "1" Entonces

DecOut = DecOut + 2 ^ (Len(InputData) - I)

Finalizar si

Siguiente I

Bin2Dec = DecOut

Finalizar función

Función Dec2Bin(InputData Como Doble) Como Cadena 'Conversión Decimal A Binario

Dim Quot Como Doble: Atenuar Resto Como Doble:Atenuar BinOut Como Cadena:Atenuar I Como Entero

Atenuar NewVal como doble:Atenuar TempString como cadena.Atenuar TempVal como doble

Atenuar BinTemp como cadena:Atenuar BinTemp1 como cadena:Atenuar PosDot como entero

Atenuar Temp2 como cadena

'Comprueba el punto decimal

'Comprueba el punto decimal

Si InStr(1, CStr(InputData), ".") Entonces

MsgBox "Solo se pueden convertir números enteros", vbCritical

GoTo eds

End If

BinOut = ""

NewVal = InputData

DoAgain: Iniciar cálculo

NewVal = (NewVal / 2) 'Si hay resto

If InStr(1, CStr(NewVal), "." ) Luego

BinOut = BinOut + "1" 'Obtener el resto

NewVal = Format(NewVal, "#0")

NewVal = (NewVal - 1)

Si NewVal <1 entonces

Ir a DoneIt

Finalizar si

p>

Else

BinOut = BinOut + "0"

Si NewVal < 1 entonces

Ir a DoneIt

Finalizar si

End If

GoTo DoAgain

DoneIt:

BinTemp = "" 'Invertir el resultado

Para I = Len(BinOut) A 1 Paso -1

BinTemp1 = Mid(BinOut, I, 1)

BinTemp = BinTemp + BinTemp1

Siguiente I

BinOut = BinTemp 'Resultado de salida

Dec2Bin = BinOut

eds:

Función final

Función Bin2Hex( InputData como cadena) como cadena 'Convertir binario a hexadecimal

Dim I como entero:Dim LenBin como entero:Dim JOne como cadena:Dim NumBlocks como entero

Dim FullBin como String.Dim HexOut As String:Dim TempBinBlock As String

Dim TempHex As String

LenBin = Len(InputData) 'Verifica si es un número binario

Para I = 1 a LenBin

JOne = Mid(InputData, I, 1)

Si JOne <> "0" y JOne <> NÚMERO BINARIO ", vbCritical

Salir de la función

Finalizar si

Siguiente I 'Establecer variable binaria

FullBin = InputData ' Si la longitud del valor Si es menor que 4, agregue 0

Si LenBin <4 Entonces

Si LenBin = 3 Entonces

FullBin = "1 número binario" Entonces

MsgBox "NO ES UN NÚMERO BINARIO" Luego

Salir.

FullBin = "0" + FullBin

ElseIf LenBin = 2 Entonces

FullBin = "00" + FullBin

ElseIf LenBin = 1 Entonces

FullBin = "000" + FullBin

ElseIf LenBin = 0 Entonces

MsgBox "No hay nada..." , vbCritical

ElseIf LenBin = 0 Entonces

MsgBox "No hay nada..." , vbCritical

Salir de la función

Finalizar si

NumBlocks = 1

Ir a DoBlocks

Finalizar si

Si LenBin = 4 Entonces

NumBlocks = 1

<

p>Ir a DoBlocks

Finalizar si

Si LenBin>4 Entonces

Atenuar TempHold como moneda

Atenuar TempDiv como moneda

p>

Atenuar AfterDot como entero

Atenuar Pos como entero

TempHold = Len(InputData)

TempDiv = (TempHold / 4)

Pos = InStr(1, CStr(TempDiv), ".")

Si Pos = 0 Entonces

NumBlocks = TempDiv

Ir a DoBlocks

End If

AfterDot = Mid(CStr(TempDiv), (Pos + 1))

Si AfterDot = 25 Entonces

FullBin = "000" + FullBin

NumBlocks = (Len(FullBin) / 4)

ElseIf AfterDot = 5 Then

FullBin = "00" + FullBin

NumBlocks = (Len(FullBin) / 4)

ElseIf AfterDot = 75 Entonces

FullBin = "0" + FullBin

NumBlocks = (Len(FullBin) / 4)

Si

DoBlocks:

HexOut = ""

Para I = 1 A Len(FullBin) Paso 4

TempBinBlock = Mid(FullBin, I, 4)

Si TempBinBlock = "0000" Entonces

HexOut = HexOut + " 0 "

ElseIf TempBinBlock = "0001" Entonces

HexOut = HexOut + "1"

ElseIfTempBinBlock = "0010" Entonces

HexOut = HexOut + "2"

ElseIf TempBinBlock = "0011" entonces

HexOut = HexOut + "3"

ElseIfTempBinBlock = "0100" entonces

HexOut = HexOut + "4"

ElseIf TempBinBlock = "0101" entonces

HexOut = HexOut + "5"

ElseIf TempBinBlock= entonces

HexOut = HexOut + "6"

ElseIf TempBinBlock = "0111" entonces

HexOut = HexOut + "7"

ElseIf TempBinBlock ="Entonces

HexOut = HexOut + "A"

ElseIf TempBinBlock = "1011" Entonces

HexOut = HexOut + "B"

ElseIf TempBinBlock = "1100"entonces

p>

HexOut = HexOut + "C"

ElseIf TempBinBlock = "1101" Entonces

HexOut = HexOut + "D"

ElseIf TempBinBlock = "1110" Entonces

HexOut= HexOut + "E"

ElseIf TempBinBlock = "1111" Entonces

HexOut = HexOut + "F"

Finalizar si

Siguiente I

Bin2Hex = HexOut

eds:

Finalizar función

Función Hex2Bin(InputData como cadena) como cadena

Atenuar I como entero:Atenuar BinOut como cadena:Atenuar Lenhex como entero

InputData = UCase(InputData)

Lenhex = Len(InputData)

Para I = 1 a Lenhex

Si esNumeric(Mid(InputData, I, 1)) Entonces

Vaya a NumOk p>

ElseIf Mid(InputData, I, 1) = "A" entonces

Vaya a NumOk

ElseIf Mid(InputData, I, 1) = "B " luego

Vaya a NumOk

ElseIf Mid(InputData, I, 1) = " C" Luego

Vaya a NumOk

ElseIf Mid (InputData, I, 1) = "D" entonces

Vaya a NumOk

ElseIf Mid(InputData, I, 1) = "E" entonces

Ir a NumOk

ElseIf Mid(InputData, I, 1) = "F" Entonces

Ir a NumOk

Else

MsgBox "El número proporcionado no está en formato hexadecimal", vbCritical

Función de salida

Finalizar si

NumOk:

Siguiente I

BinOut = ""

Para I = 1 a Lenhex

Si Mid(InputData, I, 1) = "0" Entonces

BinOut = BinOut + "0000"

ElseIf Mid(InputData, I, 1) = "1" entonces

BinOut = BinOut + "0001"

ElseIf Mid (InputData, I, 1) = "2" entonces

BinOut = BinOut + "0010"

ElseIf Mid(InputData, I, 1) = "3" entonces

BinOut = BinOut + "0011"

ElseIf Mid(InputData, I, 1) = "4" entonces

BinOut = BinOut + "0110"

ElseIf Medio (InputData, I, 1) = "7" entonces

Después

BinOut = BinOut + "0111"

ElseIf Mid(InputData, I, 1) = "8" Entonces

BinOut = BinOut + "1000"

ElseIf Mid(InputData, I, 1) = "9" entonces

BinOut = BinOut + "1001"

ElseIf Mid(InputData, I, 1) ) = "A" entonces

BinOut = BinOut + "1010"

ElseIf Mid(InputData, I, 1) = "B" entonces

BinOut = BinOut + "1011"

ElseIf Mid(InputData, I, 1) = "C" entonces

BinOut = BinOut + "1100"

ElseIf Mid( InputData, I, 1) = "D" entonces

BinOut = BinOut + "1101"

ElseIf Mid(InputData, entonces

ElseIf Mid(InputData, I, 1) = "E" Entonces

ElseIf Mid(InputData, I, 1) = "E" Entonces

ElseIf Mid(InputData, I, 1) = "E" ThenElseIf Mid(InputData, I, 1) = "8" Then

DecOut = DecOut + (8 * HexStep)

ElseIf Mid(InputData, I, 1) = "9" Entonces

DecOut = DecOut + (9 * HexStep)

ElseIf Mid(InputData, I, 1) = "A" Entonces

DecOut = DecOut + ( 10 * HexStep)

ElseIf Mid(InputData, I, 1) = "B" entonces

DecOut = DecOut + (11 * HexStep)

ElseIf Mid (InputData, I, 1) = "C" entonces

DecOut = DecOut + (12 * HexStep)

ElseIf Mid(InputData, I. 1) = "D" entonces

DecOut = DecOut + (12 * HexStep)

ElseIf Mid(InputData, I, 1) = "D" entonces

DecOut = DecOut + (13 * HexStep)

ElseIf Mid(InputData, I, 1) = "E" entonces

DecOut = DecOut + (14 * HexStep)

ElseIf Mid(

Finalizar si

Siguiente I

Hex2Dec = DecOut

eds:

Finalizar función

Llamar:

Sub privado cmdbin2hex_Click()

txthex .Text = Bin2Hex(txtbinary.Text)

Fin Sub

Privado sub c

mddec2bin_Click()

Si esNumeric(txtdec2bin.Text) Entonces

txtdec2bin2.Text = Dec2Bin(txtdec2bin.Text)

Finalizar si

End Sub

Sub privado cmdDecHex_Click()

Si esNumeric(txtDecimal.Text) Entonces

txtdechex.Text = Hex(CDbl(txtDecimal.Text))

Else

MsgBox "No es un número.", vbCritical

End If

End Sub

Privado Sub cmdhex2bin_Click()

txtbinary2.Text = Hex2Bin(txthex2.Text)

End Sub

Sub privado cmdhexdec_Click()

txtdec2 .Text = CStr(Hex2Dec(txthexdec.Text))

End Sub