SoloCodigo

Programación General => Visual Basic 6.0 e inferiores => Mensaje iniciado por: martin campos quintero en Jueves 24 de Febrero de 2005, 08:53

Título: Leer Archivo Binario
Publicado por: martin campos quintero en Jueves 24 de Febrero de 2005, 08:53
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
Título: Re: Leer Archivo Binario
Publicado por: Brroz en Jueves 24 de Febrero de 2005, 16:19
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.
Título: Re: Leer Archivo Binario
Publicado por: martin campos quintero en Viernes 25 de Febrero de 2005, 07:15
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
Título: Re: Leer Archivo Binario
Publicado por: fap1603 en Viernes 11 de Marzo de 2005, 02:41
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.