• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

Stringgrid

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

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 и т.д. выводится те даты, где существует символ «т», т.е. ,например, во втором условии.
В общем смысл таков. Нужно вывести все даты подряд, где существует символ «т» без пустых столбцов.
 
B

Barmutik

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

Можно к примеру так:
Код:
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;
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

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