Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.063 Beiträge
Delphi 12 Athens
|
Re: Wiegand 26bit über COM Schnittstelle erfassen
26. Okt 2009, 21:48
Wenn du nur Lesen mußt, dann könntest du es ja auch erstmal so versuchen.
Das Programm ließt vom COM-Port Byteweise ein und gibt die Werte Hexadezimal aus.
Delphi-Quellcode:
Program Project1;
{$APPTYPE CONSOLE}
Uses Windows, SysUtils;
Var S: String;
H: THandle;
B: Byte;
C: LongWord;
Begin
Try
Write(' Gib die Nummer des COM-Ports ein: ');
ReadLn(S);
S := Trim(S);
H := CreateFile(PChar(' COM' + S), GENERIC_READ,
FILE_SHARE_READ or FILE_SHARE_WRITE, nil, OPEN_EXISTING, 0, 0);
If H = INVALID_HANDLE_VALUE Then
Raise Exception.CreateFmt(' Port COM%s konnte nicht geöffnet werden.'#13#10,
[S, SysErrorMessage(GetLastError)]);
While ReadFile(H, B, 1, C, nil) and (C = 1) do
Write(Format(' %.2x ', [B]));
WriteLn;
WriteLn(SysErrorMessage(GetLastError));
CloseHandle(H);
Except
On E: Exception do WriteLn(E.ClassName, ' : ', E. Message);
End;
ReadLn;
End.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
|
|
Zitat
|