powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Как прочитать со сканера штрих-код
18 сообщений из 18, страница 1 из 1
Как прочитать со сканера штрих-код
    #37103371
q1w1e1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дали сканер(MS1690), подключил к com-порту, а получить данные оттуда не получается...вот нашёл ссылку( http://www.sql.ru/forum/actualthread.aspx?tid=150672), но возникли вопросы, что такое и для чего нужна "асинхронности операций"..., решил как там посоветовали сделать тупо...
щёлкнул сканером по штрих коду
ввожу в VFP9 SP(фиг знает какой)
hComPort = FOPEN("\\.\\COM1") && у меня XP SP3
?hComPort && показало 0
str_read = FREAD( hComPort,Count_Read_Byte)
Count_Read_Byte-количество байт которые тебе необходимо прочитать из порта
А какое количество байт надо читать...ну написал 8(str_read = FREAD( hComPort,8))...вроде что-то связано там с двоичной восьмиричной системой припоминаю..., а fox собака завис...не понятно почему... есть у кого примеры, почему fox виснет... Хоть начать с чего-то надо
...
Рейтинг: 0 / 0
Как прочитать со сканера штрих-код
    #37103393
Фотография Aleksey-K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
q1w1e1Дали сканер(MS1690), подключил к com-порту, а получить данные оттуда не получается...вот нашёл ссылку( http://www.sql.ru/forum/actualthread.aspx?tid=150672), но возникли вопросы, что такое и для чего нужна "асинхронности операций"..., решил как там посоветовали сделать тупо...
щёлкнул сканером по штрих коду
ввожу в VFP9 SP(фиг знает какой)
hComPort = FOPEN("\\.\\COM1") && у меня XP SP3
?hComPort && показало 0
str_read = FREAD( hComPort,Count_Read_Byte)
Count_Read_Byte-количество байт которые тебе необходимо прочитать из порта
А какое количество байт надо читать...ну написал 8(str_read = FREAD( hComPort,8))...вроде что-то связано там с двоичной восьмиричной системой припоминаю..., а fox собака завис...не понятно почему... есть у кого примеры, почему fox виснет... Хоть начать с чего-то надо
Ну примеров можно найти массу в инете.
Я, например, работаю с COM сканером через ActiveX
Создаю свой контрол на основе OLE Control "Microsoft Communications Control version 6.0" и обрабатываю событие в нем OnComm, например, так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
LOCAL m.lcExpr

IF THIS.CommEvent =  2 
	WITH THIS
		.InputData = .InputData + .Input
		IF .Delimeter $ .InputData
			m.lcExpr = ALLTRIM(.InputData, 1 ,CHR( 13 ),CHR( 10 ),' ')
			m.lcExpr = STRTRAN(UPPER(m.lcExpr),'TIMEOUT','')
			.Evaluate(m.lcExpr)
			.InputData = ''
			.InputLen =  0 
		ENDIF
	ENDWITH
ENDIF
Где Delimeter и InputData - свойста класса, а Evaluate - метод добавленные вами.

В Init класса у меня код:
Код: plaintext
1.
2.
3.
WITH THIS
	.InputData = ' '
	.Delimeter = CHR( 13 )
ENDWITH
В методе Evaluate:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
LPARAMETERS m.lcExpr

DO CASE
	CASE PEMSTATUS(THIS.Parent, "HandlingCOMScaner", 5 )
		THIS.Parent.HandlingCOMScaner(m.lcExpr)
	CASE PEMSTATUS(THISFORM, "HandlingCOMScaner", 5 )
		THISFORM.HandlingCOMScaner(m.lcExpr)
ENDCASE
Метод HandlingCOMScaner должен быть в форме или в парент объекте, куда вы "бросили" данный свой контрол. В нем должен быть определен параметр через который передаются принятые данные.
С уважением, Алексей
...
Рейтинг: 0 / 0
Как прочитать со сканера штрих-код
    #37103475
q1w1e1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aleksey-K,

А нельзя как нибудь попроще...
1 создал новую форму в Form desiner
2 в Option поставил ActiveX, выбрал Microsoft Communications Control version 6.0
3 Щёлкаю по нему и пытаюсь вставить на форму, получаю...
"OLE error code 0x80040112; Класс не лицинзирован для использования"
Я попал в тупик...
...
Рейтинг: 0 / 0
Как прочитать со сканера штрих-код
    #37103718
Фотография Aleksey-K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
q1w1e1Aleksey-K,

А нельзя как нибудь попроще...
1 создал новую форму в Form desiner
2 в Option поставил ActiveX, выбрал Microsoft Communications Control version 6.0
3 Щёлкаю по нему и пытаюсь вставить на форму, получаю...
"OLE error code 0x80040112; Класс не лицинзирован для использования"
Я попал в тупик...
Нельзя. Некоторые ActiveX нельзя использовать напрямую, но можно через свои контролы созданные на их основе.
С уважением, Алексей.
...
Рейтинг: 0 / 0
Как прочитать со сканера штрих-код
    #37103777
q1w1e1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Ну примеров можно найти массу в инете
Я эту массу уже четвёртый час перелопачиваю, foxclub.ru...ничего конкретного, уже нашёл про не лицензированный класс, попытался зарегить, ничего не поллучается(это у меня, а где гарантия что на других машинах он пролицензирован)..
уже пишу(тоже где-то нашёл...) MSComm = Createobject("Mscommlib.MSComm")
опять то же сообщение о нелицензионности...
всё же склоняюсь чтоб напрямую читать этот порт, но блин виснет собака...
весь в непонятках, что и где и как копать...
но если "... ActiveX нельзя использовать напрямую", то как сделать контрол на его основе... не догоняю...что-то...весь мозг уже выел этот интернет, уже совсем ничего не понимаю...
...
Рейтинг: 0 / 0
Как прочитать со сканера штрих-код
    #37103812
Фотография Aleksey-K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
q1w1e1>Ну примеров можно найти массу в инете
Я эту массу уже четвёртый час перелопачиваю, foxclub.ru...ничего конкретного, уже нашёл про не лицензированный класс, попытался зарегить, ничего не поллучается(это у меня, а где гарантия что на других машинах он пролицензирован)..
уже пишу(тоже где-то нашёл...) MSComm = Createobject("Mscommlib.MSComm")
опять то же сообщение о нелицензионности...
всё же склоняюсь чтоб напрямую читать этот порт, но блин виснет собака...
весь в непонятках, что и где и как копать...
но если "... ActiveX нельзя использовать напрямую", то как сделать контрол на его основе... не догоняю...что-то...весь мозг уже выел этот интернет, уже совсем ничего не понимаю...
1. По поводу использование ActiveX - http://support.microsoft.com/kb/139154
2. Создаете свой класс на основе OLE Control и выбираете в диалоге Microsoft Communications Control version 6.0
С уважением, Алексей
...
Рейтинг: 0 / 0
Как прочитать со сканера штрих-код
    #37103917
q1w1e1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ура...вот нашёл наконец то ссылку( http://forum.foxclub.ru/read.php?29,237019,237403#msg-237403), где есть такой класс temp.rar это то что надо?..
Перетаскиваю на форму, вроде не ругается...будем дальше пробовать...
...
Рейтинг: 0 / 0
Как прочитать со сканера штрих-код
    #37104040
q1w1e1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что-то не могу найти "В методе Evaluate", он где должен быть в классе или в форме?
Наложил на форму тот класс, скопировал методы какие нашёл с этой темы, а вот метод Evaluate не нашёл...
...
Рейтинг: 0 / 0
Как прочитать со сканера штрих-код
    #37104074
igorbik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
q1w1e1А нельзя как нибудь попроще...
Я попал в тупик...проще можно, если надыбать сканер под USB или в разрыв клавиатуры
...
Рейтинг: 0 / 0
Как прочитать со сканера штрих-код
    #37104087
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
q1w1e1Что-то не могу найти "В методе Evaluate", он где должен быть в классе или в форме?
Наложил на форму тот класс, скопировал методы какие нашёл с этой темы, а вот метод Evaluate не нашёл... 10199908 :Aleksey-K Где Delimeter и InputData - свойста класса, а Evaluate - метод добавленные вами.
...
Рейтинг: 0 / 0
Как прочитать со сканера штрих-код
    #37104148
q1w1e1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Под usb сказали проблем больше...
Так создал форму, на ней наложил этот класс на основе Microsoft Communications Control version 6.0(скачал на foxclub.ru) на форме создал новый метод Event, туда скопировал код, запускаю форму, она пишет, что MSComm .. ну типа порт открыт, вроде выходил из фокса опять заходил, но порт открыт... как его закрыть, перед запуском формы...
...
Рейтинг: 0 / 0
Как прочитать со сканера штрих-код
    #37104152
q1w1e1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, это из-за того что я закометарил
WITH THIS
.InputData = ' '
.Delimeter = CHR(13)
ENDWITH
Так как она ругается при запуске формы, OLE Error code ...неизвестное имя
...
Рейтинг: 0 / 0
Как прочитать со сканера штрих-код
    #37104173
q1w1e1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так с портом разобрался, это у меня программа была открыта Metrologic, где я сличал что туда поступило, и в фокс, оказывается вместе они не работают почему то...Осталось разобраться почему ругается на Init контрола .InputData = ' '
...
Рейтинг: 0 / 0
Как прочитать со сканера штрих-код
    #37104186
igorbik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
q1w1e1Под usb сказали проблем больше... Вот почти 5 лет вожусь с USB- сканерами, и проблем нет. А пока что я вижу, что проблемы с Компортом. Так что если сможешь перейти на USB или разрыв клавиатуры, то пиши проблемы мне в личку, надеюсь, разберемся.
...
Рейтинг: 0 / 0
Как прочитать со сканера штрих-код
    #37104223
q1w1e1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
"...Где Delimeter и InputData - свойста класса..."
Delimeter свойство есть, а вот InputData такого свойства нет...есть Input(Write Only), Inputmode, Inputlen.. может не тот Communications Control ?
...
Рейтинг: 0 / 0
Как прочитать со сканера штрих-код
    #37104374
Фотография Aleksey-K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
q1w1e1"...Где Delimeter и InputData - свойста класса..."
Delimeter свойство есть, а вот InputData такого свойства нет...есть Input(Write Only), Inputmode, Inputlen.. может не тот Communications Control ?
Ну я же русским языке написал:
"Где Delimeter и InputData - свойста класса, а Evaluate - метод добавленные вами."
добавлеННЫЕ! Не добавленнЫЙ!
И оба свойства и метод вы должны САМИ добавить! Не уже ли не понятно!
С уважением, Алексей
...
Рейтинг: 0 / 0
Как прочитать со сканера штрих-код
    #37105691
q1w1e1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
спасибо...теперь понятно...:-), это наверное примета времени, anykey, соглашаемся при установке с лиц. условиями, жмём кнопку "Далее", не читая что там написано...ну наверное и тут сработал эффект внедрённой буржуями невнимательности...:-))..они во всём виноваты :-)
...
Рейтинг: 0 / 0
Как прочитать со сканера штрих-код
    #37105774
q1w1e1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Создать класс не удалось,на основе Communications Control (никогда с классами не работал), так как Based On нет этого класса, а где его искать не понятно...
Ладно скопировал с инета, добавил все свойства и методы... перетащил на форму и с удивлением обнаружил, что в методах которые спрятаны в классах, поставить точку останова программы нельзя, ладно закрываю форму, открываю класс(будь он не ладен)ввожу в событие OnCom после
m.lcExpr = STRTRAN(UPPER(m.lcExpr),'TIMEOUT','')
messagebox(m.lcExpr)
Щёлкаю сканером(к нему претензий нет, он работает как часы...) окно сообщений не появляется..., как проследить, почему не срабатывает messagebox...
...
Рейтинг: 0 / 0
18 сообщений из 18, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Как прочитать со сканера штрих-код
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]