Показать сообщение отдельно
Старый 08.04.2004, 10:19   #1  
Tatka is offline
Tatka
Участник
 
1 / 10 (1) +
Регистрация: 01.11.2003
Проблема с activeX mscomm32
Всем доброго времени суток!
Очень нужна помощь - не могу никак разобраться...
Есть такое устройство - весовой терминал. Работает через Com-порт. Используется компонент ActiveX msmcomm32
В инструкции к терминалу пишется:
"в последовательный канал нужно послать команду 10H. В ответ на данную команду терминал выдаст строку из 9 байт символьного формата" - в котором и содержится нужная мне информация. То есть получается так - посылаешь на com-порт команду - обратно получаешь строку, в которой содержится вес.
Как это реализовать в аксапте - может кто нибудь подсказать? Как послать на com-порт команду? MSMComm.Output() - что в него нужно передать?
программа написанная на VB - все прекрасно работает.
Пытаюсь изобразить подобное в аксапте- ничего не работает...

код на VB:

Private Sub Command1_Click() //кнопка которая посылает команду на порт
MSComm1.Output = Chr(16)
End Sub

Private Sub DialButton_Click() // активизация ком-порта и ожидание информации
Dim Number$, Temp$
Dim X As Integer

DialButton.Enabled = False
QuitButton.Enabled = False
CancelButton.Enabled = True
MSComm1.Settings = "9600,N,8,1"
Status = " "

On Error Resume Next



MSComm1.PortOpen = True
If Err Then
MsgBox "COM: not available. Change the CommPort property to another port."
Exit Sub
End If
Label1 = "Порт открыт"

Do

MSComm1.InBufferCount = 0
Do
dummy = DoEvents()
If MSComm1.InBufferCount >= 9 Then

BUFFER$ = MSComm1.Input

Status = Mid$(BUFFER, 2, 7)

Print #1, Status
Close #1
Exit Do
End If
If CancelFlag Then
Exit Do
End If
Loop
If CancelFlag Then
CancelFlag = False
Exit Do
End If
Loop
Status = ""
Label1 = "Порт закрыт"
MSComm1.PortOpen = False

DialButton.Enabled = True
QuitButton.Enabled = True
CancelButton.Enabled = False
' Status = Temp$
End Sub