Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.144.172.115] |
|
Страницы: (2) 1 [2] все ( Перейти к последнему сообщению ) |
Сообщ.
#16
,
|
|
|
Тогда подскажите функцию - пускаем запрос в текстовый файл (csv - разделитель "," или txt - разделитель "таб"), находим нужный текст и выводим в текст боксы всю инфу с этой строки. Например: в 5-ой строке информация 5(таб)какашка(таб)Поляки вдуют Португалии(таб)634567823
Сканируем - 634567823 Выводим в разные тексбоксы 5, какашка, Поляки вдуют Португалии, 634567823 |
Сообщ.
#17
,
|
|
|
Вообще-то такой готовой функции нет
А алгоритм следующий: Считываем строку из файла в переменную String. Используем метод String.Split, который разбивает нашу строку, разделенную запятыми на массив подстрок. В результате получаем массив, в котором от 0 до 3 записаны первая, вторая, третья и четвертая подстроки. Так как код записан в последней - проверяем Arr[3] на равенство считанному коду. Если не равен - читаем дальше файлик. Если равен - отображаем Arr[0], Arr[1], Arr[2]. |
Сообщ.
#18
,
|
|
|
Пробую для начала по простому (читаем файл и если находим в строке нужный текст, то выводим всю строку), вот так:
private void Form1_Load(object sender, EventArgs e) { { StreamReader reader = new StreamReader(@"temp\test.txt"); string line; line = reader.ReadToEnd(); string[] split = line.Split(new Char[] { '\t' }); foreach (string s in split) { if (s == "4750283020726") { textBox1.Text += split; } } } } Какая-то фигня получается... В textBox1 отображается: System.String[] Где я опять накосячил? |
Сообщ.
#19
,
|
|
|
Предыдущий пост не читаем
Всё получилось. Сделал как советовал simsergey: string line; using (StreamReader file = new StreamReader(@"temp\test.txt")) { while ((line = file.ReadLine()) != null) { if (line.Contains(TheReaderData.Text)) //текст со сканера { string[] strArr = null; char[] splitchar = { '\t' }; strArr = line.Split(splitchar); textBox3.Text += strArr[1]; //-| textBox2.Text += strArr[2]; //-| textBox4.Text += strArr[3]; //-| textBox5.Text += strArr[4]; //-|-- Выводим нужное слово из строки в свой тексбокс textBox6.Text += strArr[5]; //-| textBox7.Text += strArr[6]; //-| textBox8.Text += strArr[8]; //-| } } } Вообщем осталось только марафет навести в форме. А так всё работает. Спасибо большое всем за помощь. |
Сообщ.
#20
,
|
|
|
Ну ну Отлично. Кстати, как производительность приложения? Много строчек в файлике? Не весит софтина? |
Сообщ.
#21
,
|
|
|
EXE-шник 48Кбайт, текстовый файл с данными 2Мбайта (4050 строк, 11 столбцов). Специально сканировал бар-код, который находится в самом конце файла. Поиск в этом случае занимает не более 2 сек.
P.S. Реально второй раз пишу программу. В детстве увлекался Turbo Basic |
Сообщ.
#22
,
|
|
|
Отлично
|
Сообщ.
#23
,
|
|
|
Ещё вопросик - как виртуально нажать кнопку мышки или например "ENTER"? Что бы это работало на Windows CE...
Я просто активировал режим выключения экрана через 1 минуту. Что бы он включился обратно надо на него нажать. Просто сканированием кода не активируется... |
Сообщ.
#24
,
|
|
|
Лучше это в отдельную тему оформить.
Нажать то можно программно, только сон это не отменит. Наверняка есть функция в API для предотвращения сна. Я не сталкивался.. |
Сообщ.
#25
,
|
|
|
Я не про сон. Подсветка просто отключается. Тапнешь по экрану - включается...
|
Сообщ.
#26
,
|
|
|
Разобрался:
MyDisplayController.BacklightState = Symbol.Display.BacklightState.OFF; Всем хорошего дня! |
Сообщ.
#27
,
|
|
|
|