Вниз
Скачать: CL | DM;

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 вся ветка

Скачать: CL | DM;



Память: 0.49 MB
Время: 0.016 c
1-38807
Layner
2004-02-03 08:36
2004.02.13
Подскажите, как


14-39018
DeMoN-777
2004-01-25 23:58
2004.02.13
Программа для создания схемы данных


8-38960
DelphiNew
2003-10-14 12:21
2004.02.13
Улучшение печати графики


1-38814
darkhunter
2004-02-03 09:54
2004.02.13
как найти координаты видимой части компонента


3-38713
Вопрошающий
2004-01-22 12:56
2004.02.13
F1Book - проблема с кириллическими шрифтами




   Наверх