Programación General > Visual Basic 6.0 e inferiores

 Leer Archivo Binario

(1/1)

martin campos quintero:
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:
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 --- Public Sub Copiar(byval Origen as string, byval Destino as string) As Boolean   On Error goto Err_Copiar   Dim iCanalI as Integer   Dim iCanalO as integer   iCanalI = FreeFile   Open Origen For Binary As iCanalI   iCanalO = FreeFile   Open Destino For Binary As iCanalO   Dim byt1() As Byte   Redim byt1(LOF(iCanalI))   Get  iCanalI, ,byt1   Put iCanalO, ,byt1   Copiar = TrueExit_Copiar:   On Error Resume Next   Close iCanalI   Close iCanalO   Exit FunctionErr_Copiar:   MsgBox Err.Description, vbcritical,"Copiar"End Function  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:
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:
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.

Navegación

[0] Índice de Mensajes

Ir a la versión completa