En este caso realicé esta rutina porque necesitaba leer los datos devueltos de una balanza electrónica.
Es un extracto de una aplicación console que funciona en Windows XP y finalmente debe escribir un archivo con la lectura.
Se me ocurrió ponerla como Truco porque me parece extremadamente simple, sin instalar componentes de terceros, ni utilizar muchas rutinas de las API.
Código Delphi
[-]
uses
SysUtils,
windows;
var Puerto,n:integer;
Num:byte;
Cad:string;
Mode:DCB;
begin
Puerto:=FileOpen('COM1',fmOpenRead); Mode.BaudRate := 1200;
Mode.ByteSize := 8;
Mode.Parity := NOPARITY;
Mode.StopBits := ONESTOPBIT;
SetCommState(Puerto, Mode); repeat
repeat until FileRead(Puerto,Num,1)=1;
until Num=13; Cad:='';
for n := 1 to 8 do begin
repeat until FileRead(Puerto,Num,1)=1; Cad:=Cad+chr(Num);
end;
write(Cad); Sleep(1000); end.
Copien el código en una aplicación console, ajusten Mode a vuestras necesidades y prueben.
Je Je
Saludos