Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Transmitir archivos en MSComm

Estas en el tema de Transmitir archivos en MSComm en el foro de Visual Basic clásico en Foros del Web. Hola a todos: Pues con una duda bien grande, no se si alguien de ustedes me pueda ayudar, necesito transmitir datos por el puerto serial, ...
  #1 (permalink)  
Antiguo 07/08/2008, 15:30
 
Fecha de Ingreso: mayo-2008
Mensajes: 35
Antigüedad: 16 años
Puntos: 0
Transmitir archivos en MSComm

Hola a todos:

Pues con una duda bien grande, no se si alguien de ustedes me pueda ayudar, necesito transmitir datos por el puerto serial, pero necesito enviar archivos digamos un *.rar o algo asi, para esto he probado el MSComm y solo he podido enviar texto. ¿Podrian orientarme en este problema? Gracias por su tiempo
  #2 (permalink)  
Antiguo 07/08/2008, 15:32
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Pregunta Respuesta: Transmitir archivos en MSComm

¿No funciona abriendo el *.rar y enviando todo su contenido?
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 08/08/2008, 13:17
 
Fecha de Ingreso: mayo-2008
Mensajes: 35
Antigüedad: 16 años
Puntos: 0
Respuesta: Transmitir archivos en MSComm

Pues si, lo estuve intentando la pasada tarde y ahora el problema esta ahi, al momento de querer abrir y enviar el archivo completo, busco acceder a el con un CommonDialog

Código:
cmnOpen.ShowOpen
txtEnviar = cmnOpen.FileName
lo que no se es como enviarlo o como hacer uso de el, asi que utilizo una variable tipo Variant que es Dato Enviar

Código:
DatoEnviar = cmnOpen.Object
MSCommSerial.Output = DatoEnviar
Pero me da "runtime error 394" y "property is write only" he intentado otras propiedades del common pero nada y la referencia que he encontrado solo dice como acceder a los diferentes dialogos, tambien se que es muy probable que ande bastante perdido y espero puedan ayudarme gracias
  #4 (permalink)  
Antiguo 09/08/2008, 09:40
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
De acuerdo Respuesta: Transmitir archivos en MSComm

Bueno, primero debes descargar el contenido del archivo en una variable:
Código PHP:
Dim FileData As String
Close
Open cmnDialog
.FileName For Binary As #1
FileData Input(LOF(1), 1)
Close 
Luego, envías el contenido de la variable FileData y listo.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #5 (permalink)  
Antiguo 10/08/2008, 15:35
 
Fecha de Ingreso: mayo-2008
Mensajes: 35
Antigüedad: 16 años
Puntos: 0
Respuesta: Transmitir archivos en MSComm

Muchisimas gracias David ya pude enviarlo :), pero ahora tengo otra duda, como hago para transformarlo en el proceso inverso, es decir, recibo una cadena de texto y quiero el binario, espero puedas ayudarme, de todos modos seguire investigando y si lo encuentro antes te aviso, y de verdad mil gracias
  #6 (permalink)  
Antiguo 11/08/2008, 07:25
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Transmitir archivos en MSComm

No entendí, ¿qué quieres decir con quiero el binario?.

Si recibes el archivo tal cual era, puedes escribirlo en un archivo.
Código PHP:
Close
Open 
"C:\archivo.txt" For Output As #1
Print #1, Datos_del_Archivo;
Close 
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #7 (permalink)  
Antiguo 11/08/2008, 17:09
 
Fecha de Ingreso: mayo-2008
Mensajes: 35
Antigüedad: 16 años
Puntos: 0
Respuesta: Transmitir archivos en MSComm

jeje, si perdon se me fueron las cabras, lo que pasa es que pense en el archivo como un *.exe y mirandolo como un programa compilado o algo asi, pero bueno me referia a lo que me respondiste muchas gracias.

Ahora supongo que si es un archivo que ya tenia nombre y extencion digamos gato.rar y lo mando en un lado para escribirlo en otro, el archivo mismo debe contener informacion de su nombre y extencion o no? supongo que de cierta manera se reescribe esa informacion, pero bueno, gracias a ti creo que solo sera cuestion de hacer unas cuantas pruebas y de verdad gracias por tus respuestas me fueron altamente utiles
  #8 (permalink)  
Antiguo 12/08/2008, 08:07
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Transmitir archivos en MSComm

Sí, lo del nombre ya no es muy difícil, la mandas al comienzo y le agregas un * ya que los nombres de archivo no pueden contener ese caracter, así cuando llegue con un InStr (buscar cadenas) separas el nombre del archivo en sí.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #9 (permalink)  
Antiguo 14/08/2008, 19:21
 
Fecha de Ingreso: mayo-2008
Mensajes: 35
Antigüedad: 16 años
Puntos: 0
Respuesta: Transmitir archivos en MSComm

Que tal David y Que tal a Todos:

Parecia que todo estaba bien, probe el cargar el archivo a una variable el FileData que recomendaste y luego escribirlo en una ubicacion diferente del disco duro y todo salio sin problemas

Hoy pude probarlo con el paso por el serial y no sobrevive a la transferencia.

Probe recibiendolo por una caja de texto y tambien directamente en una variable y nada.

Un insignificante detalle que olvide mensionar es que es para transmitir archivos con maquinaria de tejido, algo vieja, aun asi el recibir los datos no es tanto problema los recibo, aunque tengo que hacerlo por partes y despues unirlo, al enviar si hay problema no me recibe el archivo ¿Sabras de alguna otra manera de manejar el serial?

No creo que mande verificaciones o algo por el estilo porque ya existe un pequeño programa que hace lo que necesito, es demo y solo envia archivos muy pequeños, por eso no es util y fue hecho por una persona que nada sabia de la maquinaria, empiezo a dudar de si me servira el MScomm, tal vez deberia probar en C++, ¿Que opinan?
  #10 (permalink)  
Antiguo 15/08/2008, 06:27
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Exclamación Respuesta: Transmitir archivos en MSComm

Bueno, yo nunca usé el MSComm para transferencia de datos. Pero no creo que cambiándose de lenguaje cambie el mal funcionamiento ya que el problema está en el dispositivo y no en el lenguaje .

¿Necesariamente tienes que usar MSComm?. Otra opción sería usar una red LAN.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #11 (permalink)  
Antiguo 15/08/2008, 10:20
 
Fecha de Ingreso: mayo-2008
Mensajes: 35
Antigüedad: 16 años
Puntos: 0
Respuesta: Transmitir archivos en MSComm

Por desgracia si, la maquina solo tiene una entrada de cable de 25 pines (que funciona como el serial) y a la computadora da como serial, es la unica forma de enviarle informacion, bueno esta esa y tarjetas perforadas, asi que creo que me quedo con el serial jeje, y pues lo de C++ lo decia por que me parece que necesito interactuar mas directamente con el puerto y el mscomm pues ya esta programado y no me lo permite, pero bueno, le buscare y si se te ocurre algo te agradeceria algun comentario, saludos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:22.