Форум: "Система";
Текущий архив: 2004.02.13;
Скачать: [xml.tar.bz2];
ВнизHelp! Как запросить у компа: какие системе доступны компорты? Найти похожие ветки
← →
fiatik (2003-11-28 23:17) [0]Help!
Второй день ищу.
При запуске проги необходимо выяснить: какие com-порты доступны.
← →
jack128 (2003-11-29 00:49) [1]последовательно опросить их..
← →
Германн (2003-11-29 03:31) [2]2 jack128 © (29.11.03 00:49) [1]
Уточню - последовательно попробывав открыть их.
← →
y-soft (2003-11-29 11:07) [3]Недавно уже приводил код:
procedure EnumComPorts(Strings : TStrings; ShowAll : boolean);
var
MaxPorts : integer;
hPort : THandle;
PortNumber : integer;
PortName : string;
begin
Strings.Clear;
case Win32PlatForm of
VER_PLATFORM_WIN32_NT: MaxPorts := 256;
VER_PLATFORM_WIN32_WINDOWS: MaxPorts := 50;
end;
for PortNumber := 1 to MaxPorts do
begin
if PortNumber > 9 then
PortName := "\\.\COM" + IntToStr(PortNumber)
else
PortName := "COM" + IntToStr(PortNumber);
hPort := CreateFile( PChar(PortName),
GENERIC_READ or GENERIC_WRITE,
0,
nil,
OPEN_EXISTING,
0,
0);
LastErr := GetLastError;
if not (hPort = INVALID_HANDLE_VALUE) or
(ShowAll and (GetLastError = ERROR_ACCESS_DENIED))then
begin
Strings.Add(PortName);
end;
CloseHandle(hPort);
end;
end;
← →
y-soft (2003-11-29 11:10) [4]Опечатка! Строчку LastErr := GetLastError удалить!
← →
jack128 (2003-11-29 11:46) [5]Скажите, а бывает такое, что в системе существует СOM10, но не существует СOM9?
Если не бывает, то по if GetLastError = ERROR_FILE_NOT_FOUND имеет смысл Break; делать..
← →
y-soft (2003-11-29 12:11) [6]jack128 © (29.11.03 11:46) [5]
Бывает. Некоторые драйвера позволяют назначать номер порта произвольно, так что для гарантии проверять нужно все, тем более, что обычно эта проверка проводится один раз (при инициализации приложения) и занимает немного времени...
← →
Ihor Osov'yak (2003-11-29 13:20) [7]2 [5] jack128 © (29.11.03 11:46)
Бывает.
У меня сейчас COM1, COM2, COM7, COM11
← →
K.o.Z (2003-11-29 16:47) [8]а откуда у вас столько разъемов на матери?
← →
Anatoly Podgoretsky (2003-11-29 16:51) [9]А причем тут чья то мама?
← →
K.o.Z (2003-11-29 16:54) [10]что такое COM-порт?
← →
Anatoly Podgoretsky (2003-11-29 17:04) [11]Ком порт это физическое устройство для последовательной двунаправленной передачи данных, когда мы говорим о ком портах в компьютере, то мы подразумеваем о спецификации RS323C
← →
K.o.Z (2003-11-29 17:10) [12]т.е. это не обязательно 2 разъема на задней панели корпуса, в которые подкл. мышь или клава или может быть подключен модем?
← →
Anatoly Podgoretsky (2003-11-29 17:26) [13]У меня на плате нет разъемов, но зато есть 32 порта
Мышки иногда подключаются, но клавиатур не видел. Если у тебя есть ком порты, то это или 9 или 25 контактные разъемы типа папа
← →
K.o.Z (2003-11-29 17:42) [14]да, есть 9-ти контактный разъем типа папа, но у меня их 2.
вот вы говорите, что нет разъемов, а есть порты - а какая разница??
← →
Anatoly Podgoretsky (2003-11-29 19:08) [15]А такая, у меня их на плате нет!
Кстати по спецификации PC99 компьютер не должен иметь COM и LPT портов
← →
y-soft (2003-11-29 21:46) [16]>Anatoly Podgoretsky © (29.11.03 19:08) [15]
Спецификация есть, но и разъемы портов тоже есть :)
Если точно, то не только RS232C, но и RS422, RS423 и особенно - RS485
>K.o.Z © (29.11.03 17:42) [14]
Устройство может быть и виртуальным, безо всяких разъемов - лишь бы драйвер был установлен. Как по-вашему система идентифицирует модем, подключенный по USB в качестве COM-порта? :)
← →
Anatoly Podgoretsky (2003-11-29 21:53) [17]y-soft © (29.11.03 21:46) [16]
Я уже видел такие компьютеры
← →
y-soft (2003-11-29 22:01) [18]>Anatoly Podgoretsky © (29.11.03 21:53) [17]
Да, встречаются :(
Но та же спецификация предусматривала замену - тот же AMR, например, и его одно время даже начинали устанавливать на платы. Но что-то не шибко такие устройства получили распространение :)
А насчет COM-портов (в смысле - установки на плате разъемов DB9 и DB25) - RS485 очень широко применяется в промыщленных системах управления и сбора данных и умирать вроде не собирается...
← →
090 (2003-11-29 22:23) [19]Все че-то говорят и все без толку.
Страницы: 1 вся ветка
Форум: "Система";
Текущий архив: 2004.02.13;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.009 c