com-port как доступиться

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
ajk
Начинающий
Начинающий
 
Сообщения: 17
Зарегистрирован: 09.01.2005 (Вс) 22:16

com-port как доступиться

Сообщение ajk » 10.01.2005 (Пн) 22:46

com-port как доступиться

Можно минимальный примерчик

или ссылку по-русски?
мои фотки и картинки на экран http://ajk.by.ru.

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 11.01.2005 (Вт) 5:29

open "COM1" for output as #1
? #1, "Гы!"
close #1
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 11.01.2005 (Вт) 5:30

А что конкретно надо?
Изображение

Sejou
Начинающий
Начинающий
 
Сообщения: 4
Зарегистрирован: 05.08.2004 (Чт) 9:51

Сообщение Sejou » 11.01.2005 (Вт) 14:49

Подключить элемент "Microsoft Comm Control"
Меню Project - Components
Вставить элемент в проект
Далее пример из Helpa

Private Sub Form_Load ()
' Buffer to hold input string
Dim Instring As String
' Use COM1.
MSComm1.CommPort = 1
' 9600 baud, no parity, 8 data, and 1 stop bit.
MSComm1.Settings = "9600,N,8,1"
' Tell the control to read entire buffer when Input
' is used.
MSComm1.InputLen = 0
' Open the port.
MSComm1.PortOpen = True
' Send the attention command to the modem.
MSComm1.Output = "ATV1Q0" & Chr$(13) ' Ensure that
' the modem responds with "OK".
' Wait for data to come back to the serial port.
Do
DoEvents
Buffer$ = Buffer$ & MSComm1.Input
Loop Until InStr(Buffer$, "OK" & vbCRLF)
' Read the "OK" response data in the serial port.
' Close the serial port.
MSComm1.PortOpen = False
End Sub

Пример не очень красивый, так что лучше использавать событие MSComm1_OnComm

ajk
Начинающий
Начинающий
 
Сообщения: 17
Зарегистрирован: 09.01.2005 (Вс) 22:16

Сообщение ajk » 11.01.2005 (Вт) 21:21

Sejou писал(а):Подключить элемент "Microsoft Comm Control"
Меню Project - Components
Вставить элемент в проект


Спасибо, сейчас погляжу. Пример я встречал, но некоторые самые простые вещи совершенно непонятны :(

P.S.Если честно, я бывшый давно программист. Нынешние виндовые навороты меня ломают, но пытаюсь поднатаскать сына. Пора чем позаниматься :)
мои фотки и картинки на экран http://ajk.by.ru.

ajk
Начинающий
Начинающий
 
Сообщения: 17
Зарегистрирован: 09.01.2005 (Вс) 22:16

Сообщение ajk » 11.01.2005 (Вт) 21:25

GSerg писал(а):open "COM1" for output as #1
? #1, "Гы!"
close #1


это работает в VB?

мне нужно посмотреть, что на входе устройства из http://www.measur.narod.ru
[/code]
мои фотки и картинки на экран http://ajk.by.ru.

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 11.01.2005 (Вт) 21:36

Да, это работает в VB.
И на Input в VB это тоже работает...
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Zer
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 460
Зарегистрирован: 26.09.2003 (Пт) 13:08
Откуда: Нижний Новгород

Сообщение Zer » 11.01.2005 (Вт) 22:11

mscomm.InputLen=0 :?: :?: :?:
Хрент тогда оттуда чего считаешь... ...так в буфере до закрытия и останется...
Microsoft DirectX - Маломягкий Прямой Х...
Не откладывай на завтра то, что можно выпить сегодня...

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 12.01.2005 (Ср) 4:13

Zer писал(а):mscomm.InputLen=0 :?: :?: :?:
Хрент тогда оттуда чего считаешь... ...так в буфере до закрытия и останется...
The default value for the InputLen property is 0. Setting InputLen to 0 causes the MSComm control to read the entire contents of the receive buffer when Input is used.
Изображение

ajk
Начинающий
Начинающий
 
Сообщения: 17
Зарегистрирован: 09.01.2005 (Вс) 22:16

Сообщение ajk » 13.01.2005 (Чт) 20:35

на строке MSComm1.CommPort = 1 пишет Jbject required

а порт есть.... или я не понял ответ?
мои фотки и картинки на экран http://ajk.by.ru.

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 14.01.2005 (Пт) 3:53

А контрол MSComm1 на форме лежит?
Изображение

Zer
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 460
Зарегистрирован: 26.09.2003 (Пт) 13:08
Откуда: Нижний Новгород

Сообщение Zer » 15.01.2005 (Сб) 20:30

To tyomitch: Нифига он у меня при InputLen=0 не считывал! Проверял!
Microsoft DirectX - Маломягкий Прямой Х...
Не откладывай на завтра то, что можно выпить сегодня...

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 16.01.2005 (Вс) 3:08

Zer писал(а):To tyomitch: Нифига он у меня при InputLen=0 не считывал! Проверял!
Я не проверял, но MSDN-у обычно предпочитаю верить...
Изображение

tekila
Начинающий
Начинающий
Аватара пользователя
 
Сообщения: 4
Зарегистрирован: 16.01.2005 (Вс) 3:46

Сообщение tekila » 16.01.2005 (Вс) 4:04

Как настроить порт на 50 бод и считать с него???

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 16.01.2005 (Вс) 4:59

Никак.
The following table lists the valid baud rates.

Setting

110
300
600
1200
2400
4800
9600 (Default)
14400
19200
28800
38400
56000
57600
115200
128000
256000
Изображение

Zer
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 460
Зарегистрирован: 26.09.2003 (Пт) 13:08
Откуда: Нижний Новгород

Сообщение Zer » 16.01.2005 (Вс) 19:13

По-моему даже в QB минимальная скорость 150 бод...
Microsoft DirectX - Маломягкий Прямой Х...
Не откладывай на завтра то, что можно выпить сегодня...

tekila
Начинающий
Начинающий
Аватара пользователя
 
Сообщения: 4
Зарегистрирован: 16.01.2005 (Вс) 3:46

Сообщение tekila » 17.01.2005 (Пн) 13:03

Хорошо используя MSComm нельзя настроить на 50, если при помощи API...

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 17.01.2005 (Пн) 13:15

Тоже нельзя.
BaudRate
Specifies the baud rate at which the communications device operates. This member can be an actual baud rate value, or one of the following baud rate indexes:

CBR_110
CBR_19200
CBR_300
CBR_38400
CBR_600
CBR_56000
CBR_1200
CBR_57600
CBR_2400
CBR_115200
CBR_4800
CBR_128000
CBR_9600
CBR_256000
CBR_14400
Изображение

tekila
Начинающий
Начинающий
Аватара пользователя
 
Сообщения: 4
Зарегистрирован: 16.01.2005 (Вс) 3:46

Сообщение tekila » 17.01.2005 (Пн) 13:56

Ясно в лоб не прокатит...КАК обойти???

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 17.01.2005 (Пн) 14:08

А 110 бод точно не пойдёт?
Откуда вообще эта цифра - 50?
Изображение

tekila
Начинающий
Начинающий
Аватара пользователя
 
Сообщения: 4
Зарегистрирован: 16.01.2005 (Вс) 3:46

Сообщение tekila » 17.01.2005 (Пн) 14:16

Телеграфный канал связи (50 бод) и 110 не подойдет

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 17.01.2005 (Пн) 14:17

Ну, тогда видимо не получится :-(
Изображение


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

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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4

    TopList