Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
	
		
		
			Правила форума
			Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут 
закрыты.
Читайте 
требования к создаваемым темам.
		
		
 
	 
	
		
		
			
			- 
				Alexey-VB
			
- 
				
- Обычный пользователь
  
- 
			
			
-  
- Сообщения: 61
- Зарегистрирован: 11.08.2006 (Пт) 15:10
			
			
			 Alexey-VB » 28.11.2006 (Вт) 23:00
 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
 Alexey-VB » 29.11.2006 (Ср) 0:50 
			
			Я знаю, это событие OnComm.
Но какую строку написать в это событие, что бы все данные приходящие с порта, сразу попадали на TextBox или в переменную?
			
		 
		
		 
	 
	
	
		
		
			
			- 
				clickhere
			
- 
				
- Начинающий
  
- 
			
			
-  
- Сообщения: 8
- Зарегистрирован: 30.11.2006 (Чт) 0:09
- Откуда: Минск,Беларусь
- 
				
			
			
			
			 clickhere » 30.11.2006 (Чт) 0:29
 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
 Konst_One » 30.11.2006 (Чт) 11:57 
			
			так не делай, плохо 
 
поищи примеры, я выкладывал уже не один раз
 
		
		 
	 
	
	
		
		
			
			- 
				clickhere
			
- 
				
- Начинающий
  
- 
			
			
-  
- Сообщения: 8
- Зарегистрирован: 30.11.2006 (Чт) 0:09
- Откуда: Минск,Беларусь
- 
				
			
			
			
			 clickhere » 06.12.2006 (Ср) 14:12
 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
	
	Кто сейчас на конференции
	Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 8