![]() |
|
Модераторы: gambit, Partizan |
![]()
|
|
| shark1 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 274 Регистрация: 10.11.2007 Репутация: нет Всего: нет |
Помогите плиззз.Такая проблемка,сделал програмку для склада,прога работает так,загружается фаил в лист бокс,и потом человек в текст бокс считывает баркод с детали,если такой имеется то он стирается из файла если нет то Wrong!!!.Проблема в следующем,когда человек считывает баркод то это происходит очень медленно,а должно быть как пуля.Подскажите в чем проблема,где ошибка(за код сильно не ругайте,знаю что он корявенький).Зарание спасибо.Код:
|
|||
|
||||
| shark1 |
|
||||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 274 Регистрация: 10.11.2007 Репутация: нет Всего: нет |
Попробовал сделать вот так :
|
||||||
|
|||||||
| 1stain |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 486 Регистрация: 30.7.2007 Где: Киев - Харьков Репутация: 4 Всего: 40 |
shark1, ужасно извеняйусь за свою непроходимую тупость, но где в коде собственно считывание баркода?
-------------------- Все знают, что это невозможно. Но вот приходит невежда, которому это неизвестно - он-то и делает открытие. (Albert Einstein) ![]() |
|||
|
||||
| shark1 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 274 Регистрация: 10.11.2007 Репутация: нет Всего: нет |
Попробовал сделать вот так :
if ((textBox1.Text.Length == lstFile.Items[i].ToString().Length) && (textBox1.Text.ToLower() == lstFile.Items[i].ToString().ToLower())) разделил проверки,ну еще чуток быстрее но все равно не то.Подскажите,спасибо. To 1stain : это не ты должен грешить на тупость а я,так что ... а баркод считывается здесь: textBox1.Text.ToLower() т.е у человека есть деталь с баркодом,и он с помощью баркод пистоля считывает баркод в textBox1.Спасибо. |
|||
|
||||
| 1stain |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 486 Регистрация: 30.7.2007 Где: Киев - Харьков Репутация: 4 Всего: 40 |
все равно не ясно, как происходит считывание баркода, ну да бог с ним.
имхо, лучше прочитать все строки из файла в List<String>, который биндим к контролу ListBox. Затем при получении новой строки с ридера он как я понял загоняется в текстбокс (Readonly), по событию TextChanged которого делаем
вобщем, примерно так з.ы. снова имхо: такие вещи лучше делать не через файлы, а через базы данных. Это сообщение отредактировал(а) 1stain - 29.11.2007, 15:58 Присоединённый файл ( Кол-во скачиваний: 3 )
WindowsApplication1.rar 65,80 Kb-------------------- Все знают, что это невозможно. Но вот приходит невежда, которому это неизвестно - он-то и делает открытие. (Albert Einstein) ![]() |
|||
|
||||
| shark1 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 274 Регистрация: 10.11.2007 Репутация: нет Всего: нет |
Спасибо огромное за пример,только я его не могу к своему прикрутить.Если возможно и это не будет наглостью,можно я пришлю свой пример а вы его посмотрите пожалуста.Спасибо огромное.
Присоединённый файл ( Кол-во скачиваний: 4 )
Desktop.rar 14,17 Kb |
|||
|
||||
| shark1 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 274 Регистрация: 10.11.2007 Репутация: нет Всего: нет |
1stain помоги плиззз,замучился,не выходит не чего .Уже и так и так пробовал.Как сделать так чтоб textBox получал полный стринг,а то при вводе так выглядет что происходит проверка каждой цифры.Помоги плиззз.Спасибо.
|
|||
|
||||
| ivashkanet |
|
|||
![]() Кодю потиху ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3684 Регистрация: 23.2.2006 Где: Гомель, Беларусь Репутация: 11 Всего: 149 |
Баркод сканер подключается к порту клавы и эмулирует нажатие клавиш, скорее всего завершая ввод интером (13 код)
Тормозит первый метод Потому, что он вызывается при вводе каждой букоффки, а код довольно тяжелый. Решение -- ждать интер и запускать метод только после этого, как во втором обработчике Добавлено через 21 секунду Вот-вот |
|||
|
||||
| shark1 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 274 Регистрация: 10.11.2007 Репутация: нет Всего: нет |
ivashkanet ты прав 100%,так оно и задуманно чтоб человек не нажимал на Enter,но как ускорить считывание и проверку :( Как этого добится(Решение -- ждать интер и запускать метод только после этого, как во втором обработчике).Совсем мне плохо ,подскажите,спасибо.
|
|||
|
||||
| ivashkanet |
|
|||
![]() Кодю потиху ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3684 Регистрация: 23.2.2006 Где: Гомель, Беларусь Репутация: 11 Всего: 149 |
shark1, а длина этого баркода не постоянна? Есть же стандарты...
Добавлено через 3 минуты и 56 секунд Если не постоянна -- могу предложить ХАК (сразу говорю, это решение мне не нравится). Он заключается в том, что мы будем немножко ждать, прежде чем искать элемент в базе. Ждать, допустим, 0.1 сек. Это не совсем просто сделать (не создавая второй поток). Понадобиться флаг, цикл (ждущий 0,1 сек и выполняющий в себе Application.DoEvents()) |
|||
|
||||
| shark1 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 274 Регистрация: 10.11.2007 Репутация: нет Всего: нет |
ivashkanet длина баркода не постоянна,ну и если можешь давай попробуем,может так и будет нормально.Спасибо.
|
|||
|
||||
| 1stain |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 486 Регистрация: 30.7.2007 Где: Киев - Харьков Репутация: 4 Всего: 40 |
если сканер при окончании ввода имитирует нажатие кнопки энтер в текстбоксе, то зачем в таком случае обработчик TextChanged?
-------------------- Все знают, что это невозможно. Но вот приходит невежда, которому это неизвестно - он-то и делает открытие. (Albert Einstein) ![]() |
|||
|
||||
| shark1 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 274 Регистрация: 10.11.2007 Репутация: нет Всего: нет |
ivashkanet если у тебя есть возможность посмотри мой пример,может ты подскажеш что не так.Спасибо.
Присоединённый файл ( Кол-во скачиваний: 1 )
Main.zip 10,78 Kb |
|||
|
||||
| ivashkanet |
|
||||
![]() Кодю потиху ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3684 Регистрация: 23.2.2006 Где: Гомель, Беларусь Репутация: 11 Всего: 149 |
Держи:
Добавлено через 1 минуту и 44 секунды
Меняя "сотню" нужно добиться, чтобы скан успевал произойти и пользователь не заметил задержки |
||||
|
|||||
| shark1 |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 274 Регистрация: 10.11.2007 Репутация: нет Всего: нет |
ivashkanet спасибо зделал как ты предложил :
но почемуто застряёт сдесь :( Выкидывает на Form_Wrong .
Добавлено через 9 минут и 51 секунду ivashkanet вот в чем проблема,он дает мне считать первый баркод,а на втором показывает ошибку :( ,подскажи,спасибо. |
||||
|
|||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Разработка Windows Forms | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |