[Back to DELPHI SWAG index] [Back to Main SWAG index] [Original]
> I'm Looking For a Routine to get the number of serial ports in a
> machine, There is a function GetSerialPortList but Not in Delphi
> Unit Files or any C Header File What function can I use....?
...and here is it - the best function for that!
function SerialAvail(ComPort : integer) : boolean;
const
UsedComm : array[0..5] of char = 'COMx';
var
H : integer;
{$IFNDEF VER80}
i : integer;
CommConfig : TCommConfig;
{$ENDIF}
begin
SerialAvail:=false;
UsedComm[3]:=chr(ComPort+$31);
{$IFDEF VER80} { Win 3.x }
H:=OpenComm(@UsedComm,256,256);
if H>=0 then
begin
CloseComm(H);
SerialAvail:=true;
end;
{$ELSE} { Win95/NT }
H:=CreateFile(UsedComm,GENERIC_READ or GENERIC_WRITE,
0,nil,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,0);
if H<>INVALID_HANDLE_VALUE then
begin
CloseHandle(H);
SerialAvail:=true;
end;
GetLastError;
{$ENDIF}
end;
[Back to DELPHI SWAG index] [Back to Main SWAG index] [Original]