Stringgrid

Тема в разделе "Delphi - FAQ", создана пользователем anastasia, 28 сен 2005.

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

    anastasia Гость

    Помогите!!! Имеется StringGrid2. В stringgrid2.Cols выводится дата при таком условии:
    if Datamodule1.IBTable54.FieldByName('s1').Text='т' then
    begin
    stringgrid2.Cols[0].Text:='01.09.'+st4;
    stringgrid2.Cols[1].Text:='02.09.'+st4;
    stringgrid2.Cols[2].Text:='03.09.'+st4;
    stringgrid2.Cols[3].Text:='04.09.'+st4;
    stringgrid2.Cols[4].Text:='05.09.'+st4;
    stringgrid2.Cols[5].Text:='06.09.'+st4;
    stringgrid2.Cols[6].Text:='07.09.'+st4;
    end;
    if Datamodule1.IBTable54.FieldByName('s2').Text='т' then
    begin
    stringgrid2.Cols[7].Text:='08.09.'+st4;
    stringgrid2.Cols[8].Text:='09.09.'+st4;
    stringgrid2.Cols[9].Text:='10.09.'+st4;
    stringgrid2.Cols[10].Text:='11.09.'+st4;
    stringgrid2.Cols[11].Text:='12.09.'+st4;
    stringgrid2.Cols[12].Text:='13.09.'+st4;
    stringgrid2.Cols[13].Text:='14.09.'+st4;
    end;
    if Datamodule1.IBTable54.FieldByName('s3').Text='т' then
    begin
    stringgrid2.Cols[14].Text:='15.09.'+st4;
    stringgrid2.Cols[15].Text:='16.09.'+st4;
    stringgrid2.Cols[16].Text:='17.09.'+st4;
    stringgrid2.Cols[17].Text:='18.09.'+st4;
    stringgrid2.Cols[18].Text:='19.09.'+st4;
    stringgrid2.Cols[19].Text:='20.09.'+st4;
    stringgrid2.Cols[20].Text:='21.09.'+st4;
    end;
    А мне нужно сделать вот что. Если символа «т» в первом условии не найдено, то в stringgrid2.Cols[0].Text, stringgrid2.Cols[1].Text и т.д. выводится те даты, где существует символ «т», т.е. ,например, во втором условии.
    В общем смысл таков. Нужно вывести все даты подряд, где существует символ «т» без пустых столбцов.
     
  2. Barmutik

    Barmutik Гость

    Хммм... Нравятся мне названия компонентов типа IBTable54... как такой код можно будет поддерживать через полгода ?

    Можно к примеру так:
    Код (Text):
    var
     ACol: Integer;
     I: Integer;
     J: Integer;
    begin
     ACol := 0;
     for J := 1 to 3 do
       if Datamodule1.IBTable54.FieldByName('s' + IntToStr(J)).Text='т' then
       begin
         for I := 1 to 7 do
         begin
           stringgrid2.Cols[ACol].Text:= FormatFloat('00', I + (J - 1) * 7) + '.09.'+st4;
           Inc(ACol);
         end;
       end;
     
Загрузка...
Похожие Темы - Stringgrid
  1. GrabbeR
    Ответов:
    1
    Просмотров:
    1.137
  2. radivill
    Ответов:
    0
    Просмотров:
    1.262
  3. Smokey
    Ответов:
    1
    Просмотров:
    1.527
  4. aank10
    Ответов:
    3
    Просмотров:
    1.967
  5. Ягодка
    Ответов:
    1
    Просмотров:
    2.335
Статус темы:
Закрыта.

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