var
CRTrig: Word;
Linea: String;
procedure TLector.InicializaCOM;
begin
ApdComPort1.ComNumber := 1;
ApdComPort1.Baud := 1200;
ApdComPort1.DataBits := 8;
Case Parity of
1 : ApdComPort1.Parity := pNone;
2 : ApdComPort1.Parity := pOdd;
3 : ApdComPort1.Parity := pEven;
4 : ApdComPort1.Parity := pMark;
5 : ApdComPort1.Parity := pSpace;
end;
ApdComPort1.StopBits := 1;
ApdComPort1.Open := True;
CRTrig := ApdComPort1.AddDataTrigger(#13, False);
end;
procedure TLector.ApdComPort1TriggerAvail(CP: TObject; Count: Word);
var
I : Word;
begin
for I := 1 to Count do
Linea := Linea + ApdComPort1.GetChar;
end;
procedure TLector.ApdComPort1TriggerData(CP: TObject; TriggerHandle: Word);
begin
if TriggerHandle = CRTrig then
begin
Linea := StringReplace(Linea,#13,'',[rfReplaceAll]);
Linea := StringReplace(Linea,#10,'',[rfReplaceAll]);
try
Memo1.Lines.Add(Linea);
except
Memo1.Clear;
Memo1.Lines.Add(Linea);
end;
Linea := '';
end;
end;