Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2012.02.05;
Скачать: [xml.tar.bz2];

Вниз

Ввод в TЕdit руками или сканером штрихкода.   Найти похожие ветки 

 
Anatoly Podgoretsky ©   (2011-10-24 22:44) [40]

> Rouse_  (24.10.2011 21:46:33)  [33]

Ну так просто, открой если считаешь нужным, но вы уже перешли на взаимные
оскорбления.


 
DiamondShark ©   (2011-10-24 22:45) [41]

> Rouse_ ©   (24.10.11 22:22) [35]
Кстати, тут написано враньё.


 
Anatoly Podgoretsky ©   (2011-10-24 22:45) [42]

> Laguna  (24.10.2011 22:16:34)  [34]

Есть, одно поле


 
Rouse_ ©   (2011-10-24 22:47) [43]


> DiamondShark ©   (24.10.11 22:45) [41]
> Кстати, тут написано враньё.

Ты раскрывай тему, родимый - не стесняйся :)


 
Rouse_ ©   (2011-10-24 22:49) [44]


> Anatoly Podgoretsky ©   (24.10.11 22:44) [40]
> Ну так просто, открой если считаешь нужным, но вы уже перешли
> на взаимные оскорбления.

Ну не я ж первый по родственникам прошелся, тяжелые времена пошли, совсем народ с выражениями не стесняется...


 
Laguna ©   (2011-10-24 22:54) [45]

В предложенном варианте что подразумевается под диалогом? Если дополнителная форма - то смысл тот же будет. Просто будет задействована дополнительная форма. Вот с блокированием ввода с клавиатуры  есть над чем подумать.

Сейчас у меня вот так
http://s017.radikal.ru/i441/1110/39/c5c0ed02798b.jpg

http://s45.radikal.ru/i109/1110/74/c64733172f67.jpg

Как правило ручной ввод применяется когда нет в наличии сканера. В принципе можно не опасаться. Каждый Edit отработает нормально. Но кто его знает, если приспичит кому переключиться в ручной режим и подсунуть под сканер. Сегодня не хватило времени на работе полностью проверить все возможные варианты.


 
Anatoly Podgoretsky ©   (2011-10-24 22:57) [46]

> Rouse_  (24.10.2011 22:49:44)  [44]

А зачем разбирать, мол он первый начал, не в песочнице, бить своих и чужих


 
Rouse_ ©   (2011-10-24 22:59) [47]


> Laguna ©   (24.10.11 22:54) [45]
>
> В предложенном варианте что подразумевается под диалогом?
>

Первый


 
Rouse_ ©   (2011-10-24 23:00) [48]

Удалено модератором
Примечание: Ну вот даже так нельзя...


 
DiamondShark ©   (2011-10-24 23:00) [49]


> Rouse_ ©   (24.10.11 22:44) [39]

Ты опять слушаешь свои фантазии, а не то, что я говорю.
Весь АПИ будет работать как часики. Не будет работать твой подход, потому что ты не понимаешь, как работает тот самый АПИ, который ты упоминаешь всуе.


> Rouse_ ©   (24.10.11 22:47) [43]

Дык, формальная логика, класс второй, третья четверть:

> диалог с надписью что-то типа: "ожидаем ввода сканера",
> в котором блокировался ввод с клавиатуры за исключением Esc.

Если вы смогли блокировать ввод с клавиатуры, но принимали ввод сканера, значит вам удалось разрешить проблему различения ввода с клавиатуры и со сканера.
Но диалог вы создавали для того чтобы НЕ РЕШАТЬ (или потому что не СМОГЛИ решить) проблему различения ввода с клавиатуры и со сканера.

Твоя байка содержит внутреннее противоречие. Рыбаки и то лучше сочиняют.


 
Rouse_ ©   (2011-10-24 23:06) [50]


> DiamondShark ©   (24.10.11 23:00) [49]
>
>
> > Rouse_ ©   (24.10.11 22:44) [39]
>
> Ты опять слушаешь свои фантазии, а не то, что я говорю.
> Весь АПИ будет работать как часики. Не будет работать твой
> подход, потому что ты не понимаешь, как работает тот самый
> АПИ, который ты упоминаешь всуе.

Ну тыж не стесняйся - код приводи демонстрирующий невалидность работы данного кода со сканером, что ты как первокурсница ?
А там и поглядим у кого фантазии поболе будет.


> DiamondShark ©   (24.10.11 23:00) [49]
> Если вы смогли блокировать ввод с клавиатуры, но принимали
> ввод сканера, значит вам удалось разрешить проблему различения
> ввода с клавиатуры и со сканера.
> Но диалог вы создавали для того чтобы НЕ РЕШАТЬ (или потому
> что не СМОГЛИ решить) проблему различения ввода с клавиатуры
> и со сканера.

А эт батенька все из-за того, что кто-то леницо читать мануалы от МС по юзабилити, отсюда и рождаются всякого рода нестандартные подходы к построению интерфейса, и неликвидные задачи плана "надо решить как в одно окно будет литься куча данных я мы их должны расфасовывать по смыслу"


 
Laguna ©   (2011-10-24 23:14) [51]


>  и неликвидные задачи плана "надо решить как в одно окно
> будет литься куча данных я мы их должны расфасовывать по
> смыслу"

Если это камень в мой огород, то да, решается в одной форме, но разграничение принимаемых данных придумано на уровне разных мест ввода. Пока так... а там будет подумать как лучше сделать.


 
Медвежонок Пятачок ©   (2011-10-24 23:16) [52]

Весь гемор из-за того, что пошли по пути наименьшего сопротивления - сканер в режиме "разрыв клавы". Ибо программировать ничего как бы не надо.


 
Юрий Зотов ©   (2011-10-24 23:17) [53]

А зачем вообще все это? Разве не пофиг, откуда в Edit"е взялся штрих-код?


 
Rouse_ ©   (2011-10-24 23:19) [54]


> Юрий Зотов ©   (24.10.11 23:17) [53]
>
> А зачем вообще все это? Разве не пофиг, откуда в Edit"е
> взялся штрих-код?

Ну, если лень перечитывать, то началось все с того что Дима Акуличев зачем-то высказал мнение, что на момент генерирования события о нажатии клавиши, сама клавиша может быть не нажата и поэтому узнать о ее состоянии на момент генерации сообщения не представляется возможным. Ну а дальше как обычно...


 
Юрий Зотов ©   (2011-10-24 23:27) [55]


> Rouse_ ©   (24.10.11 23:19) [54]

Да я не о вас, я о сабже. На фиг надо вообще что-то там различать - не понимаю. Есть Edit (один!), в нем есть штрих-код - и разве не пофиг, откуда он там взялся?


 
Игорь Шевченко ©   (2011-10-24 23:29) [56]


> на момент генерирования события о нажатии клавиши, сама
> клавиша может быть не нажата и поэтому узнать о ее состоянии
> на момент генерации сообщения не представляется возможным


Узнать о состоянии клавиши в момент выборки сообщения из очереди в общем случае невозможно. В этом ничего странного нет.


 
Laguna ©   (2011-10-24 23:33) [57]


> Весь гемор из-за того, что пошли по пути наименьшего сопротивления
> - сканер в режиме "разрыв клавы". Ибо программировать ничего
> как бы не надо.

Так тут выбирать не приходится. Какой сканер есть в наличии с тем и работаем :)

Еще раз про два едита. "Edit для сканера" был придуман, чтобы ввод проходил как бы в фоновом режиме, т.к. ручного вмешательства не будет. И пользователю особо заморачиваться не приходится. Сканируй данные и все. Как говорится что есть, то и считали.


 
Rouse_ ©   (2011-10-24 23:35) [58]


> Игорь Шевченко ©   (24.10.11 23:29) [56]
> Узнать о состоянии клавиши в момент выборки сообщения из
> очереди в общем случае невозможно. В этом ничего странного нет.

Дык на этом собственно затык и произошел...


 
sniknik ©   (2011-10-24 23:36) [59]

> А зачем вообще все это? Разве не пофиг, откуда в Edit"е взялся штрих-код?
не особо удобно когда нужно смотреть где ввод... вот у нас было, "ручной" в поля а сканером где ни попадя вводи и оно инициирует добавление товара в накладную.
т.е. не нужно из пролистывания/сумирования/т.д. что бы ни делали в накладной, где бы ввод не находился, просто провел сканером и товар добавлен и ожидание ввода количества стоит.

без разделения так не получится, у нас был префикс/постфикс при сканерах в разрыв, но это еще для DOS-а, в винде с таким подходом проблемы, и с COM портом в винде.


 
Laguna ©   (2011-10-24 23:38) [60]

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


 
sniknik ©   (2011-10-24 23:39) [61]

> Какой сканер есть в наличии с тем и работаем :)
цена вопроса 50-100$ поменять. (у нас было проще, мы их поставляли, и что кому давать решалось административно... после того как выяснили что программно это практически не решается)


 
DiamondShark ©   (2011-10-24 23:59) [62]


> Rouse_ ©   (24.10.11 23:06) [50]
> Ну тыж не стесняйся - код приводи демонстрирующий невалидность
> работы данного кода со сканером, что ты как первокурсница
> ?А там и поглядим у кого фантазии поболе будет.

Тролишь?

В твоём обработчике GetKeyState всегда сообщит, что клавиша нажата, хотя в случае очень быстрого темпа аппаратных событий "клавиша" может быть давно отпущена.
Для того, чтобы имитировать ситуацию, когда соотношение темпа выборки сообщений и темпа аппаратных событий отличается от типичного отношения при обычном человеческом вводе, я тебе предложил вариант с задержкой.
Ты предпочёл постебаться, а не подумать. Ну, свобода выбора, фигли, святое. Только не обижайся потом, что тебя перестают всерьёз воспринимать, когда ты начинаешь дурочку валять.


> А эт батенька все из-за того, что кто-то леницо читать мануалы
> от МС по юзабилити, отсюда и рождаются всякого рода нестандартные
> подходы к построению интерфейса, и неликвидные задачи плана
> "надо решить как в одно окно будет литься куча данных я
> мы их должны расфасовывать по смыслу"

Я не понял, что из-за чего?
Ты сочиняешь нелогичные байки, из-за того, что кто-то чего-то не читает?
*facepalm.jpg*

Что же до мануалов...
Ты рабочее место кассира видел? Ну, в супермаркете-то хоть был?
Дай ссылку на мануал, в котором расписано юзабилити рабочего места кассира, к которому подключены клавиатура, два сканера (стационарный и ручной) и ридер каких-нибудь карточек, сблокированный с клавиатурой и гонящий данные по тому же интерфейсу.
Я тебе натуральное спасибо скажу. Я уже десятка полтора таких штук написал, на разных платформах, включая ДОС и такую экзотическую штуку, как залитую в компаунд коробочку 10х15х5 см, из которой кроме шести КОМ-портов и Эзернета ничего не торчало, зато внутри была ВинЦЕ. Вдруг я в этой жизни что-то упустил.


 
DiamondShark ©   (2011-10-25 00:05) [63]


> Rouse_ ©   (24.10.11 23:19) [54]

Можно цитату, где Дима Акуличев что-то подобное говорит?
(если ты не различаешь "момент генерации события" и момент обработки Windows-сообщения, то можешь не утруждаться)


 
Rouse_ ©   (2011-10-25 00:07) [64]


> DiamondShark ©   (24.10.11 23:59) [62]

Тяжко... ты действительно не представляешь схему, а вроде по моим представлениям должен был понимать...

Хм, попробую дать намек.
Ты сказал: "в случае очень быстрого темпа аппаратных событий "клавиша" может быть давно отпущена".

Вопрос, что произойдет в случае быстрого темпа?
1. часть сообщений окном будет пропущена и ввод со сканера будет не успешен.
2. все сообщения окно получит.

Если да, то:
1. обработает генерацией сообщения?
2. сможет получить по сообщению состояние клавиши через GetKeyState?

какой пункт по твоему мнению не верный?


 
Laguna ©   (2011-10-25 00:11) [65]

> sniknik ©   (24.10.11 23:39) [61]


> > Какой сканер есть в наличии с тем и работаем :)цена вопроса
> 50-100$ поменять.

Здесь не решается вопрос на уровне пользователей. Закупает сканеры головное предприятие. А подчененных более 4500. Т.ч. сами понимаете, что шиковать не приходится. Поэтому и пытаюсь решить задачу малой кровью при малом количестве часов, отпушенных на решение задачи.

Сейчас пересматривал возможность перехода к одному Edit. Оказывается не зря все же я делпал разделение ввода. При считке сканером к примеру билет читается как серия + номер+ индекс. Приручном вводе поля ввода разделяются(в другой задаче). Здесб же нужно вводить только номер + индекс. Короче тут tit и фейс самой проги завязан. Т.ч. звиняйте, может и по колхозному, но...


 
Rouse_ ©   (2011-10-25 00:18) [66]


> DiamondShark ©   (24.10.11 23:59) [62]
> Ты рабочее место кассира видел? Ну, в супермаркете-то хоть был?

писал, тока для RS232, там окна не надомно...
Я вообще, ес чего, дохрена чего писал, и для лифтов и для датчиков давления и для котлов котельных ПО фигачил, а вот в супермаркете небыл, по инету предпочитаю чтоб продукты доставляли...


 
DiamondShark ©   (2011-10-25 00:18) [67]


> Rouse_ ©   (25.10.11 00:07) [64]

Почитай внимательно описание GetKeyState.

И не подменяй предмет. Задача -- не просто получить ввод со сканера (который, конечно же, будет получен), а отличить ввод со сканера от "человеческого".

Твой подход -- по темпу ввода, человек нажимает на кнопочки (по сравнению со сканером) неспешно, и в момент выборки (которую ты постоянно путаешь с генерацией) WM_CHAR кнопочка ещё будет "нажата" (т.е. не произойдёт аппаратного события "присылка скан-кода отпускания").

Так вот я всего лишь говорю, что GetKeyState тут тебе не поможет совсем. Никак. Absolutly.
Почему -- читай внимательно описание GetKeyState. Следуй своему ценному совету.


 
DiamondShark ©   (2011-10-25 00:21) [68]


> Rouse_ ©   (25.10.11 00:18) [66]
> писал, тока для RS232, там окна не надомно...

Тю... Не спортивно. На разных интерфейсах и дурак напишет.
Знаешь, как я радовался, когда появились УСБ-устройства, и АПИ RAW Input.


 
Rouse_ ©   (2011-10-25 00:21) [69]


> DiamondShark ©   (25.10.11 00:18) [67]
> Твой подход -- по темпу ввода

плин, так я ж тебе уже раза три попросил - ну сделай ты мне демо код где эмулируется человеческий ввод и нечеловеческий, чегож ты ерунду пишешь то? покажи мне как мой код будет темп ввода то отличать :)


 
имя   (2011-10-25 00:25) [70]

Удалено модератором


 
DiamondShark ©   (2011-10-25 00:26) [71]


> Закупает сканеры головное предприятие.

Так какого типа сканеры? С каким интерфейсом? Keyboard или USB?
А клавиатуры с каким интерфейсом?

Если или клавы или сканеры USB, то юзай RAW Input.


 
Laguna ©   (2011-10-25 00:44) [72]

Сканеры в разрыв клавы. Клава обычная PS/2. Есть и другие сканеры, объемные, динозавры блин, но тоже в разрыв клавы включены. Раньше был еще такой сканер, который после скана не вставлял в конце #13. Вот тоже гемор был. И на разных местах разные сканеры стояли. Пришлось выкручиватся(уже точно не момн., эмулировал передерг с Edita, дабы onChange произошло). Т.к. на разных местах разное оборудование. Я тнигда захожу к людям и боьно становится смотреть на 15 монитор, на котором ну ни фига не видно. Мало того что тресется все, так еще под обильным слоем вуали. А людям приходится на этом работать. А вы говорить 50-100 баксов не вопрос...


 
Laguna ©   (2011-10-25 00:51) [73]

Уважаемые мастера. Еще одна просьба(за одно), дабы не плодить лишних тем, подскажите, какое событие срабатывает на гриде в момент его скроллинга. Т.е. когда реально нажимаеи на его значки скрола или передвигаем сам ползунок? http://s44.radikal.ru/i105/1110/9b/1be205e20182.jpg


 
sniknik ©   (2011-10-25 01:09) [74]

> который после скана не вставлял в конце #13
постфикс настраивается, сам сканер... единственный сканер с не настраиваемым постфиксом(или префиксом, не помню уже) был стационарный "магелан". забавно было дешевые китайские как угодно, а то такая "дорогая дура"... и вдруг "наполовину".

> дабы не плодить лишних тем
сейчас я тебя закрою, дабы не плодить лишних... один вопрос одна ветка, что в правилах в этом непонятного? что сэкономить пытаешься?


 
Laguna ©   (2011-10-25 01:13) [75]

> sniknik


> сейчас я тебя закрою, дабы не плодить лишних... один вопрос
> одна ветка, что в правилах в этом непонятного? что сэкономить
> пытаешься?

Ок, тогда лучше [73] вобще удалить, дабы не путалось здесь в этом топике


 
Германн ©   (2011-10-25 01:32) [76]


> Ты рабочее место кассира видел? Ну, в супермаркете-то хоть
> был?
> Дай ссылку на мануал, в котором расписано юзабилити рабочего
> места кассира, к которому подключены клавиатура, два сканера
> (стационарный и ручной) и ридер каких-нибудь карточек, сблокированный
> с клавиатурой и гонящий данные по тому же интерфейсу.

Честно говоря, я вышеуказанное рабочее место "детально", т.е. со стороны самого кассира не видел. Но разве это оправдание делать "идиотский" алгоритм программы, которая должна  сама определять откуда пришел ввод? И при этом сама делать вывод какой код учитывать? Считанный со сканера или введённый юзером с клавиатуры? А ведь они оба могут быть введены!


 
KilkennyCat ©   (2011-10-25 02:09) [77]

за пару долларов можно сделать небольшой переходничек на клаву, или на сканер, без разницы.... будет генерить дополнительно че-нить или генерить в усб 232 или куда угодно...
могу взяться через пару недель.


 
KilkennyCat ©   (2011-10-25 02:13) [78]

может, действительно сделать? судя по полемике, наболевшая проблема.


 
KilkennyCat ©   (2011-10-25 02:15) [79]

если в варианте "нажатие на кнопку клавиатуры шлет битик в усб" то себестоимость - доллар от 100 штук.


 
Германн ©   (2011-10-25 02:17) [80]


> KilkennyCat ©   (25.10.11 02:09) [77]
>
> за пару долларов можно сделать небольшой переходничек на
> клаву, или на сканер, без разницы.... будет генерить дополнительно
> че-нить или генерить в усб 232 или куда угодно...
> могу взяться через пару недель.

Мне нужно возвращать долги после ремонта, а ты Костя тут демпингуешь! Чем я тебе не угодил? :)



Страницы: 1 2 3 вся ветка

Форум: "Начинающим";
Текущий архив: 2012.02.05;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.64 MB
Время: 0.01 c
15-1318936207
Цукор5
2011-10-18 15:10
2012.02.05
route add


15-1318762788
TUser
2011-10-16 14:59
2012.02.05
Видео тоже есть


15-1318541682
icelex
2011-10-14 01:34
2012.02.05
у-пи-эс


2-1319626055
onyx2012
2011-10-26 14:47
2012.02.05
Групповая сортировка в cxGrid


15-1318710605
Юрий
2011-10-16 00:30
2012.02.05
С днем рождения ! 16 октября 2011 воскресенье





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский