![]() |
Comunicación entre dos computadoras mediante puerto paralelo
Hola , necesito realizar un programa que permita comunicarme entre dos computadoras utilizando el puerto paralelo, he buscado información en el internet de como realizarlo, pero solo he encontrado información técnica :confused: y casi nada sobre programación (y eso solo en otros lenguajes menos Delphi :mad: ).
Mi programa debería poder enviar y recibir un archivo, texto o imágenes (cualquiera sirve :p ). Si me pueden ayudar les agradecería toda mi vida.:D |
Si no recuerd mal en el antiguo for hay un tema muy relacionado, echake un vistazo, si no consigues nada vete a www.DelphiSPirit.com y en uno de us apartados tiene varios componentes para comunicar ordenadores mediante los puertos, agunos con ejmplo.
De todas maneras, hay programas frreware que hacen esto, por que no te los bajas, les haces una yama desde tu programa y te ahorras un monton de quebraderos de cabeza. Un saludo desde Canarias. |
Te recomiendo leer este Link, aunque hable del puerto serial, creo que te puede servir.
http://www.clubdelphi.com/foros/show...ighlight=cable Saludos! |
Gracias por la ayuda, pero ahora tengo otro problema.
Tengo en siguiente codigo, que encontre para enviar datos: procedure TForm1.BtnEnviar(Sender: TObject); const NombrePuerto = 'LPT1'; // Puerto paralelo var Form1: TForm1; HandlePuerto: THandle; // Manejador para el puerto Cadena: String; // Para leer del puerto una cadena de caracteres dwValor: DWORD; // Tamaño de la lectura Sta: COMSTAT; // Estado o tamaño del buffer de lectura bResult: Boolean; // Parámetro de resultado begin // Escribir en el puerto HandlePuerto := Windows.CreateFile( PChar(NombrePuerto), { Nombre del puerto } GENERIC_READ or GENERIC_WRITE, { Modo de apertura: Lectura/Escritura } 0, { Acceso exclusivo } nil, { Sin atributos de seguridad } OPEN_EXISTING, { El puerto debe existir } 0, { Sin solapamiento de Lectura/Escritura } 0); { No hay "hTemplate" } // Comprobar que la apertura ha sido correcta if (INVALID_HANDLE_VALUE <> HandlePuerto) then begin Cadena := Edit1.text + #13#10; //almaceno el contenido de un edit para enviarlo if (Windows.WriteFile( HandlePuerto, { Handle del puerto } PChar(Cadena)^, { Datos a escribir } Length(Cadena), { Longitud de los datos } dwValor, { Número de caracteres escritos } nil) { Sin solapamiento de lecturas/escrituras } ) then begin // la 'Cadena' se ha escrito en el puerto. Podemos comprobarlo si // miramos 'dwValor' ya que debe ser igual a 'Length(Cadena)'. // Si no lo es, algo ha ido mal. end; end; Windows.CloseHandle(HandlePuerto); //cerrar puerto end; Bueno lo que pasa es que al correr el programa y tratar de enviar algo, el programa se queda muerto, no responde y toca resetearlo. Lo corrí pasa a paso y va bien hasta que llega a la instrucción Windows.WriteFile en ese momento queda muerto. De antemano gracias nuevamente |
Bueno, recuerdo que me ha pasado lo que tu cuentas en un Win9x, pero funcionaba en un NT.
Se que esto no es una solución, pero es un dato. Saludos! |
La franja horaria es GMT +2. Ahora son las 10:06:45. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi