Форум: "Начинающим";
Текущий архив: 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.006 c