выбор данных из Stringgrid'а

  • Автор темы Автор темы Strug
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.
S

Strug

Может кто подскажет как сделать такую штуку:

в stringGrid считывается многостолбцовый файл, надо чтобы по введенным (выбранным, напр. из combox) пользовалелем условиям посчитались подходящие им строчки... напр.
пользователь ввел
а) col2<8 and col10>5 and col15<=10
b) col1>2 and col 6>=4 and col8>9
c).....
клик на кнопку и выводится a=... строк b=... строк c=...строк

проблема: не знаю как заставить программу понимать введенные условия((...

help...
 
Ну надо самому парсить ведённые условия ... можно кончно использовать регулярные выражения .. но для такого узкого случая будет проще распарсить их руками....
 
<!--QuoteBegin-Barmutik+6:03:2006, 11:06 -->
<span class="vbquote">(Barmutik @ 6:03:2006, 11:06 )</span><!--QuoteEBegin-->Ну надо самому парсить ведённые условия ... можно кончно использовать регулярные выражения .. но для такого узкого случая будет проще распарсить их руками....
[snapback]31483" rel="nofollow" target="_blank[/snapback]​
[/quote]
не очень понял про распарсить...
что понимается под "распарсить руками"?
 
Ну от английского слова parse = парсить = разбирать... самому формат разбирать...
 
Вот что то типа того что тебе надо:
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
i:Integer;
count_a, count_b, count_c:Integer;
begin
count_a:=0;
count_b:=0;
count_c:=0;
With StringGrid1 do
begin
For i:=0 to RowCount-1 do
begin
 try
 If (StrToInt(cols[2].Strings[i])<8) and (StrToInt(cols[10].Strings[i])0>5)
 and (StrToInt(cols[15].Strings[i])<=10) then
 inc(count_a);
 If (StrToInt(cols[1].Strings[i])>2) and (StrToInt(cols[6].Strings[i])0>=4)
 and (StrToInt(cols[8].Strings[i])>9) then
 inc(count_b);
 //............
 except
 ShowMessage('Неверный формат данных!!!');
 end;
end;
end;
ShowMessage('a='+IntToStr(count_a)+' строк, b='+IntToStr(count_b)+' строк');
end;
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!