• Domingo 28 de Abril de 2024, 23:09

Autor Tema:  Leer Archivo Binario  (Leído 1983 veces)

martin campos quintero

  • Miembro MUY activo
  • ***
  • Mensajes: 113
  • Nacionalidad: 00
    • Ver Perfil
Leer Archivo Binario
« en: Jueves 24 de Febrero de 2005, 08:53 »
0
Hola amigos.

Ahora tengo otra duda  :D   y es que quiero copiar archivos en forma binaria porque los .exe, .com o similares solo se pueden copiar en forma binaria y quiero saber como hacerlo en visual basic. Espero me puedan proporcionar algo de código. De antemando gracias   :P

Brroz

  • Miembro de PLATA
  • *****
  • Mensajes: 1058
    • Ver Perfil
Re: Leer Archivo Binario
« Respuesta #1 en: Jueves 24 de Febrero de 2005, 16:19 »
0
Hola.

¿Y no podrías utilizar FileCopy en vez de complicarte la vida?

De todas formas se puede hacer abriendo origen y destino como binary y leer de un lado y escribir en otro. Resumidamente algo así:
Código: Text
  1.  
  2. Public Sub Copiar(byval Origen as string, byval Destino as string) As Boolean
  3.    On Error goto Err_Copiar
  4.    Dim iCanalI as Integer
  5.    Dim iCanalO as integer
  6.    iCanalI = FreeFile
  7.    Open Origen For Binary As iCanalI
  8.    iCanalO = FreeFile
  9.    Open Destino For Binary As iCanalO
  10.    Dim byt1() As Byte
  11.    Redim byt1(LOF(iCanalI))
  12.    Get  iCanalI, ,byt1
  13.    Put iCanalO, ,byt1
  14.    Copiar = True
  15. Exit_Copiar:
  16.    On Error Resume Next
  17.    Close iCanalI
  18.    Close iCanalO
  19.    Exit Function
  20. Err_Copiar:
  21.    MsgBox Err.Description, vbcritical,"Copiar"
  22. End Function
  23.  
  24.  
A este simple código convendría añadirle comprobación de la existencia de los archivos y si el tamaño del archivo a copiar es muy grande implementar un buffer realizando varias lecturas y escrituras... de todas formas yo no me complicaría lo más mínimo y usaría el método FileCopy.

Suerte.

martin campos quintero

  • Miembro MUY activo
  • ***
  • Mensajes: 113
  • Nacionalidad: 00
    • Ver Perfil
Re: Leer Archivo Binario
« Respuesta #2 en: Viernes 25 de Febrero de 2005, 07:15 »
0
Sip, es más fácil con FileCopy, pero yo lo que quiero es leer el archivo en una PC y escribirlo en otra PC, por eso necesito pasar byte por byte con el winsock  :D

fap1603

  • Miembro MUY activo
  • ***
  • Mensajes: 135
    • Ver Perfil
Re: Leer Archivo Binario
« Respuesta #3 en: Viernes 11 de Marzo de 2005, 02:41 »
0
Hola, abrelo como binario, y lo que haces es cojer byte por byte, pero lo pasas en codigo ascii, es mucho mejor y mas rapido, ademas de que te sirve con cualquier archivo. Recuerda que debes abrir en modo binario tb el fichero destino, y esribir el caraqcter ascii impreso.

Leer :  byte # = 32 ---------> donde 32 es el codigo ascii del espacio.
Escribir: byte # = (espacio) ---------> donde espacio es la representacion de numero ascii (32). Suerte.
Saludos,

Francisco Ayala Pinazo
Lima - Perú