powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Как обратиться к модему?
132 сообщений из 132, показаны все 6 страниц
Как обратиться к модему?
    #37399058
donpauls
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Как обратиться к конкретному модему (если их несколько) программно и заставить его выполнять команды (АТ)
Например, как заставить его позвонить?

Только речь идёт не о dial-up модеме, а о модеме в моб. телефоне.
...
Рейтинг: 0 / 0
Как обратиться к модему?
    #37399209
Дмитрий77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
donpauls,

Microsoft Comm Control 6.0

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
ResultRing = OtvetRing("ATD" & number & ";")

Function OtvetRing(Zapros As String) As String
Dim dummy
Dim ltime
Dim FromModem As String
    If Not (Zapros = "") Then
        FormPort.MSComm1.Output = Zapros & vbCr
    End If
    FormPort.MSComm1.InBufferCount =  0 
    ltime = Timer()
    Do
        dummy = DoEvents()
        If FormPort.MSComm1.InBufferCount Then
            FromModem = FromModem + FormPort.MSComm1.Input
            If InStr(FromModem, "OK") Then
                OtvetRing = "OK"
                Exit Do
            ElseIf InStr(FromModem, "BUSY") Then
                OtvetRing = "BUSY"
                Exit Do
            ElseIf InStr(FromModem, "NO CARRIER") Then
                OtvetRing = "NO CARRIER"
                Exit Do
            End If
        End If
    Loop
End Function

По хорошему надо иметь справочник по (AT) командам модема для данного телефона.
Но скажу так: тех модемов что были в старых сименсах (с полной поддержкой факс-команд и много чего еще, с подробными доступными руководствами) похоже нет уже.

Пример справочника:
http://amber.feld.cvut.cz/user/pokorny/bpdp/S25_ATC.PDF
...
Рейтинг: 0 / 0
Как обратиться к модему?
    #37405144
donpauls
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не хочет работать...

run-time error '424':
Object required
...
Рейтинг: 0 / 0
Как обратиться к модему?
    #37405148
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
надо угадать, на какой строке?
...
Рейтинг: 0 / 0
Как обратиться к модему?
    #37405398
donpauls
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Proнадо угадать, на какой строке?
FormPort.MSComm1.Output = Zapros & vbCr
...
Рейтинг: 0 / 0
Как обратиться к модему?
    #37405445
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну а форма и коммконтрол именно так называются?
...
Рейтинг: 0 / 0
Как обратиться к модему?
    #37405471
donpauls
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.ProНу а форма и коммконтрол именно так называются?

Да, с этим я не разобрался сразу... была ошибка в названии формы. Я использовал Form1 вместо FormPort

Но теперь другая проблема:

run-time error '8018':
Operation valid only when the port is open

Похоже сначала порт нужно открыть?..

И ещё я не могу установить в свойствах MSComm1 номер порта COM30, на который у меня подключен модем.
Выше 16-го не ставится.
...
Рейтинг: 0 / 0
Как обратиться к модему?
    #37405491
[quot donpauls]Shocker.Pro...
И ещё я не могу установить в свойствах MSComm1 номер порта COM30, на который у меня подключен модем.
Выше 16-го не ставится.
Как для Вас писано 11140799
...
Рейтинг: 0 / 0
Как обратиться к модему?
    #37406170
donpauls
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
пробуй камнем,

Спасибо большое, получилось!!

Теперь следующая задача, как этот код разместить в access?

По ходу нужно как-то добавить объект MSComm1, а как это сделать, я не знаю...
...
Рейтинг: 0 / 0
Как обратиться к модему?
    #37406397
ZVI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
donpaulsПо ходу нужно как-то добавить объект MSComm1, а как это сделать, я не знаю...
Достаточно установить Reference на Microsoft Comm Control 6.0
То есть на: C:\Windows\System32\MSCOMM32.OCX

А в коде прописать:
Код: plaintext
1.
2.
3.
4.
5.
Dim MSComm1 As New MSComm

Sub Test()
  MSComm1.InBufferCount =  0 
  ' ...
End Sub
...
Рейтинг: 0 / 0
Как обратиться к модему?
    #37406689
donpauls
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ZVI,

Спасибо большое, всё получилось! Вот мой код:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
Function OtvetRing(Zapros As String) As String

  Dim MSComm1 As MSComm: Set MSComm1 = New MSComm
  Zapros = "ATD" & telsms(Zapros) & ";"
Dim dummy
Dim ltime
Dim FromModem As String
MSComm1.CommPort =  30 
MSComm1.PortOpen = True
    If Not (Zapros = "") Then
        MSComm1.Output = Zapros & vbCr
    End If
    MSComm1.InBufferCount =  0 
    ltime = Timer()
    Do
        dummy = DoEvents()
        If MSComm1.InBufferCount Then
            FromModem = FromModem + MSComm1.Input
            If InStr(FromModem, "OK") Then
                OtvetRing = "OK"
                Exit Do
            ElseIf InStr(FromModem, "BUSY") Then
                OtvetRing = "BUSY"
                Exit Do
            ElseIf InStr(FromModem, "NO CARRIER") Then
                OtvetRing = "NO CARRIER"
                Exit Do
            End If
        End If
    Loop
    

    
End Function
...
Рейтинг: 0 / 0
Как обратиться к модему?
    #37406781
Ципихович Эндрю
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
donpauls, то есть просто по кабелю подсоединяем сотовый телефон
пишем процедуру

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
Sub FIO()

Dim Zapros As String
Zapros = "89028912680"

OtvetRing Zapros

End Sub

и Ваша функция и всё??
Или надо телефон настраивать
просто попробовать нет возможности
...
Рейтинг: 0 / 0
Как обратиться к модему?
    #37406789
Ципихович Эндрю
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
там что библиотеку Microsoft Comm Control 6.0 надо подключать???
что-то у меня такой нет
??
...
Рейтинг: 0 / 0
Как обратиться к модему?
    #37406955
donpauls
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ципихович Эндрю,

Да, библиотеку нужно подключать, если нету - вылаживаю здесь: http://donpauls.my1.ru/mscomm32.rar, а то та что была - была с ограничением до 16 портов, пришлось изменять.

Кроме того в функции необходимо указать номер порта, к которому подключен модем.

Код: plaintext
MSComm1.CommPort =  30 

Это можно узнать в свойствах модема.
...
Рейтинг: 0 / 0
Как обратиться к модему?
    #37406986
donpauls
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ципихович Эндрю,

телефон настраивать не надо
...
Рейтинг: 0 / 0
Как обратиться к модему?
    #37406998
donpauls
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ципихович Эндрю,

только драйвера нужно установить и проследить, чтобы модем был установлен.
...
Рейтинг: 0 / 0
Как обратиться к модему?
    #37407086
Ципихович Эндрю
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
donpaulsЦипихович Эндрю,

Да, библиотеку нужно подключать, если нету - вылаживаю здесь: http://donpauls.my1.ru/mscomm32.rar, а то та что была - была с ограничением до 16 портов, пришлось изменять.

Кроме того в функции необходимо указать номер порта, к которому подключен модем.

Код: plaintext
MSComm1.CommPort =  30 

Это можно узнать в свойствах модема.

Невозможно найти ресурс

Возможно, он был удален, переименован, или временно недоступен.
...
Рейтинг: 0 / 0
Как обратиться к модему?
    #37407087
Ципихович Эндрю
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
по Вашей ссылке нет библиотеки
забыл спросить, а если телефон с двумя СИМ картами, как быть
А также родскажите как скачанную библиотеку добавить, а то я сто раз читал, а ни разу не делал
Спасибо
...
Рейтинг: 0 / 0
Как обратиться к модему?
    #37407110
donpauls
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ципихович Эндрюпо Вашей ссылке нет библиотеки
забыл спросить, а если телефон с двумя СИМ картами, как быть
А также родскажите как скачанную библиотеку добавить, а то я сто раз читал, а ни разу не делал
Спасибо

в ссылке в конце уберите запятую

архив нужно распаковать и библиотеку вкинуть в C:\WINDOWS\system32\

потом эту библиотеку надо подключить через "обзор"
...
Рейтинг: 0 / 0
Как обратиться к модему?
    #37407116
donpauls
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ципихович Эндрю,

если 2 симки, будет звонить с той, которая в данный момент активна
...
Рейтинг: 0 / 0
Как обратиться к модему?
    #37408689
Ципихович Эндрю
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
donpauls, теперь с telsms - функция не определена
...
Рейтинг: 0 / 0
Как обратиться к модему?
    #37408821
donpauls
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ципихович Эндрюdonpauls, теперь с telsms - функция не определена

А, это не обязательно...
Это приведение номера в нужный формат: удаление "-", "(", ")"
...
Рейтинг: 0 / 0
Как обратиться к модему?
    #37414179
Ципихович Эндрю
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
donpauls, скажите, этот код для модема
Стандартный модем 56000 bps Подключен к COM2 подойдёт???
В его свойствах указано, Размещение - Нет данных
Правда я его опрашивал, там ошибка была, но я ещё ней не занимался, не знаю стоит копать дальше??
...
Рейтинг: 0 / 0
Как обратиться к модему?
    #37414183
Ципихович Эндрю
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
просит проверить, что для порта правильное прерывание
как оно проверяется??
...
Рейтинг: 0 / 0
Как обратиться к модему?
    #37414207
Ципихович Эндрю
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
мои посты от сегодня, 18:26
и
от сегодня, 18:28
отменяются, лучше звонить через этот модем, только что поставил его
PCI SoftV92 Data Fax Modem Подключен к COM3
Размещение: PCI гнездо 7 (PCI шина 1, устройство 9, функция 0)
Во всяком случае, я его опросил, всё ОК
Возможно звонить через него программно??
На этой строке
MSComm1.CommPort = 30
номер порта указать надо, где его посмотреть??
...
Рейтинг: 0 / 0
Как обратиться к модему?
    #37414365
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ципихович Эндрюномер порта указать надо, где его посмотреть?? в пятой строке :)
...
Рейтинг: 0 / 0
Как обратиться к модему?
    #37414461
Ципихович Эндрю
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro, номер порта указать надо, где его посмотреть на компьютере??

в пятой строке :)
Это когда опросил модем??
Пятая строка-
Команда Ответ
AT+GCI? GCI:B8

То есть это "GCI:B8", что-то не похоже на номер порта
...
Рейтинг: 0 / 0
Как обратиться к модему?
    #37414463
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ципихович Эндрюв пятой строке :)
Это когда опросил модем??
нет, ответ - в пятой строке твоего вопроса
...
Рейтинг: 0 / 0
Как обратиться к модему?
    #37414468
Ципихович Эндрю
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro, шикарно сам спрашиваю, сам отвечаю, пятая строка:
PCI SoftV92 Data Fax Modem Подключен к COM3
То есть "СОМ3"?, ОК - попробовал
MSComm1.CommPort = COM3 - говорит функция не определена
???
а так
MSComm1.CommPort = "COM3"
ошибка 13 тип мисматч
...
Рейтинг: 0 / 0
Как обратиться к модему?
    #37414469
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тепло, тепло... думай
...
Рейтинг: 0 / 0
Как обратиться к модему?
    #37414473
Ципихович Эндрю
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
додумался толко до этого
Код: plaintext
1.
2.
Dim Порт As String
    Порт = "COM3"
    MSComm1.CommPort = Порт
Не жуётся
...
Рейтинг: 0 / 0
Как обратиться к модему?
    #37414479
Ципихович Эндрю
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
придумал, просто 3, ОК спасибо
...
Рейтинг: 0 / 0
Как обратиться к модему?
    #37416996
Ципихович Эндрю
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
прикрутил этот пример и к городскому телефону, только там надо снять трубку, а потом запускать скрипт, программно можно узнать снята ли трубка и вывести сообщение??
Спасибо
...
Рейтинг: 0 / 0
Как обратиться к модему?
    #37418386
Дмитрий77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ципихович Эндрюприкрутил этот пример и к городскому телефону, только там надо снять трубку, а потом запускать скрипт, программно можно узнать снята ли трубка и вывести сообщение??
Спасибо
Dect со шнуром?
ATZ или ATH не помню можно кажется ее повесить.
...
Рейтинг: 0 / 0
Как обратиться к модему?
    #37418423
donpauls
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ципихович Эндрюмои посты от сегодня, 18:26
и
от сегодня, 18:28
отменяются, лучше звонить через этот модем, только что поставил его
PCI SoftV92 Data Fax Modem Подключен к COM3
Размещение: PCI гнездо 7 (PCI шина 1, устройство 9, функция 0)
Во всяком случае, я его опросил, всё ОК
Возможно звонить через него программно??
На этой строке
MSComm1.CommPort = 30
номер порта указать надо, где его посмотреть??

Если COM3, то номер порта нужно указать 3, т.е. MSComm1.CommPort = 3
...
Рейтинг: 0 / 0
Как обратиться к модему?
    #37418474
Ципихович Эндрю
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
donpauls,
>Если COM3, то номер порта нужно указать 3, т.е. MSComm1.CommPort = 3
Да, уже давно разобрался

>Dect со шнуром?
>ATZ или ATH не помню можно кажется ее повесить

Здесь не понял, вообще не Дект, а что от этого разница есть Дект или не Дект? База то на шнуре, а сам безпроводной.
>ATZ или ATH не помню можно кажется ее повесить
Как??
...
Рейтинг: 0 / 0
Как обратиться к модему?
    #37418909
Дмитрий77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ципихович Эндрю>ATZ или ATH не помню можно кажется ее повесить
Как??
Ну, наверно так.
Код: plaintext
FormPort.MSComm1.Output = "ATZ" & vbCr
Читайте описание AT команд к вашему модему (телефону) или хотя бы экспериментируйте со стандартными командами.
...
Рейтинг: 0 / 0
Как обратиться к модему?
    #37419039
Ципихович Эндрю
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитрий77, спасибо
почитал AT команды модема - http://v90.kiev.ua/articles/at_commands.html
именно чтобы узнать снята ли трубка телефона не нашёл
Вот что у меня сейчас есть, подскажите пожалуйста, если надо эксперемерировать, то где в коде и что надо пробовать?? Спасибо

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
Function OtvetRing(Zapros As String) As String

'AT команды модема - http://v90.kiev.ua/articles/at_commands.html

    Dim MSComm1 As MSComm
    Set MSComm1 = New MSComm
    'ATD - Набор номера
    'Т Тоновый набор (то есть ATDT 3451798)
    'P Импульсный набор (то есть ATDP 2627506)
    Zapros = "ATD" & Zapros & ";"
    Dim dummy
    Dim ltime
    Dim FromModem As String

    'Имя порта
    'Панель управления Телефон и модем, вкладка Модем
    'Модем - PCI SoftV92 Data Fax Modem Подключен к - COM3
    'его надо опросить и получить ответ Успешно
    'в этом случае модем готов к работе

    MSComm1.CommPort =  3 
    MSComm1.PortOpen = True

    If Not (Zapros = "") Then
        'здесь уже звонит
        'как сделать проверку снята ли трубка телефона и вывести сообщение
        MSComm1.Output = Zapros & vbCr
    End If

    MSComm1.InBufferCount =  0 
    ltime = Timer()
    Do
        dummy = DoEvents()
        If MSComm1.InBufferCount Then
            FromModem = FromModem + MSComm1.Input

            If InStr(FromModem, "OK") Then
                'OK (0) Модем успешно выполнил команду
                OtvetRing = "OK"
                Exit Do
            ElseIf InStr(FromModem, "BUSY") Then
                'BUSY (7) Номер (канал) занят
                OtvetRing = "BUSY"
                Exit Do
            ElseIf InStr(FromModem, "NO CARRIER") Then
                'NO CARRIER (3) Модем потерял несущую или не получил ответ от удаленного модема
                OtvetRing = "NO CARRIER"
                Exit Do
            End If
        End If
    Loop

    'установка объекта в значение Nothing требуется для освобождения памяти, которая была выделена для создания этого объекта
    Set MSComm1 = Nothing

End Function
...
Рейтинг: 0 / 0
Как обратиться к модему?
    #37419087
Ципихович Эндрю
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вот вроде нашёл
NO DIALTONE 6 Модем не обнаружил непрерывного гудка (сигнала "набирайте"). Сообщение выдается только в режимах X2 и X4, а так же в любом режиме, если использован символ 'W' в команде набора номера.

Но как это перефразировать в код???
...
Рейтинг: 0 / 0
Как обратиться к модему?
    #37419284
donpauls
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ципихович Эндрювот вроде нашёл
NO DIALTONE 6 Модем не обнаружил непрерывного гудка (сигнала "набирайте"). Сообщение выдается только в режимах X2 и X4, а так же в любом режиме, если использован символ 'W' в команде набора номера.

Но как это перефразировать в код???

Если вы делаете вызов, и трубка не снята, что происходит? Выходит ошибка или что?
...
Рейтинг: 0 / 0
Как обратиться к модему?
    #37419335
Ципихович Эндрю
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
donpauls, если бы ошибка я бы был в шоколаде
он звонит, то есть я слышу набор импульсный, но раз трубка не снята звонок уходит в никуда
то есть до адресата не доходит
Слышу это хорошо, но ведь может музыка играть и т д.
То есть пока трубку на телефоне не сниму без толку скрипт запускать
...
Рейтинг: 0 / 0
Как обратиться к модему?
    #37419382
AndreyMp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вроде как АТА. Но опять же не для всех. Попробовать не где.
...
Рейтинг: 0 / 0
Как обратиться к модему?
    #37419385
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
почитайте вот это описание , может что-то вам станет понятно

PS
ATD
Набор номера

Набираемые цифры: 0 1 2 3 4 5 6 7 8 9 # * A B C D Разделители: ( )

Модификаторы: T P W @ ! R S / ; ,


Эта команда начинает последовательность набора номера. Когда обнаружена команда "D", модем ждет 2 секунды и затем начинает набор номера. Модем набирает 12 стандартных тоновых цифр. Эти цифры могут быть разделены символами-разделителями, указанными выше. Модификаторы определяют способ, которым будет осуществляться набор:

Т Тоновый набор (т.е. ATDT 3451798)

P Импульсный набор (т.е. ATDP 2627506)

Все следующие модификаторы используются внутри строки набираемых цифр (т.е. ATDT 34517W9821, ATDP 262@7506).

W Ждать наборного тона

Этот модификатор вызовет задержку набора до появления тонального сигнала набора. Если по содержимому регистра S7 не будет обнаружен тональный сигнал набора, вызов будет прерван.
...
Рейтинг: 0 / 0
Как обратиться к модему?
    #37419401
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1)
АТН1 {CR}

поднять трубку

2) ATDP3332200 {CR}

набрать номер в пульсовом наборе 333-22-00

и тд и тп
...
Рейтинг: 0 / 0
Как обратиться к модему?
    #37419425
Ципихович Эндрю
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Konst_One1)
АТН1 {CR}

поднять трубку

2) ATDP3332200 {CR}

набрать номер в пульсовом наборе 333-22-00

и тд и тп

а поднять трубку, то зачем??, надо чтобы прога мне это сказала сделать
...
Рейтинг: 0 / 0
Как обратиться к модему?
    #37419443
Ципихович Эндрю
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
пробовал так
Zapros = "ATH1" 'ATH1 - Снятие трубки и подключение к линии ????
Zapros = "ATDT" & Zapros & ";"
Нифига не звонит
...
Рейтинг: 0 / 0
Как обратиться к модему?
    #37419488
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
что у тебя за модем? как ты его подключил к компу? как настроил?
...
Рейтинг: 0 / 0
Как обратиться к модему?
    #37419490
Ципихович Эндрю
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
если после
Код: plaintext
MSComm1.PortOpen = True
Это
Код: plaintext
1.
2.
3.
4.
  MSComm1.Output = "ATH1" & ";" & vbCr
    If FromModem + MSComm1.Input Like "*ERROR*" Then
        OtvetRing = "Снимите трубку, затем повторите вызов"
        GoTo Конец
    End If
Так??
...
Рейтинг: 0 / 0
Как обратиться к модему?
    #37419494
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
нет, возьми пример из VB (коллекция примеров) по работе с mscomm и ппосмотри как там работает
...
Рейтинг: 0 / 0
Как обратиться к модему?
    #37419540
Ципихович Эндрю
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Konst_One, ОК дайте ссылку пжл
...
Рейтинг: 0 / 0
Как обратиться к модему?
    #37419542
AndreyMp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Как обратиться к модему?
    #37419578
Ципихович Эндрю
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AndreyMp, во всяком случае предложеное мною сегодня, 16:37 работает во всяком случае дома без сбоев, еще надо на работе проверить
Спасибо за ссылку щас смотрю
...
Рейтинг: 0 / 0
Как обратиться к модему?
    #37419677
Ципихович Эндрю
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ссылку посмотрел там всё то же, что я и ранее смотрел
есть ссылка на пример
А мой код пошагово пожалуйста работает, выдаёт сообщение, "снимите трубку", а запускаю на выполнение кода, нифига
И как говорится что там происходит ХЗ
...
Рейтинг: 0 / 0
Как обратиться к модему?
    #37419855
Ципихович Эндрю
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
читал есть и OCX файл на эту тему, у кого нибудь есть??
...
Рейтинг: 0 / 0
Как обратиться к модему?
    #37419928
Ципихович Эндрю
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
оказывается он и у меня был, никто не подскажет как им пользоваться
только три параметра

LineIndex
PhoneIndex
Tag
...
Рейтинг: 0 / 0
Как обратиться к модему?
    #37419935
Ципихович Эндрю
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а почему у контрола нельзя менять ширину и высоту??? что это значит?? на форме в разработке виден, а при тесте не виден, что за ересь???
...
Рейтинг: 0 / 0
Как обратиться к модему?
    #37420001
Ципихович Эндрю
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
крутил, вертел код, теперь на строке
Код: plaintext
MSComm1.PortOpen = True ' 8012  Метод PortOpen of object IMSComm failed
вроде ничего особенно не менял, как лечить??
...
Рейтинг: 0 / 0
Как обратиться к модему?
    #37420241
Дмитрий77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ципихович Эндрюкрутил, вертел код, теперь на строке
Код: plaintext
MSComm1.PortOpen = True ' 8012  Метод PortOpen of object IMSComm failed
вроде ничего особенно не менял, как лечить??
Может, порт уже открыт.

Хотите дам совет, чем задавать кучу глупых вопросов и морочить голову себе и людям?
Запустите
Пуск-> Программы ->Стандартные-> Связь -> Hyper Terminal, подключитесь к вашему COM
Забудьте про VB и поиграйтесь просто.

То что вы печатаете в терминалке, Вы всегда можете передать через
FormPort.MSComm1.Output
то что отвечает вам модем ловится через
FormPort.MSComm1.Input
по мере наполнения буфера

Ничего большего чем вы можете сделать/увидеть через терминалку с вашим девайсом вы в VB не родите. От этого и отталкиваетесь.
...
Рейтинг: 0 / 0
Как обратиться к модему?
    #37420320
Ципихович Эндрю
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитрий77, понял в чём проблема была я качал и ставил всякие проги, чтобы людям и себе голову не морочить и в том числе PhoneTrayFree, её удалил, всё пошло

По поводу Hyper Terminal - одно из двух писали не люди или не для людей, одно радует, что на русском языке, хотя если бы было на английском может было бы и проще(для меня) сослался на его не знание. Вот такая петрушка
По поводу вывести сообщение, что нужно снять трубку, актуально
Как узнать??
...
Рейтинг: 0 / 0
Как обратиться к модему?
    #37420555
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
можно больше поймать
я уже писал, что надо взять готовый пример из коллекции примеров от микрософта, которые идут с VS 6.0

вот кусочек из моей программы для отлова событий com-порта

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
Private Sub MSComm1_OnComm()
Dim InBuff As String

   If mnuFileShowEvents.Checked = True Then
      txtTerm.SelStart = Len(txtTerm.Text)
      txtTerm.SelText = "OnComm event, comEv = " & MSComm1.CommEvent & "  " & vbCrLf
   End If
   
   Select Case MSComm1.CommEvent
   ' Handle each event or error by placing
   ' code below each case statement

   ' Errors
      Case comEventBreak   ' A Break was received.
         ErrMsg = "Break"
      ' These next three timeout values are no longer detected in Win32
      Case comEventCDTO    ' CD (RLSD) Timeout.
      Case comEventCTSTO   ' CTS Timeout.
      Case comEventDSRTO   ' DSR Timeout.
      Case comEventFrame   ' Framing Error
         ErrMsg = "Framing"
      Case comEventOverrun ' Data Lost.
         ErrMsg = "Overrun"
      Case comEventRxOver  ' Receive buffer overflow.
         ErrMsg = "OverFlow"
      Case comEventRxParity   ' Parity Error.
         ErrMsg = "Parity"
      Case comEventTxFull  ' Transmit buffer full.
         ErrMsg = "TX Full"
      Case comEventDCB  ' Unexpected error retrieving DCB]
         ErrMsg = "DBC"
         
   ' Events
      Case comEvCD   ' Change in the CD line.
         If MSComm1.CDHolding = True Then
            StatusBar1.Panels("Status").Text = "Connected"
            shpCD.FillColor = vbGreen
            cmdSend.Visible = True
            Connected = True
         Else
            StatusBar1.Panels("Status").Text = "Disconnected"
            shpCD.FillColor = vbRed
            cmdSend.Visible = False
            Connected = False
         End If
         
      Case comEvCTS  ' Change in the CTS line.
         If MSComm1.CTSHolding = True Then
            shpCTS.FillColor = vbGreen
         Else
            shpCTS.FillColor = vbRed
         End If
         
      Case comEvDSR  ' Change in the DSR line.
         ErrMsg = ">>DSR Signal"
         
      Case comEvRing ' Change in the Ring Indicator.
         
         ErrMsg = ">>RING"
         
      Case comEvReceive ' Received RThreshold # of chars.
         shpReceive.FillColor = vbGreen
'         On Error Resume Next
         InBuff = MSComm1.Input
'         Debug.Print Err.Number & ":" & Err.Description
         Call ScanCom(InBuff)
         shpReceive.FillColor = vbRed
         
      Case comEvSend ' There are SThreshold number of
                     ' characters in the transmit buffer.
         shpSend.FillColor = vbGreen
         Do While MSComm1.OutBufferCount >  0 
            DoEvents
         Loop
         shpSend.FillColor = vbRed
         
      Case comEvEOF ' An EOF character was found in
                    ' the input stream
            
            SMS.SendPrompt = False
            
    End Select

End Sub
...
Рейтинг: 0 / 0
Как обратиться к модему?
    #37420744
Ципихович Эндрю
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Konst_One, спасибо попробую
...
Рейтинг: 0 / 0
Как обратиться к модему?
    #37421086
Дмитрий77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Konst_Oneможно больше поймать
вот кусочек из моей программы для отлова событий com-порта
Хочешь сказать, что можно получить доп. информацию о состоянии порта?
Здесь спорить не буду, но я хотел сказать что из самого девайса через VB не выжмешь больше чем можно сделать в терминалке (в плане AT команд).
Последнее время через mscomm через vb с портами напрямую не работаю.
Когда-то даже написал прогу, которая через мобилку (Siemens S25) могла даже SMS-ы отправлять (включая кодирование в Юникод), давно это было.
А узнать снята ли трубка, если читать справочник для S25 например(ссылка на pdf во втором посте), то там есть спецефические GSM AT команды, позволяющие опросить состояние телефона, а м.б. даже генерировать в терминалку события, но это ж понятно что для каждого девайса команды свои, за исключением узкого списка стандартных типа AT,ATD,ATH (кот. кстати в этом справочнике перечислены в начале), но опять же ATDP для мобилки скажем лишено смысла.
Посему совет м.б. один: искать справочник для своего девайса, вооружиться терминалкой и пытаться понять/увидеть то что ты хочешь. И только после четкого понимания желемого (на уровне терминалки) браться за написание проги с желаемым функционалом под свои нужды.
Поправьте если неправ.
...
Рейтинг: 0 / 0
Как обратиться к модему?
    #37421207
Ципихович Эндрю
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитрий77, код Кости ешё не тестил, а что касается мобильного, его нет в прямом смысле слова , куплю узнаете, а есть просто модем Зиксел, телефонный кабель в его вход, а выход из него на телефон не Дектовый
...
Рейтинг: 0 / 0
Как обратиться к модему?
    #37421218
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитрий77Konst_Oneможно больше поймать
вот кусочек из моей программы для отлова событий com-порта
Хочешь сказать, что можно получить доп. информацию о состоянии порта?
Здесь спорить не буду, но я хотел сказать что из самого девайса через VB не выжмешь больше чем можно сделать в терминалке (в плане AT команд).
Последнее время через mscomm через vb с портами напрямую не работаю.
Когда-то даже написал прогу, которая через мобилку (Siemens S25) могла даже SMS-ы отправлять (включая кодирование в Юникод), давно это было.
А узнать снята ли трубка, если читать справочник для S25 например(ссылка на pdf во втором посте), то там есть спецефические GSM AT команды, позволяющие опросить состояние телефона, а м.б. даже генерировать в терминалку события, но это ж понятно что для каждого девайса команды свои, за исключением узкого списка стандартных типа AT,ATD,ATH (кот. кстати в этом справочнике перечислены в начале), но опять же ATDP для мобилки скажем лишено смысла.
Посему совет м.б. один: искать справочник для своего девайса, вооружиться терминалкой и пытаться понять/увидеть то что ты хочешь. И только после четкого понимания желемого (на уровне терминалки) браться за написание проги с желаемым функционалом под свои нужды.
Поправьте если неправ.

см мой код выше, там все состояния и ошибки com-порта доступны (все возможные сигналы на последовательной линии).
...
Рейтинг: 0 / 0
Как обратиться к модему?
    #37421448
Дмитрий77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Konst_Oneсм мой код выше, там все состояния и ошибки com-порта доступны (все возможные сигналы на последовательной линии).
А какое отношение имеют "все состояния и ошибки com-порта" к набору полезной информации, которую можно получить от конкретного девайса посредством
1) Вопроса путем посыла девайсу AT команды (например ATD)
2) События кот. девайс выдает в порт (например RING)
?????
Мы боюсь об разных вещах говорим.
Каждый о своем, чего кто помнит.
...
Рейтинг: 0 / 0
Как обратиться к модему?
    #37421463
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
набор AT-команд безусловно специфичен для каждого из девайсов, я тут и не спорю.
я лишь указываю на то, что mscomm полностью предоставляет все возможности для работы с com-портом.

так вот проверить снята ли трубка можно как раз анализируя состояние com-порта.
а вот отправить sms , например, можно или нет, зависит уже от поддержки конкретного девайса с помощью его набора команд AT (GSM-специфик)
...
Рейтинг: 0 / 0
Как обратиться к модему?
    #37421506
Дмитрий77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Konst_Oneтак вот проверить снята ли трубка можно как раз анализируя состояние com-порта.И как интересно?
На мобилке я "снять" трубку не могу (ну кроме сотояния "разговор" если считать что это снята), на Siemens-Dect закошенном под мобилку -могу "снять" и слышать длинный гудок (ну и видимо у Ципиховича аналогичная system), с модемом я бы уточнил, что есть "снята трубка" (модемом ли, или на телефоне, что за ним) -т.е. опять device-specific.
...
Рейтинг: 0 / 0
Как обратиться к модему?
    #37421529
Дмитрий77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Konst_One,

И откуда уверенность что девайс в обязательном порядке дублирует в COM порт свое состояние (в общем случае и если вы не попросили его это делать путем device specific AT запроса)?
...
Рейтинг: 0 / 0
Как обратиться к модему?
    #37421556
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я про модем веду речь (девайс в режиме модема подключен черз com-порт). всё что вы рассказываете, никакого отношения к работе mscomm не имеет.
...
Рейтинг: 0 / 0
Как обратиться к модему?
    #37421781
Ципихович Эндрю
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
коротко и не по теме, не заводить же тему, послушал совет, почитать, прочёл
Integer % Целый 2 от –-32768 до +32767
правда не в первый раз, чисто случайно проверил
Код: plaintext
1.
2.
Dim cursor_table As Integer
cursor_table =  32767  - ОК
cursor_table =  32768  - не ОК
То есть в день знаний я не знаю, что такое ДО, должно быть
Код: plaintext
1.
cursor_table =  32766  - ОК
cursor_table =  32767  - не ОК 
Жана Дарк
...
Рейтинг: 0 / 0
Как обратиться к модему?
    #37423451
Ципихович Эндрю
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Konst_One,
здесь
Select Case MSComm1.CommEvent
говорит функция не определена
????
...
Рейтинг: 0 / 0
Как обратиться к модему?
    #37423524
Ципихович Эндрю
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
гонял этот код туда сюда, так что ли??
Код: plaintext
1.
2.
3.
Dim MSComm1 As MSComm
    Set MSComm1 = New MSComm
    If MSComm1.CommEvent =  83  Then MsgBox$ "Cнимите трубку"
...
Рейтинг: 0 / 0
Как обратиться к модему?
    #37433782
Ципихович Эндрю
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
есть у кого небудь реальная ссылка где какчнуть программу EasyPort, а то везде одни прокиды
...
Рейтинг: 0 / 0
Как обратиться к модему?
    #37434291
Ципихович Эндрю
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EasyPort качнул поставил, пока не могу разобраться потому-что как я говорил как куплю телефон узнаете. Так вот купил Самсунг 6712, но пока подсоеденить не могу, чтобы его увидел комп. в списке модемов
С Моторолкой трехлетней давности и то меньше проблем было, или уже забылось
Конечно экономия рессурсов продавать без драйверов, но если бы была у Самсунга реальная раздача, никто не знает где взять? я так понял нужен драйвер для кабеля??
...
Рейтинг: 0 / 0
Как обратиться к модему?
    #37434334
timtim
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ципихович Эндрюя так понял нужен драйвер для кабеля??
нет, нужен мозг для ЦЭ
...
Рейтинг: 0 / 0
Как обратиться к модему?
    #37434346
Ципихович Эндрю
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
timtim, в этой части какую-нибудь пакость написать Вы мастер
...
Рейтинг: 0 / 0
Как обратиться к модему?
    #37434970
timtim
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ципихович Эндрю,

пакость - не пакость, всё зря
с ресурсами в приложении разобрался?
...
Рейтинг: 0 / 0
Как обратиться к модему?
    #37434973
Ципихович Эндрю
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
timtim, к чему вопрос, вопросом на вопрос не люблю отвечать, ответ такой - нет не разобрался, но придумал как выйти из положения, разобраться не против.
Есть желание помочь??
...
Рейтинг: 0 / 0
Как обратиться к модему?
    #37435029
timtim
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ципихович Эндрюк чему вопрос, вопросом на вопрос не люблю отвечать, ответ такой - нет не разобрался
значит не е..., так почему не разобрался? не разбирался вообще или тебе разбираться некогда? в чем причина? ответом на вопрос ответь.
...
Рейтинг: 0 / 0
Как обратиться к модему?
    #37435039
Ципихович Эндрю
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
timtim, 11259280
...
Рейтинг: 0 / 0
Как обратиться к модему?
    #37435123
timtim
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ципихович Эндрю,

В воскресной прострации я
Сейчас начну материться
Озвучь свою конечную цель! Зачем тебе эта тема?
На оптику переходи.
...
Рейтинг: 0 / 0
Как обратиться к модему?
    #37435174
Ципихович Эндрю
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
timtim, может в Кремль переехать??
А что плохого будет, если находясь в Ворде я щёлкну по номеру, прога проверит номер ли это и наберёт мне этот номер с городского телефона, это я уже сделал
А тут ещё о чудо, лежит на столе сотовый телефон и прога набирает с него, и без проводов, так и не понял, без проводов это по
1 блютузу?
2 вайфаю?
3 и то и другое на выбор?
нужный номер телефона, что плохого??
...
Рейтинг: 0 / 0
Как обратиться к модему?
    #37435177
Ципихович Эндрю
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
забыл спросить, что такое: "воскресная прострация" и просто "прострация", а какая она бывает кроме воскресной?
...
Рейтинг: 0 / 0
Как обратиться к модему?
    #37435189
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ребята, я вас мягко пока предупреждаю... давайте в теме по делу... если вообще кому-то охота отвечать ЦЭ по делу
...
Рейтинг: 0 / 0
Как обратиться к модему?
    #37494419
Ципихович Эндрю
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте, что-то на строке
Код: plaintext
1.
Dim MSComm1 As MSComm
Set MSComm1 = New MSComm 'стал получать ошибку ошибка  429  ACtiveX component can't 
create object
В то же время библиотека Microsoft Comm Control 6.0 подключена, как лечить??
Раньше было гладко
дома нет ошибки, а на работе есть
????
В обоих случаях Винда - ХР
Файл MSCOMM32.OCX на работе и дома один и тот же
Библиотеку регистрировал и разрегестрировал и снова регестировал
Ворд переставлял, винду переустнавливал - не помогает
Есть мнение воспользоваться MicrosoftFixit50181.msi
Качнул, там файл MicrosoftFixit50181.msi начинаешь его ставить, что-то деает, что не понятно
Как им пользоваться???
Как лечить???
Заранее спасибо
...
Рейтинг: 0 / 0
Как обратиться к модему?
    #37519108
Ципихович Эндрю
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
решил эту проблему, аккуратно два месяца она меня нервировала
ответ неожиданный
в ветке
HKEY_CLASSES_ROOT\Licenses\4250E830-6AC2-11cf-8ADB-00AA00C00905
должно быть значение "kjljvjjjoquqmjjjvpqqkqmqykypoqjquoun"
Магическая строка - "kjljvjjjoquqmjjjvpqqkqmqykypoqjquoun"
Не подскажите
1. как отловить, если в указанном в коде порту в компе пусто - нет модема, сообщить пользователю
2. как узнать к модему указанном в коде подключен городской или сотовый телефон
3. если подключу сотовый телефон к компьютеру, как отправить СМС
Заранее спасибо
...
Рейтинг: 0 / 0
Как обратиться к модему?
    #37519157
timtim
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ципихович Эндрю,

У Вас там подморозило?
...
Рейтинг: 0 / 0
Как обратиться к модему?
    #37523445
Ципихович Эндрю
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1
для открытия порта поставил блок
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
Dim q As Byte
        For q =  1  To  254 
        MSComm1.CommPort = q
 
        'ошибка 8012 Метод PortOpen of object IMSComm failed
        MSComm1.PortOpen = True
        MsgBox$ Err.Number & " " & Err.Description
        Err.Number =  0 
        Next q
получил ответы
1-ошибка 8002
2-ошибка 0
3 и дальше до конца ошибка 8005
Всё с ног на голову, у меня заняты порты
2 - Стандартный модем 5600
3 - SoftV92 Data Fax Modem
Значит насколько я понимаю у меня ошибка 0 должна быть когда q = 2 и q = 3
а в остальных случаях какая-то одна ошибка
Но это увы не так
А тут вылазят ошибки 8002 и 8005, что это за ошибки??
Очень удивило, что текст у этих ошибок и главное у ошибки 0 один и тот же
Application-defined or object-defined error
С чего это у ошибки 0 имеется текст???????
Или я не так мыслю???

2
пробую после открытия порта послать команду "AT+CSQ" & vbCr
Код: plaintext
1.
2.
MSComm1.PortOpen = True
'проверка уровня сигнала базовой станции оператора
MSComm1.Output = "AT+CSQ" & vbCr
Но как потом уловить ответ???, какой код??
...
Рейтинг: 0 / 0
Как обратиться к модему?
    #37524218
Ципихович Эндрю
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не доганяю, поясните пожалуйста, меня интерисует работа с модемом, но я вынужден гулить
rs 232 и VB6 или COM порт, на странице http://vbstreets.ru/VB/Articles/66394.aspx имеется рисунок rs 232, он же и есть COM порт???
А при чём тут модем?
...
Рейтинг: 0 / 0
Как обратиться к модему?
    #37525976
Ципихович Эндрю
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
сегодня, ровно до обеда MsgBox$ - выдавал ответ - три порта, что так и есть, а сейчас упорно сообщает, что их 0, почему????
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
  Dim MSComm1 As MSComm
    Set MSComm1 = New MSComm

    Dim q As Byte
  
    'оператор для отлова ошибок, указывает, что при возникновении ошибки нужно переходить к следующей строке кода
    On Error Resume Next
    
    For q =  1  To  254 
        'номер COM порта
        MSComm1.CommPort = q
        'открыть порт
        MSComm1.PortOpen = True
        '1й Beep
        If MSComm1.PortOpen = True Then Beep
        'устанавливаем\опрашиваем 0 или 1 присутствует на выводе CTS, состояние False или True
        MSComm1CTSHolding = MSComm1.CTSHolding
        '2й Beep
        If MSComm1CTSHolding = True Then Beep: Количество_портов = Количество_портов +  1 

    Next q

MsgBox$ _
            "Количество портов" & Chr( 13 ) & _
                                Количество_портов & Chr( 13 ) & _
                                "Все порты" & Chr( 13 ) & _
                                Все_порты


...
Рейтинг: 0 / 0
Как обратиться к модему?
    #37525981
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не вижу объявления вашей переименной Количество_портов
...
Рейтинг: 0 / 0
Как обратиться к модему?
    #37526074
Ципихович Эндрю
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Konst_One, ну сейчас всё по феншую, а толку, всё равно 0
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
Option Explicit

Sub FIO()

    Dim MSComm1 As MSComm
    Set MSComm1 = New MSComm

    Dim q As Byte
    Dim Количество_портов As Byte
    Dim MSComm1CTSHolding As Boolean

    'оператор для отлова ошибок, указывает, что при возникновении ошибки нужно переходить к следующей строке кода
    On Error Resume Next

    For q =  1  To  254 
        'номер COM порта
        MSComm1.CommPort = q
        'открыть порт
        MSComm1.PortOpen = True
        '1й Beep
        If MSComm1.PortOpen = True Then Beep
        'устанавливаем\опрашиваем 0 или 1 присутствует на выводе CTS, состояние False или True
        MSComm1CTSHolding = MSComm1.CTSHolding
        '2й Beep
        If MSComm1CTSHolding = True Then Количество_портов = Количество_портов +  1 

    Next q

    MsgBox$ _
            "Количество портов" & Chr( 13 ) & _
                                Количество_портов

End Sub
...
Рейтинг: 0 / 0
Как обратиться к модему?
    #37526963
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
On Error Resume Next
убери это и проверь, что за ошибка
...
Рейтинг: 0 / 0
Как обратиться к модему?
    #37527825
Ципихович Эндрю
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Konst_One, спасибо, завтра проэкперементирую, скажу
...
Рейтинг: 0 / 0
Как обратиться к модему?
    #37528008
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Интересно, сколько еще раз ЦЭ наступит на эти грабли...
...
Рейтинг: 0 / 0
Как обратиться к модему?
    #37528023
Ципихович Эндрю
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro, просто уверен, что там нет никаких ошибок, просто затерялась эта строка, раньше всё было по другому, этот блок добавил, подождём до завтра, тем более я же сказал, что
>сегодня, ровно до обеда MsgBox$ - выдавал ответ - три порта, что так и есть, а сейчас упорно сообщает, что их 0, почему????

И с этой строкой выдавал ответ три!!!!!, а сейчас с этой же строкой говорит 0
...
Рейтинг: 0 / 0
Как обратиться к модему?
    #37529090
Ципихович Эндрю
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
извиняюсь был не прав
но в настоящее время, ещё больше вопросов
и так, всё с начала
на компе у меня два модема, два порта com3 и com4, вот код:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
    Dim MSComm1 As MSComm
    Set MSComm1 = New MSComm

    Dim q As Byte
    Dim Количество_портов As Byte
    Dim MSComm1CTSHolding As Boolean

    For q =  1  To  254 
        'номер COM порта
        MSComm1.CommPort = q
        'открыть порт
        MSComm1.PortOpen = True 'когда q = 2, ошибка 8002
        '1й Beep
        If MSComm1.PortOpen = True Then Beep
        'устанавливаем\опрашиваем 0 или 1 присутствует на выводе CTS, состояние False или True
        MSComm1CTSHolding = MSComm1.CTSHolding
        '2й Beep
        If MSComm1CTSHolding = True Then Количество_портов = Количество_портов +  1 
        
         'закрыть порт
        MSComm1.PortOpen = False

    Next q

    MsgBox$ _
            "Количество портов" & Chr( 13 ) & _
                                Количество_портов
когда q = 2, то есть com2, тогда ошибка 8002, а чем отличается com1 от com2??? - загадка
...
Рейтинг: 0 / 0
Как обратиться к модему?
    #37529101
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в BIOS лезь и смотри как настроены. моё предположение, что com2 выключен (осутствует в devices).
ещё как вариант стоит программа виртуальных портов и шарит один из них на него.
...
Рейтинг: 0 / 0
Как обратиться к модему?
    #37529435
Ципихович Эндрю
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Konst_One,
>что com2 выключен (осутствует в devices)
а как же то, что я опрашиваю com2 вручную с Панели управления и получаю ответ - Успешно
???
>стоит программа виртуальных портов и шарит один из них на него
а это как можно узнать??
хотя опять же - я опрашиваю com2 вручную с Панели управления и получаю ответ - Успешно
????
...
Рейтинг: 0 / 0
Как обратиться к модему?
    #37529450
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
что значит?

Ципихович Эндрюа как же то, что я опрашиваю com2 вручную с Панели управления и получаю ответ - Успешно
...
Рейтинг: 0 / 0
Как обратиться к модему?
    #37529452
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
если какая-либо программа уже открыла ком-порт и работает с ним, то MSCOMM выдаст именно вашу ошибку при попытке его открытия
...
Рейтинг: 0 / 0
Как обратиться к модему?
    #37529558
Ципихович Эндрю
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Konst_One
Konst_Oneчто значит?
Ципихович Эндрюа как же то, что я опрашиваю com2 вручную с Панели управления и получаю ответ - Успешно

значит, следующее Пуск Панель Управления Телефон и модемы Модемы
Выбрал из списка модем который сидит на com2, диагностика, опросить Опрашиваю, получаю ответ Успешно

Konst_Oneесли какая-либо программа уже открыла ком-порт и работает с ним, то MSCOMM выдаст именно вашу ошибку при попытке его открытия
так может изначально его сначала закрыть
????
...
Рейтинг: 0 / 0
Как обратиться к модему?
    #37529834
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
если открыт порт другой программой, то mSCOMM этот порт закрыть не может, это надо делать именно в той программе, которая порт и открыла.
...
Рейтинг: 0 / 0
Как обратиться к модему?
    #37529890
Ципихович Эндрю
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Konst_One, ок, верится с трудом, чтобы я перезагрузил комп и враз уже прога какая-то начала его использовать, тогда я ставлю проверку, в коде
If MSComm1.PortOpen = True Then MsgBox$ "MSComm1.PortOpen = True"
и завтра Вам говорю результат, будет о чём поговорить, ОК? или может надо ещё что-то предпринять, чтобы все точки над И расставить??

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
 Dim MSComm1 As MSComm
    Set MSComm1 = New MSComm

    Dim q As Byte
    Dim Количество_портов As Byte
    Dim MSComm1CTSHolding As Boolean

    For q =  1  To  254 
        'номер COM порта
        MSComm1.CommPort = q
        If MSComm1.PortOpen = True Then MsgBox$ "MSComm1.PortOpen = True"
        'открыть порт
        MSComm1.PortOpen = True 'когда q = 2, ошибка 8002
        '1й Beep
        If MSComm1.PortOpen = True Then Beep
        'устанавливаем\опрашиваем 0 или 1 присутствует на выводе CTS, состояние False или True
        MSComm1CTSHolding = MSComm1.CTSHolding
        '2й Beep
        If MSComm1CTSHolding = True Then Количество_портов = Количество_портов +  1 
        
         'закрыть порт
        MSComm1.PortOpen = False

    Next q

    MsgBox$ _
            "Количество портов" & Chr( 13 ) & _
                                Количество_портов
...
Рейтинг: 0 / 0
Как обратиться к модему?
    #37530047
Ципихович Эндрю
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Konst_Oneесли какая-либо программа уже открыла ком-порт и работает с ним, то MSCOMM выдаст именно вашу ошибку при попытке его открытия
1то есть ошибку 8002?
2интересено откуда Вы это знаете, есть топик http://www.sql.ru/forum/actualthread.aspx?tid=894848, микрософтовцы пока не ответили, в этом топике не подскажете?
...
Рейтинг: 0 / 0
Как обратиться к модему?
    #37531973
Ципихович Эндрю
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
как я и говорил когда q = 2
на строке MSComm1.PortOpen = True 'ошибка 8002
но перед этим я не получил сообщения MSComm1.PortOpen = True, вот код:

Код: plaintext
1.
2.
  If MSComm1.PortOpen = True Then MsgBox$ "MSComm1.PortOpen = True"
        'открыть порт
        MSComm1.PortOpen = True 'когда q =  2 , ошибка  8002 
1Значит он закрыт!!??, а ошибку при его открытии получаю!!??
2Что это значит?
3Что предпринимать дальше??
...
Рейтинг: 0 / 0
Как обратиться к модему?
    #37532017
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Как обратиться к модему?
    #37532024
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Как обратиться к модему?
    #37532065
Ципихович Эндрю
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Konst_One, спасибо!!!!!!!, буду проверять завтра на работе
...
Рейтинг: 0 / 0
Как обратиться к модему?
    #37533806
Ципихович Эндрю
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Konst_One,

ОК, смотрю код первый на странице ИНФОРМАЦИЯ: Получение данных с помощью события OnComm элемента управления MSComm, что вижу, каков функционал?
показать форму с надписью … - Form1.Caption = "App1" – вещь!
с надписью кнопки Command1 - "&Send" – вещь!
с текстом в текстбоксе Text1 текста "Test string from App1 " – вещь!
При нажатии на кнопку Command1 показать то, что в текстбоксе Text1 – вещь!
Хоть занажимайся на эту кнопку, всё предрешено, какое здесь отношение имеет MSComm кроме того, что есть о нём упоминания?? или я что-то не допонял??

смотрю код второй на этой же странице
на строке .PortOpen = True также получаю ошибку 8002 – Invalid PortNumber
Что предпринимать дальше???
Напомню мою основную цель на этом этапе
Так как у меня в системе, например два com порта
получить сообщение следующего содержания
У Вас, ЦЭ на компьютере имеются модемы:
1. Samsung 6712
2. SoftV 92 Data FaxModem

После того как я отсоединю сотовый телефон Samsung 6712, естественно это сообщение уже должно быть на один пункт меньше
Как этого добиться?????
...
Рейтинг: 0 / 0
Как обратиться к модему?
    #37533852
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ципихович ЭндрюПосле того как я отсоединю сотовый телефон Samsung 6712, естественно это сообщение уже должно быть на один пункт меньше


вот это видимо вы делаете неправильно. (я так понимаю, что этот модем у вас на COM2 висит?)
...
Рейтинг: 0 / 0
Как обратиться к модему?
    #37533862
Ципихович Эндрю
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Konst_One, нет он висит на com4
а при чём тут это? это прога должна всё сама определить и мне рассазать, вдруг забуду :)
...
Рейтинг: 0 / 0
Как обратиться к модему?
    #37533871
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mscomm не предназначен для мониторинга устройств на портах. об этом надо заботиться на другом уровне автоматизации, смотрите примеры по WMI
...
Рейтинг: 0 / 0
Как обратиться к модему?
    #37533901
Ципихович Эндрю
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Konst_One, понял, в гугле что забивать в поиск
мониторинг устройств на портах WMI, так?
...
Рейтинг: 0 / 0
Как обратиться к модему?
    #37537545
Ципихович Эндрю
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Konst_One, на основе Вашего кода сделал себе проверку на завтра

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
    Dim MSComm1 As MSComm
    Set MSComm1 = New MSComm
    MSComm1.CommPort =  3 

    MsgBox$ MSComm1.CommEvent

    Select Case MSComm1.CommEvent

    Case comEventBreak
        Messeges = "1"
    Case comEventCDTO
        Messeges = "2"
    Case comEventCTSTO
        Messeges = "3"
    Case comEventDSRTO
        Messeges = "4"
    Case comEventFrame
        Messeges = "5"
    Case comEventOverrun
        Messeges = "6"
    Case comEventRxOver
        Messeges = "7"
    Case comEventRxParity
        Messeges = "8"
    Case comEventTxFull
        Messeges = "9"
    Case comEventDCB
        Messeges = "10"
    Case comEvCD
        Messeges = "11"
    Case comEvCTS
        Messeges = "12"
    Case comEvDSR
        Messeges = "13"
    Case comEvRing
        Messeges = "14"
    Case comEvReceive
        Messeges = "15"
    Case comEvSend
        Messeges = "16"
    Case comEvEOF
        Messeges = "17"
    End Select

    MsgBox$ Messeges
Скажите я правильно понимаю, что при подключенном и не подключенном телефон при снятой трубке или нет сообщения должны быть разные???
...
Рейтинг: 0 / 0
Как обратиться к модему?
    #37537585
Фотография Андрей159
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
donpaulsЦипихович Эндрю,
если 2 симки, будет звонить с той, которая в данный момент активна
Два разных китайских телефона KT* пробовал на две симки и отклик идет только от первого модема. Второй не поддерживается. Так там даже видно без программирования что с другой карточки не поддерживается запись (диктофон)
...
Рейтинг: 0 / 0
Как обратиться к модему?
    #37537591
Ципихович Эндрю
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей159, спасибо не до этого, мне пока надо это решить, потом двинусь дальше
...
Рейтинг: 0 / 0
Как обратиться к модему?
    #37537629
Фотография Андрей159
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ципихович Эндрю не до этого
там не так все просто как в справочнике типа прочитал и все... Нужно передать АТ команду, дождаться определенного статуса готовности или ответа. Можна делать через паузу, можно в таймере используя флаги. В основном если есть цель, занятия интересное. Например чтоб читать приходящие смс, нужно дать команду модему, который потом при приеме смс будеть давать ответ в какой ячейке сохранено сообщение. Дальше можно читать, декодировать SMS Декодирую PDU формат . Также без труда отлавливаются звонки "кто звонит". Если цель смс биллинг или что-то серёзное, тогда вперед! Если просто так - только времья убьете
...
Рейтинг: 0 / 0
Как обратиться к модему?
    #37537637
Ципихович Эндрю
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей159,
ситуация, к компу подключено два телефона городской и сотовый
в Ворде и файле ХТМЛ кинуть кнопку, на ней указан номер телефона
юзер жмёт на кнопку
прога считывает сколько сейчас доступно модемов, если более одного, форма, спрашивает с какого звоним, юзер выбрал - нажал кнопку. Прога выясняет все нюансы снята ли трубка, нет ли разговора в линии и если есть проблемы выдаёт сообшение, какая именно проблема

Передавать команду? ОК, какую?
...
Рейтинг: 0 / 0
Как обратиться к модему?
    #37537647
Фотография Андрей159
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вот-вот. нужно научиться принимать Ответ и понимать к чему он относительно запроса. Я к тому клоню.
Потому что нет такой простой функции типа
Ответ = Запрос("Наша команда")
в том и сложность. Дерзайте
...
Рейтинг: 0 / 0
Как обратиться к модему?
    #37537651
Фотография Андрей159
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добавте текстовое поле, в которое Вы можете вбивать АТ команду для эксперемента и чтоб собитя возникало при нажатии кнопки 'Enter'
Код: plaintext
1.
2.
3.
4.
Private Sub Text1_KeyPress(KeyAscii As Integer)
 If KeyAscii =  13  Then
 'Посылаем на COM порт АТ команду .Send = Text1.Text
 End If
End Sub
Это позволит Вам свободно эксперементировать и разширит Ваши знания
...
Рейтинг: 0 / 0
Как обратиться к модему?
    #37537660
Ципихович Эндрю
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей159, только команд этих около 100 штук, а мне надо 2-е
...
Рейтинг: 0 / 0
Как обратиться к модему?
    #37537662
Ципихович Эндрю
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
и я не ленился перепробовал множество, сейчас не вспомню куда дел код, получил отлуп
...
Рейтинг: 0 / 0
Как обратиться к модему?
    #37538665
Ципихович Эндрю
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
код от вчера, 19:58 - не взлетел, бог с ним, пойдём другим путём, прилагаю Файл http://files.mail.ru/BBQM0D, там указано Самсунг - Отсутствует, это можно программно узнать?? Если да то как?
...
Рейтинг: 0 / 0
Как обратиться к модему?
    #37544569
Ципихович Эндрю
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
пришлось написать в поддержку производителя модема, ответ получил
о подключенном последовательно телефоне к модему можно узнать: должен приходить DLE код H
Великолепно, как бы это в код перевести??
...
Рейтинг: 0 / 0
Как обратиться к модему?
    #37544725
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
16(10hex)- DLE переключение кода

это придёт на линию
...
Рейтинг: 0 / 0
Как обратиться к модему?
    #37544735
Ципихович Эндрю
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Konst_One, ясности не добавилось, можно это в код перевести?
...
Рейтинг: 0 / 0
Как обратиться к модему?
    #37544765
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
устал я от вас ЦЭ. вот, держите и разбирайтесь.
...
Рейтинг: 0 / 0
Как обратиться к модему?
    #37544779
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ах да, пример от микрософта, который шёл в комплекте с VS6.0
...
Рейтинг: 0 / 0
Как обратиться к модему?
    #37544785
Ципихович Эндрю
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Konst_One, спасибо, это мне на неделю хватит, приятного отдыха :)
...
Рейтинг: 0 / 0
Как обратиться к модему?
    #37651075
palladin600
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Konst_One , прикольно написано..
спасибо за шаринг.

у меня есть два вопроса, не могу никак порешать их. в общем:
1) можно ли получить номер (в чистом виде) пропущенного(-ых) звонка? выставляю CPBS="MC", пытаюсь получить через CPBR=1,2 и выдатся последовательность, типа
Код: plaintext
+CPBR: 2,"002B003300370035003200390031003100380035003000390037",145,"0055006E006B006E006F0077006E"

2) если телефон двухсимочный(SAMSUNG), можно ли получить CLCC? в общем не могу послать эту команду, постоянно отвергает CME ERROR: 3, и не идёт даже само событие RING, хотя доступ к терминалу во время звонка есть (просто думал, что телефон блокирует модем во время приёма звонка). Может там какая другая особенность? Типа войти в зону SIM1, и уже осуществлять контроль там. Может есть какие соображения на этот счёт? Ну както же можно осуществлять контроль. Или у самсунга может быть свой какойто протокол и пока его фик расколешь...
...
Рейтинг: 0 / 0
Как обратиться к модему?
    #37652931
donpauls
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
palladin600,

2х симочный Самсунг имеет очень урезанный список АТ команд, и уже не говоря о том чтобы управлять отдельно каждой симкой, но он даже на CLCC ничего ответить не может.
...
Рейтинг: 0 / 0
132 сообщений из 132, показаны все 6 страниц
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Как обратиться к модему?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]