Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.06.2018, 19:00   #1
Mishka_M
Пользователь
 
Регистрация: 11.05.2018
Сообщений: 32
По умолчанию Delphi. Поиск по stringgrid.

Добрый день.Заранее благодарен за помощь .
Суть такова , сделал поиск по таблице , вроде как логика верна , но отображает пустую таблицу .Подскажите , что не верно.
Код:
procedure TForm2.Button5Click(Sender: TObject);
var
  ptemp:prasp;
  i:integer;
  begin
    i:=1;
    ptemp:=pnote;
    clearstringgrid;
    while (ptemp<>nil) do
      begin
        if (pos(form2.Edit1.Text,ptemp^.day)>0)
        or (pos(form2.Edit1.Text,ptemp^.pred)>0)
        or (pos(form2.Edit1.Text,ptemp^.prep)>0)
        or (pos(form2.Edit1.Text,ptemp^.tip)>0)
        or (pos(form2.Edit1.Text,ptemp^.cab)>0) then
          begin
           form2.StringGrid1.RowCount:=form2.StringGrid1.RowCount+1;
           form2.StringGrid1.Cells[0,i]:=ptemp^.day;
           form2.StringGrid1.Cells[1,i]:=ptemp^.pred;
           form2.StringGrid1.Cells[2,i]:=ptemp^.prep;
           form2.StringGrid1.Cells[3,i]:=ptemp^.tip;
           form2.StringGrid1.Cells[4,i]:=ptemp^.cab;
           i:=i+1;
          end;
        ptemp:=ptemp^.next;
      end;
  end;
Mishka_M вне форума Ответить с цитированием
Старый 23.06.2018, 20:55   #2
eoln
Старожил
 
Аватар для eoln
 
Регистрация: 26.04.2008
Сообщений: 2,689
По умолчанию

Неисповедимы пути ... Возможно, содержимое совсем не то.
Поставить бряк и пройтись по строкам, узнать что находится в ptemp^.****, если цикл вообще выполнится.
eoln вне форума Ответить с цитированием
Старый 24.06.2018, 14:16   #3
Mishka_M
Пользователь
 
Регистрация: 11.05.2018
Сообщений: 32
По умолчанию

Прогнал по отладке . Все считывается , данные присваиваются. Обнаружил , что после сравнения , т.е. после первой функции Pos сразу перескакивает на next, по остальным Pos даже не пробегает...
Mishka_M вне форума Ответить с цитированием
Старый 24.06.2018, 14:19   #4
Mishka_M
Пользователь
 
Регистрация: 11.05.2018
Сообщений: 32
По умолчанию

При равных значениях внутри Pos, ничего не происходит ... фигня какая то

Последний раз редактировалось Mishka_M; 24.06.2018 в 14:21. Причина: ошибка
Mishka_M вне форума Ответить с цитированием
Старый 24.06.2018, 15:43   #5
eoln
Старожил
 
Аватар для eoln
 
Регистрация: 26.04.2008
Сообщений: 2,689
По умолчанию

Это он подсвечивает одну строку, а проверяет все условия сразу.
Что показывает отладчик в это время? Какие значения в form2.Edit1.Text, ptemp^.day, ptemp^.pred и т.д.?
Из выше описанной ситуации очевидно, что там нет совпадений.
Код:
pos('мясо', 'суп')
eoln вне форума Ответить с цитированием
Старый 24.06.2018, 15:59   #6
Mishka_M
Пользователь
 
Регистрация: 11.05.2018
Сообщений: 32
По умолчанию

равные , то есть к примеру , по циклу в ^day ложится значение вторник, я в edit ввожу вторник, значения равны, но в Begin он не переходит , а проскакивает сразу на next.
синтаксис
Цитата:
if (form2.Edit1.Text=ptemp^.day) then
тоже не работает...
Mishka_M вне форума Ответить с цитированием
Старый 24.06.2018, 16:03   #7
eoln
Старожил
 
Аватар для eoln
 
Регистрация: 26.04.2008
Сообщений: 2,689
По умолчанию

Что показывает отладчик? Скриншот неплохо бы (с данными отладчика на строке условия)

И ещё раз на всякий случай спрошу - Что показывает отладчик?
eoln вне форума Ответить с цитированием
Старый 24.06.2018, 16:11   #8
Mishka_M
Пользователь
 
Регистрация: 11.05.2018
Сообщений: 32
По умолчанию

ааа пля-пля-пля , вырваные годы.....
короче , в чем ошибка, в базе ВСЕ значения набраны с большой буквы , в поиске вбиваю с малой , в этом и вся проблема...почти сутки в попу ((((
Mishka_M вне форума Ответить с цитированием
Старый 24.06.2018, 16:18   #9
Mishka_M
Пользователь
 
Регистрация: 11.05.2018
Сообщений: 32
По умолчанию

eoln , спасибо за помощь , премного благодарен , что откликнулся.
Mishka_M вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
поиск максимального элемента в столбце Stringgrid Delphi mishammm Помощь студентам 9 23.09.2014 08:19
Поиск в StringGrid Retiree Компоненты Delphi 1 27.04.2012 09:52
Двухмерный массив данных - поиск максимального, сумма по строкам (используя StringGrid в Delphi) Ленуся)) Помощь студентам 1 21.06.2011 13:21
Поиск по БД в StringGrid Anny_Apple БД в Delphi 12 27.05.2011 00:14
Поиск в StringGrid program123 Помощь студентам 5 11.04.2009 19:10