Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут
закрыты.
Читайте
требования к создаваемым темам.
-
Alexey-VB
-
- Обычный пользователь
-
-
- Сообщения: 61
- Зарегистрирован: 11.08.2006 (Пт) 15:10
Alexey-VB » 28.11.2006 (Вт) 23:00
Нужно использовать MSComm в проге для отправления команд в Com port
и получения ответов от него же.
Как отправлять я научился: MSComm1.Output = "любая команда" & vbCrLf
Получать можно так: Text1.SelText = MSComm1.Input
Вот только проблема в том, куда вставить строку получения данных из Com порта?
Например в Winsock есть функция DataArrival, котороя получает все что приходит на порт.
А как реализовать это в MSComm1?
-
Alexey-VB
-
- Обычный пользователь
-
-
- Сообщения: 61
- Зарегистрирован: 11.08.2006 (Пт) 15:10
Alexey-VB » 29.11.2006 (Ср) 0:50
Я знаю, это событие OnComm.
Но какую строку написать в это событие, что бы все данные приходящие с порта, сразу попадали на TextBox или в переменную?
-
clickhere
-
- Начинающий
-
-
- Сообщения: 8
- Зарегистрирован: 30.11.2006 (Чт) 0:09
- Откуда: Минск,Беларусь
-
clickhere » 30.11.2006 (Чт) 0:29
Private Sub Timer1_Timer()
Text1.Text = Text1.Text + mstrInp
If Len(mstrInp) > 0 Then Text1.SelLength = Len(Text1.Text)
mstrInp = ""
End Sub
'-------------------------------------------------------------------------------
Private Sub Scan()
Do
DoEvents
If MSComm1.PortOpen = True Then
mstrInp = mstrInp + MSComm1.Input
End If
Loop Until MSComm1.PortOpen = False
End Sub
-
Konst_One
-
- Член-корреспондент академии VBStreets
-
-
- Сообщения: 3041
- Зарегистрирован: 09.04.2004 (Пт) 13:47
- Откуда: Химки
-
Konst_One » 30.11.2006 (Чт) 11:57
так не делай, плохо
поищи примеры, я выкладывал уже не один раз
-
clickhere
-
- Начинающий
-
-
- Сообщения: 8
- Зарегистрирован: 30.11.2006 (Чт) 0:09
- Откуда: Минск,Беларусь
-
clickhere » 06.12.2006 (Ср) 14:12
Ладно!!! Тогда так:
Private Sub Timer1_Timer()
Dim Inp As String
Inp = MSComm1.Input
Text1.Text = Text1.Text & Inp
If Len(Inp) > 0 Then Text1.SelLength = Len(Text1.Text)
'Слежение за вводом
'MultiLine у TextBoxa в True и включить ScrollBarы
Inp = ""
End Sub
Вернуться в Visual Basic 1–6
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 28