1. Наш канал codeby в telegram. Пишем об информационной безопасности, методах защиты информации, о программирован. Не пропускай новости с кодебай, будь в тренде ! Подробнее ...

    Скрыть объявление
  2. Чат codeby в telegram перезагрузка. Обсуждаем вопросы информационной безопасности и методы защиты информации, программирование. Задавайте свои вопросы и комментируйте чужие. Подробнее ...

    Скрыть объявление

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

Тема в разделе "Delphi - программирование", создана пользователем Strug, 6 мар 2006.

Статус темы:
Закрыта.
  1. Strug

    Strug Гость

    Репутация:
    0
    Может кто подскажет как сделать такую штуку:

    в 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...
     
  2. Barmutik

    Barmutik Гость

    Репутация:
    0
    Ну надо самому парсить ведённые условия ... можно кончно использовать регулярные выражения .. но для такого узкого случая будет проще распарсить их руками....
     
  3. Strug

    Strug Гость

    Репутация:
    0
    <!--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]
    не очень понял про распарсить...
    что понимается под "распарсить руками"?
     
  4. Barmutik

    Barmutik Гость

    Репутация:
    0
    Ну от английского слова parse = парсить = разбирать... самому формат разбирать...
     
  5. zubr

    zubr Гость

    Репутация:
    0
    Вот что то типа того что тебе надо:
    Код:
    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;
     
Загрузка...
Статус темы:
Закрыта.

Поделиться этой страницей