На главную
ПРАВИЛА FAQ Помощь Участники Календарь Избранное DigiMania RSS
msm.ru
Модераторы: ElcnU
Страницы: (2) 1 [2]  все  ( Перейти к последнему сообщению )  
> Symbol MK500 + С#, Программа "Price Checker"
    Тогда подскажите функцию - пускаем запрос в текстовый файл (csv - разделитель "," или txt - разделитель "таб"), находим нужный текст и выводим в текст боксы всю инфу с этой строки. Например: в 5-ой строке информация 5(таб)какашка(таб)Поляки вдуют Португалии(таб)634567823
    Сканируем - 634567823
    Выводим в разные тексбоксы 5, какашка, Поляки вдуют Португалии, 634567823
    Сообщение отредактировано: Pljushevij -
      Вообще-то такой готовой функции нет :D

      А алгоритм следующий:
      Считываем строку из файла в переменную String.
      Используем метод String.Split, который разбивает нашу строку, разделенную запятыми на массив подстрок. В результате получаем массив, в котором от 0 до 3 записаны первая, вторая, третья и четвертая подстроки. Так как код записан в последней - проверяем Arr[3] на равенство считанному коду.
      Если не равен - читаем дальше файлик.
      Если равен - отображаем Arr[0], Arr[1], Arr[2].
        Пробую для начала по простому (читаем файл и если находим в строке нужный текст, то выводим всю строку), вот так:

        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[]
        Где я опять накосячил? :huh:
          Предыдущий пост не читаем :)
          Всё получилось. Сделал как советовал 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]; //-|

          }
          }
          }

          Вообщем осталось только марафет навести в форме. А так всё работает. Спасибо большое всем за помощь. :victory:
            Цитата Pljushevij @
            Учитывая, что я не программер

            Ну ну :)

            Отлично. Кстати, как производительность приложения? Много строчек в файлике? Не весит софтина?
              EXE-шник 48Кбайт, текстовый файл с данными 2Мбайта (4050 строк, 11 столбцов). Специально сканировал бар-код, который находится в самом конце файла. Поиск в этом случае занимает не более 2 сек.

              P.S. Реально второй раз пишу программу. В детстве увлекался Turbo Basic ;)
                Отлично :)
                  Ещё вопросик - как виртуально нажать кнопку мышки или например "ENTER"? Что бы это работало на Windows CE...
                  Я просто активировал режим выключения экрана через 1 минуту. Что бы он включился обратно надо на него нажать. Просто сканированием кода не активируется...
                  Сообщение отредактировано: Pljushevij -
                    Лучше это в отдельную тему оформить.
                    Нажать то можно программно, только сон это не отменит.
                    Наверняка есть функция в API для предотвращения сна. Я не сталкивался..
                      Я не про сон. Подсветка просто отключается. Тапнешь по экрану - включается...
                        Разобрался:

                        MyDisplayController.BacklightState = Symbol.Display.BacklightState.OFF;

                        Всем хорошего дня!
                          :good:
                          0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                          0 пользователей:


                          Рейтинг@Mail.ru
                          [ Script Execution time: 0,1094 ]   [ 18 queries used ]   [ Generated: 18.07.19, 17:23 GMT ]