Rambler's Top100
Форум: MS ACCESSVBVBA MS OfficeMS SQL server
Новые сообщения: 0000

Форум: MS ACCESS

Вопросы связанные с MS ACCESS

Обновить визитку
Участники «Online»
Все участники

 
 

Доброго времени суток, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Сканер штрихкода
 
 автор: час   (07.04.2008 в 11:53)   личное сообщение
 
 

СОздал обьект, пользуюсь методами, а как в текстовое поле загнать, то что считывается - не понямаю.
Может кто уже знает как.
Считывание идёт из порта - COM1
(Атоловский драйвер для сканера.)

Как же отловить тот момент когда на COM порту произошло событие, пришёл сигнал от сканера....
Надо как - то чтобы программа всегда была на чеку.....
Посоветуйте чё нибудь....

  Ответить  
 
 автор: час   (08.04.2008 в 21:12)   личное сообщение
 
 

Спасибо всё пашет!!!
Повесил всё на событие таймера.
При закрытии формы таймер не удаётся вовремя отключить.
пишу ме.тимеинтервал=0
а он ещё работает и обращается к уже nothing объекту...
ну и ошибка конечно объект нот сет
Теперь не знаю как отключить.

  Ответить  
 
 автор: ДрЮня   (08.04.2008 в 22:27)   личное сообщение
 
 

работать с СОМ-портом по таймеру - не лучший вариант
почитайте про:
Output
Input
InputLen
PortOpen
Event OnComm()
это все: Member of MSCommLib.MSComm

  Ответить  
 
 автор: час   (09.04.2008 в 07:59)   личное сообщение
 
 

Спасибо !!!
Я использую Scaner1C.dll - для работы со сканером.
Но мне надо как то отлавливать сигнал с ком порта -в какой момент времени он появиться не известно, как же быть без таймера?
(попробую найти, почитать. )

  Ответить  
 
 автор: fylhtqrf   (11.04.2008 в 12:28)   личное сообщение
 
 

тут - описано как использовать событие
http://support.microsoft.com/kb/194922/en-us
http://support.microsoft.com/kb/158008/en-us
понадобится библиотека mscomctl32.ocx
regsvr32 mscomctl32.ocx
Принцип примерно такой -создаешь форму на нее выносишь контрол (вставка элемент activeX)- в форме пишеш обработчик вида
MSComm1- имя контрола.
Private Sub MSComm1_OnComm()
....
end sub

К сож перехватить это событие написав свой модуль класса не удалось (:
И еще примерчик

Public Sub Main()
'Новый элемент управления MSComm
Dim MSComm1 As MSComm
Set MSComm1 = New MSComm
' Буфер для хранения входной строки.
Dim Buffer As String
' Использовать последовательный порт COM3.
MSComm1.CommPort = 3
' 9600 бод, без проверки четности, 8 бит данных, 1 стоповый бит.
MSComm1.Settings = "9600,N,8,1"
' Элемент управления будет читать всё содержимое буфера при использовании свойства Input.
MSComm1.InputLen = 0
' Открытие последовательного порта.
MSComm1.PortOpen = True
Debug.Print ("Открытие последовательного порта.")
' Указать элементу управления, чтобы свойство Input возвращало текстовые данные.
MSComm1.InputMode() = InputModeConstants.comInputModeText
'Очистка буфера приема.
MSComm1.InBufferCount() = 0
' Отправка модему AT-команды.
MSComm1.Output = "ATI3" & Chr(13)
Debug.Print ("Отправка модему AT-команды.")
Debug.Print ("Ожидание возврата данных на последовательный порт...")
' Убедиться в том, что модем ответил "OK".
' Ожидание возврата данных на последовательный порт.
Do
Buffer = Buffer & MSComm1.Input
Loop Until InStr(Buffer, "OK" & vbCrLf)
MsgBox Buffer
' Чтение данных отклика "OK" через последовательный порт.
' Закрытие последовательного порта.
Debug.Print ("Чтение данных отклика OK через последовательный порт.")
MSComm1.PortOpen = False
Debug.Print ("Закрытие последовательного порта.")
End Sub

  Ответить  
HiProg.com - Технологии программирования
Rambler's Top100 TopList