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

Вниз

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

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


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

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


 
KilkennyCat ©   (2011-10-25 02:35) [81]

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


 
Германн ©   (2011-10-25 04:05) [82]


> извиняюсь за оффтоп, Германн, а ты ту проблему с езернетом
> решил? а то я почти решил.
>

И я "почти решил". Но наверняка моё почти никак не коррелирует с твоим почти. :)
Если что конкретное, то обращайся на почту.


 
sniknik ©   (2011-10-25 08:01) [83]

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

поверь это очень удобно, при вводе накладной например не искать/вставать в специальное поле, или не не нажимать доп кнопку открывающую "форму ввода со сканера"(видел и такие "решения", и не с одной кнопкой), а просто сканировать сканером. собственно это их и отличает от клавиатуры, удобство ввода.
а вот "поле куда нужно встать" прежде чем "пикнуть", не очень отличается от ввода вручную, 13 цифр хороший оператор успевает набрать тогда быстрее чем с товара сканером со сканировать.  удобство нивелируется.

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

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


 
sniknik ©   (2011-10-25 08:06) [84]

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


 
Anatoly Podgoretsky ©   (2011-10-25 10:07) [85]

> Laguna  (25.10.2011 00:11:05)  [65]

4500 и только в одном месте решили два эдита


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

> Anatoly Podgoretsky ©   (25.10.11 10:07) [85]

> Laguna  (25.10.2011 00:11:05)  [65]4500 и только в одном  месте решили два эдита


Не совсем понятна мысль


 
Inovet ©   (2011-10-25 11:58) [87]

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

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


 
Anatoly Podgoretsky ©   (2011-10-25 13:45) [88]

Ты решил проблему для 4500 пользователей, путем создания 2 эдитов :-)


 
Laguna ©   (2011-10-25 13:55) [89]


> Ты решил проблему для 4500 пользователей, путем создания
> 2 эдитов :-)


Нет, путем создания программы, в которой используется функция сканирования посредством двух Edit.


 
Anatoly Podgoretsky ©   (2011-10-25 14:11) [90]

> Laguna  (25.10.2011 13:55:29)  [89]

Брехология


 
Труп Васи Доброго ©   (2011-10-25 16:21) [91]

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


 
Труп Васи Доброго ©   (2011-10-25 16:37) [92]


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

Опять нет никакой проблемы с одним едитом. Сканер введёт (количество от балды) 20 символов, а юзер только 10. И какая проблема? Если длина текста 20, то хватай и обрабатывай как "серия + номер+ индекс", если же их меньше, то юзер полюбасу энтер тыкнет, это тебе сигнал что "не сканер вводил", проверь количество и обрабатывай как "только номер + индекс". Вот и всё решение. Даже если юзер пробъёт все 20 цифр, то код сработает и энтер жать не придётся. А ты геморрой изобретаешь. Надо будет что гениально-простое, обращайся!


 
Laguna ©   (2011-10-25 16:51) [93]


> Опять нет никакой проблемы с одним едитом. Сканер введёт
> (количество от балды) 20 символов, а юзер только 10. И какая
> проблема? Если длина текста 20, то хватай и обрабатывай
> как "серия + номер+ индекс", если же их меньше, то юзер
> полюбасу энтер тыкнет, это тебе сигнал что "не сканер вводил",
>  проверь количество и обрабатывай как "только номер + индекс".
>  Вот и всё решение. Даже если юзер пробъёт все 20 цифр,
> то код сработает и энтер жать не придётся. А ты геморрой
> изобретаешь. Надо будет что гениально-простое, обращайся!
>

А если введено не 7 положенных от руки , а 6? На "ручном" Edit стоит
 if Length(NomEdit.Text) = KolDigit then
  PostMessage(Handle, WM_NEXTDLGCTL, 0, 0);

Дабы исключить лишнее клацанье по ентер. Чтобы уменьшить телодвижения при вводе(а этого ой как боятся дамы бальзаковского возраста), перед сканированием билетов я сперва отдельно запрашиваю номер серии. Затем в "ручном" режиме вводится только номер + индекс.[45] Сканер же все вместе возьмет. Конечно можно сделать проверку на количество введенных символов(если меньше чем нужно) Короче, нужно пробывать.


 
Игорь Шевченко ©   (2011-10-25 20:40) [94]


> перед сканированием билетов


трамвайных ?


 
KilkennyCat ©   (2011-10-25 22:44) [95]


> Inovet ©   (25.10.11 11:58) [87]

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


мой вариант не потребует переделки уже существующего софта. он лишь дополнит девайс, все штатные функции сохранены.


 
Труп Васи Доброго ©   (2011-10-26 00:16) [96]


> А если введено не 7 положенных от руки , а 6? На "ручном"
> Edit стоит
>  if Length(NomEdit.Text) = KolDigit then
>   PostMessage(Handle, WM_NEXTDLGCTL, 0, 0);
> Дабы исключить лишнее клацанье по ентер.

Вот сразу видно, что ты с людьми не много работал. Дамы с великим удовольствием давят Enter, к тому же нажав Enter юзер подтверждает, что он ввёл номер полностью. Дальше уже твоя работа обрабатывать данные и проверять их на валидность. Вопрос "А если введено не 7 положенных от руки , а 6?" может возникнуть (извини за прямоту) у человека который только начинает учиться писать программы. (И два Edita для одной информации лишнее тому подтверждение) Проверь что ввели и маякни юзеру что "не всё ввёл", тем же едитом и поморгай или меняй цвет заливки Edita, когда будет нужное количество символов, чтобы даже неопытный юзер понял, что всё ОК. Потом они сами привыкнут не тыкать Enter, пока Edit не покраснеет. А проверяя на автомате, без подтверждения юзера по нажатию Enter рискуешь нарваться на проглатывание случайного нажатия кнопки или залипания или "я постоянно эту кнопку ногтем задеваю, у меня маникюр", а твой код радостно схавает эти 7 цифр и потащит на обработку. Ты не даёшь юзеру возможность исправить ошибку ввода, а это "боком чревато". Надеюсь понял.


 
Германн ©   (2011-10-26 00:58) [97]


> мой вариант не потребует переделки уже существующего софта.
>  он лишь дополнит девайс, все штатные функции сохранены.
>
>

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


 
brother ©   (2011-10-26 05:44) [98]

Все имхо:
1. 2 едита для ручного и сканрного ввода - перебор, достаточно одного с нужными проверками
2. Забыли про очередь сообщений окну
3. Не вижу демо кода для проверки нажатия клавиш и приходов сообщений контролу
4. Сканерами не пользовался но, скорость ввода символов через сканер как то ограничена (скорость ввода, задержки между "клавишами")?
5. Зачем спорить если вопрос в начинающих и кода нет?


 
Laguna ©   (2011-10-26 09:45) [99]

> Труп Васи Доброго ©   (26.10.11 00:16) [96]


> Вот сразу видно, что ты с людьми
> не много работал. Дамы с великим удовольствием давят Enter,
>  к тому же нажав Enter юзер подтверждает, что он ввёл номер
> полностью.

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

> Дальше уже твоя работа обрабатывать данные и
> проверять их на валидность. Вопрос "А если введено не 7
> положенных от руки , а 6?" может возникнуть (извини за прямоту)
> у человека который только начинает учиться писать программы.
>  (И два Edita для одной информации лишнее тому подтверждение)
> Проверь что ввели и маякни юзеру что "не всё ввёл", тем
> же едитом и поморгай или меняй цвет заливки Edita, когда
> будет нужное количество символов, чтобы даже неопытный юзер
> понял, что всё ОК. Потом они сами привыкнут не тыкать Enter,
>  пока Edit не покраснеет.

В принципе я согласен.
А идея с контрольной подсветкой едита во время ввода мне понравилась.

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

После едита стоит подтверждающая кнопка ввода, по нажатию на которую и выполняется проверка введенных данных с последующим сохранением. "Автомат" просто переводит на ее после того, как введено определенное количество знаков и только. Т.е. подредактировать введенную информацию возможность предоставляется.
http://s45.radikal.ru/i109/1110/74/c64733172f67.jpg
Т.е. автомат исключает повторный клац по Ентеру и всего то.


 
Труп Васи Доброго ©   (2011-10-26 10:23) [100]

Чем меньше надо тыкать кнопок мышью, тем лучше. Рука у юзера не отрывается от клавы. Я 7 лет отработал в ЖКХ конторе, так что кто такие дамы из бухгалтерии и абонентского отдела и как они могут работать я тоже в курсе. Сначала они по одной кнопке в минуту тычут, а потом приноровятся и так пальцами перебирают при разноске квитанций, что аж ветер вокруг, по 1500 квитанций в день лупили! Тот, кто бьёт много цифр будет счастлив, если ему вообще не придётся хвататься за мышь. Сначала может и будут ныть что непривычно, но потом будут тебе руки целовать за хорошую, удобную программу.


 
Laguna ©   (2011-10-26 11:11) [101]


> Чем меньше надо тыкать кнопок мышью, тем лучше. Рука у юзера
> не отрывается от клавы.
>...
Тот, кто бьёт много  цифр будет счастлив, если ему вообще не придётся >хвататься  за мышь. Сначала может и будут ныть что непривычно, но потом
> будут тебе руки целовать за хорошую, удобную программу.


Так вот автомат у меня так и отробатывает. Переводит на кнопку, нажали ентер, данные обработались -  фокус опять перешел на поле ввода, вводим следующие данные. и так по кругу. Потом закрываем режим ручного ввода одним кликом мыши. Как то так.


 
Труп Васи Доброго ©   (2011-10-26 11:35) [102]


> Переводит на кнопку, нажали ентер, данные обработались -
>   фокус опять перешел на поле ввода,

ЗАЧЕМ?!?!?!?
КТО МЕШАЕТ нажать Enter НЕ ВЫХОДЯ из Edita???? Ты создал лишнюю кнопку, лишний обработчик перевода фокуса и т.д. Это лишнее. Как ты там говоришь? "А если..." ввели 7 цифр, фокус ушёл на кнопку, а юзер понял, что цифра не та и её надо исправить, как юзер вернёт фокус? Ему надо рукой перевести мышь на Edit и тыкнуть, то есть лишние действия!!!


 
Anatoly Podgoretsky ©   (2011-10-26 14:17) [103]

> Труп Васи Доброго  (26.10.2011 11:35:42)  [102]

Что бы нажать кнопку Enter, фокус менять не требуется и даже писать
программу.


 
Laguna ©   (2011-10-26 14:39) [104]


> Ему надо рукой перевести мышь на Edit и тыкнуть, то есть
> лишние действия!!!

Мдя... есть такое дело. Впринципе Все основная обработка проискодит в Edit1. Все, здаюсь, согласен, что второй Edit лишний. Обязуюсь переписать без него, как тока время появится. Всем спасибо. Тему можно закрывать.


 
Труп Васи Доброго ©   (2011-10-26 14:39) [105]


> фокус менять не требуется и даже писать
> программу

Дак и я о том же!!! Там вообще эта кнопка не нужна! Об этом и пытаюсь камраду сказать. А он мало того, что кнопку, он ещё и второй Edit поставил, хотя можно только одним Editом обойтись.



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

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

Наверх





Память: 0.67 MB
Время: 0.009 c
2-1319714974
Очень Злой
2011-10-27 15:29
2012.02.05
Можно ли описать запись неизвестного заранее размера


2-1319450708
ProgRAMmer Dimonych
2011-10-24 14:05
2012.02.05
Аналог wcscpy_s в Delphi 2007


1-1283368487
Eraser
2010-09-01 23:14
2012.02.05
Отладка загрузки модулей - initialization..finalization


8-1222096864
РФМ
2008-09-22 19:21
2012.02.05
Наличие картинки DBImage


2-1319991854
Gu
2011-10-30 19:24
2012.02.05
system.pas





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский