Модем MSComm

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
seelts
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 143
Зарегистрирован: 21.11.2002 (Чт) 11:24
Откуда: Russia

Модем MSComm

Сообщение seelts » 04.06.2004 (Пт) 23:51

Немогу понять: когда я набираю номер дозваниваясь к провайдеру модем не издаёт никаких звуков....но это нормально, тк у меня в настройках отключен звук, а када через мскомм начинаю звонить (атд....) он пищать начинает? - почему так... как звук регулировать?
если создать алгоритм, которым сможет пользоваться даже дурак, то только дурак и будет им пользоваться

seelts
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 143
Зарегистрирован: 21.11.2002 (Чт) 11:24
Откуда: Russia

громкость-то ладно....

Сообщение seelts » 06.06.2004 (Вс) 23:25

ну с громкостью я разобрался: ATL0 - молчим ... ATL3 - орём
правда если сделать атл и потом сразу атд№... то почему то не набирает... ну да ладно.
теперь вот вопрос: запускаю прогу, жму на кнопку набрать номер... а прога то набирает то нет.. и не понятно от чего это зависит. ничего не меняю, а она то набирает то нет...ну ладно.... вот что меня больше интересует - почему в текстовом (мультилайн) поле отклики модема отображаются обрезаными....те:я говорю модему:
атдт447285
а из инпута приходит:
атдт4472
, потом допустим номер занят и мне приходит:
85 ' <- окончание которое не дошло
БИЗИ

чё за байда?
плиз хелп
если создать алгоритм, которым сможет пользоваться даже дурак, то только дурак и будет им пользоваться

Cyrax
Cyberninja
Cyberninja
Аватара пользователя
 
Сообщения: 891
Зарегистрирован: 25.04.2002 (Чт) 21:20
Откуда: Magnitogorsk, Russia

Re: громкость-то ладно....

Сообщение Cyrax » 07.06.2004 (Пн) 8:09

seelts писал(а):ну с громкостью я разобрался: ATL0 - молчим ... ATL3 - орём
правда если сделать атл и потом сразу атд№... то почему то не набирает... ну да ладно.
теперь вот вопрос: запускаю прогу, жму на кнопку набрать номер... а прога то набирает то нет.. и не понятно от чего это зависит. ничего не меняю, а она то набирает то нет...ну ладно.... вот что меня больше интересует - почему в текстовом (мультилайн) поле отклики модема отображаются обрезаными....те:я говорю модему:
атдт447285
а из инпута приходит:
атдт4472
, потом допустим номер занят и мне приходит:
85 ' <- окончание которое не дошло
БИЗИ

чё за байда?
плиз хелп


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

в примере из мсдн было примерно следующее:
Код: Выделить всё
Do
  DoEvents
  Buffer$ = Buffer$ & MSComm1.Input
Loop Until InStr(Buffer$, "OK" & vbCRLF)
Text1.Text = Text1.Text & Buffer$
Ты это ему расскажи. Я уже пять болтов отвинтил, и конца не видно... (озадаченно) А это в какую сторону тянуть? Ну-ка... Ага, этот был лишний, этот вообще не отсюда, и этот... Точно, два болта.

Welcome to IRC

seelts
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 143
Зарегистрирован: 21.11.2002 (Чт) 11:24
Откуда: Russia

Сообщение seelts » 08.06.2004 (Вт) 16:31

Код: Выделить всё
mscModem.CommPort = 2 'cmbCOM.ListIndex + 1
mscModem.Settings = "28800,N,8,1"
mscModem.InputLen = 0
mscModem.PortOpen = True
'mscModem.Output = "ATL1" & Chr$(13)
mscModem.Output = "ATD" & IIf(cmbType.ListIndex = 0, "T", "P") & txtNumber.Text & Chr$(13)
Do
DoEvents
'mscModem.InputLen = 0  -  не знаю нужна эта строка или нет? - вроде
'ето значит что будем использовать весь буфер.... вобщем у меня
'заремена....
If mscModem.PortOpen Then 'эта проверка в принцепе здесь не нужна
'но всётаки...
                     ret = mscModem.Input
                     If Len(ret) > 0 Then txtChat.Text = txtChat.Text + ret + vbCrLf
                     Else
                     Exit Do
                     End If
Loop Until Len(ret) > 0 'mscModem.InBufferCount > 0

если б порт был открыт в момент начала звонка, то ерор бы вылез ещё когда я попытался бы открыть его ещё раз... а так всё без ошибок но то набирает, то нет....
если создать алгоритм, которым сможет пользоваться даже дурак, то только дурак и будет им пользоваться


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Google-бот и гости: 17

    TopList