• Lunes 23 de Diciembre de 2024, 12:25

Autor Tema:  Convertir Un String De Datos Binarios En Un Numero  (Leído 1333 veces)

lotusr

  • Nuevo Miembro
  • *
  • Mensajes: 21
    • Ver Perfil
Convertir Un String De Datos Binarios En Un Numero
« en: Viernes 3 de Junio de 2005, 16:55 »
0
Necesito saber como ustedes podrían convertir una cadena de caracteres con datos binarios proporcionada por el método GET de visual Basic en un numero no me importa si es double o long y después volver a reconstituirla en una cadena de caracteres.

Agradeciendo por anticipado sus comentarios. Aqui les dejo mi correo si desean hablar conmigo directamente [email:2io2ivc5]lotusr@walla.com[/email:2io2ivc5].

Por favor identifiquense.

Atte.

LOTUSR

cpmario

  • Miembro HIPER activo
  • ****
  • Mensajes: 629
    • Ver Perfil
    • http://www.cpimario.com
Re: Convertir Un String De Datos Binarios En Un Numero
« Respuesta #1 en: Viernes 3 de Junio de 2005, 18:06 »
0
Tengo estas 2 rutinas que son de una aplicación VB6 que elaboré para proteger de descompilación los programas de VB4.
La carga de la información binaria es en un Array de bytes. El manejo de la información en la variable String debe ser con instrucciones de 16 bit como MidB, LenB, ChrB, etc.

Código: Text
  1.  
  2. Sub OpenFile(strFilename As String)
  3.     Dim intFIndex As Integer
  4.     Dim lngLenFile As Long
  5.     Dim lngBytes As Long
  6.  
  7.     On Error GoTo error_open_Exe
  8.     ' Abrir archivo seleccionado
  9.     If strFilename <> "" Then
  10.       If Dir(strFilename) <> "" Then
  11.          intFIndex = FreeFile
  12.          Close #intFIndex
  13.          Screen.MousePointer = 11
  14.          Open strFilename For Binary As #intFIndex
  15.          lngLenFile = LOF(intFIndex)
  16.          ReDim GetByt(1 To lngLenFile) As Byte '<---
  17.          Get #intFIndex, , GetByt()
  18.          ' Convertir a String
  19.          gstrExe = GetByt()
  20.          'Reset array
  21.          ReDim GetByt(1 To 1)
  22.          Close #intFIndex
  23.          gstrWorkDir = Path(strFilename)
  24.          Call WriteWorkingDir
  25.       Else
  26.          gstrText = "El archivo no existe"
  27.          MsgBox gstrText, vbExclamation, gstrAppTitle
  28.       End If
  29.    End If
  30.    Screen.MousePointer = vbDefault
  31. Exit Sub
  32. error_open_Exe:
  33.    gstrText = "Error al abrir archivo"
  34.    MsgBox gstrText, vbExclamation, gstrAppTitle
  35.    Screen.MousePointer = vbDefault
  36.    Exit Sub
  37. End Sub
  38.  
  39. Sub SaveFileAs(Filename)
  40.     Dim lngLenExe As Long
  41.     On Error Resume Next
  42.  
  43.     Open Filename For Binary As #1
  44.     Screen.MousePointer = 11
  45.     ' Escribir contenido de la variable en modo de 16 bit
  46.     lngLenExe = LenB(gstrExe)
  47.     ReDim PutByt(1 To lngLenExe) As Byte
  48.     PutByt() = gstrExe
  49.     Put #1, , PutByt()
  50.     Close #1
  51.     Screen.MousePointer = 0
  52.     If Err Then
  53.         MsgBox Error, 48, App.Title
  54.     End If
  55. End Sub
  56.  
  57.  

 :)


---------------------
"Corrector Ortográfico de Notas", freeware, utilidad para programadores.
Programado en VB6, con diccionario propio.
http://consultapractica.aztecaonline.net/index2.html

lotusr

  • Nuevo Miembro
  • *
  • Mensajes: 21
    • Ver Perfil
Re: Convertir Un String De Datos Binarios En Un Numero
« Respuesta #2 en: Viernes 3 de Junio de 2005, 19:33 »
0
Debo agredescer a cpmario por su codigo, que realmente es de mucha ayuda no se me habia ocurrido esa idea :o . Si tiene otra solución que puedan darle e este problema no olviden escribir su comentario. cpmario de verdad muchas gracias aunque mis archivos pesan mas de 6 megas y tienen mas de 20 millones de caracteres. pero tu idea es fantastica.

ATTE

LOTUSR