Доступность Com-порта
я хочу выбрать компорт из списка портов, используя combobox с помощью vb6.я не могу написать код на этом, поэтому, пожалуйста, помогите мне.
Что я уже пробовал:
Private Sub form_load() Dim i As Long For i = 1 To 16 If COMAvailable(i) Then Combo1.AddItem "COM" & i & "" Else Combo1.AddItem "COM" & i & "" End If Next End Sub Private Sub Command1_Click() If COMAvailable(i) = True Then Label1.Caption = "READY FOR COMMUNICATION" Else Label1.Caption = "PORT NOT OPEN PLEASE CONFIGURE" End If End Sub
Richard MacCutchan
Где находится код для этого COMAvailable
метод?
Member 13396059
Публичная функция COMAvailable(ByVal iPortNum As Integer) Как Логическое
Тусклый hCOM как долго
Дим рет как долго
Дим сек как в разделе security_attributes
- попробуйте открыть порт связи
hCOM = CreateFile("COM" &iportnum & "", 0, FILE_SHARE_READ + FILE_SHARE_WRITE, _
sec, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0)
Если hCOM = -1, то
COMAvailable = False
Еще
COMAvailable = True
- закройте порт связи
ret = CloseHandle(hCOM)
Конец, Если
Конечная Функция
Richard MacCutchan
Ладно, так ты расскажешь нам, в чем проблема?
Member 13396059
я прошу о помощи
Richard MacCutchan
Тогда скажи нам, в чем проблема. Мы не можем читать твои мысли.
Member 13396059
я хочу, чтобы выбрать порт из списка и откройте COM-порт, который доступен
Richard MacCutchan
И что же? Что мешает вам сделать это?
Member 13396059
каждый раз когда я запускаю программу когда я выбираю com порт который доступен также показывает что порт не открыт pls configure
CPallini
Почему вы недовольны таким кодом?
Member 13396059
я хочу выбрать компорт и открыть его для отправки и получения данных из поля со списком
Richard MacCutchan
Пожалуйста, перестаньте публиковать не объяснения, а говорите нам, что вы хотите. Объясню в надлежащее подробно, что именно не работает.
Richard MacCutchan
Я подозреваю, что это обычная причина.
Member 13396059
я не могу открыть порт
[no name]
a.) вы также добавляете COM-порт в поле со списком, если он не обнаружен COMAvailable
б.) что я думаю запомнить, так это то, что для COM-портов >= 10 вам нужно использовать это имя файла: "\\.\COM10"
Member 13396059
я уже добавил com-порт в поле со списком, но он не работает
[no name]
То есть у вас проблема я думаю, вы ее добавляете в любом случае, даже она недоступна. Ваш код:
If COMAvailable(i) Then
Combo1.AddItem "COM" & i & ""
Else
Combo1.AddItem "COM" & i & ""
End If
Richard Deeming
Где находится переменная i
в вашем Command1_Click
метод? Единственное место, где он, по-видимому, объявлен, - это локальная переменная с form_load
метод, и это не будет доступно вне этого метода.
Вы компилируете свой код без настройки Option Explicit
дальше?