Registriert seit: 28. Jan 2006
Ort: Görlitz / Sachsen
489 Beiträge
Delphi 2007 Professional
|
Comport Daten darstellen
14. Jan 2009, 23:05
versuche mit oberer Funktion Die gelesenen Daten vom Comport in einem Memo anzuzeigen allerdings scheitere ich bei der Umsetzung
Delphi-Quellcode:
function AddTerminalLog(Buf : Pointer ; BufLen : DWord ; Typ : String) : Boolean;
var
I : Integer;
s : String;
begin
for I := 0 to BufLen - 1 do
S := s + ByteToHex(Buf); //ist nätürlich Blödsinn weil immer das Erste Byte wiederholt wird
Memo2.Lines.Add(Typ+': '+s);
end;
Delphi-Quellcode:
function ReadCom(Buf : Pointer ; BufLen : Dword) : boolean;
var
dErr: Dword;
begin
result := False;
if (hCom <> INVALID_HANDLE_VALUE) and (Buf<>Nil) and (BufLen <> 0) then begin
rxlen := 0;
if FlgOvrlp then begin
COMrd.hEvent:=CreateEvent(Nil,TRUE,FALSE,Nil);
if not ReadFile(hCom,Buf^,BufLen,rxLen,@COMrd) then begin
if not GetOverlappedResult(hCom,COMrd,rxLen,True) then begin
end;
end;
// ResetEvent(COMrd.hEvent);
CloseHandle(COMrd.hEvent);
end
else begin
if not ReadFile(hCom,Buf^,BufLen,rxLen,Nil) then begin
// ClearCommError(hCom,dErr,Nil);
// exit;
end;
end;
if rxLen = BufLen then
begin
result := True;
AddTerminalLog(Buf,BufLen,'RX');
end else ClearCommError(hCom,dErr,Nil);
end;
end;
Marcel
|
|
Zitat
|