powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Один код на несколько компонентов...
7 сообщений из 7, страница 1 из 1
Один код на несколько компонентов...
    #39498777
Ахтунг!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Как в зависимости от какого-либо признака обращаться к разным компонентам?
В данном случае оба стрингрида идентичны (если это имеет значение), и код по ним тоже одинаков.
Дабы не копировать куски большого кода на два if, можно ли как-то обращаться налету к разным гридам (смотяр какое значение флага)?
Большое спасибо!

Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
procedure x();
begin
if Flag = 1 then  
  with stringrid1 do begin

  end;

if Flag = 2 then  
  with stringrid2 do begin

  end;
end;
...
Рейтинг: 0 / 0
Один код на несколько компонентов...
    #39498783
Олег Третьяков
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ахтунг!,
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
procedure y(AStringGrid : TStringGrid);
begin
  AStringGrid.DoSome1; 
  AStringGrid.DoSome2; 
  AStringGrid.DoSome3; 
end;

procedure x();
begin
  case flag of
    1:y(stringrid1);
    2:y(stringrid2);
  end;
end;
...
Рейтинг: 0 / 0
Один код на несколько компонентов...
    #39498814
LSV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MyProcedure............
var st: TStringgrid;
begin
if .....
then st := StringGrid1
else st := StringGrid2;

// далее работаем только с st.

end;
...
Рейтинг: 0 / 0
Один код на несколько компонентов...
    #39499024
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
type tflag = (flag1, flag2);
var grids: array [tflag] of TStringGrid;
...
grids[flag1] := stringrid1;
grids[flag2] := stringrid2;
...
procedure x();
begin
  with grids[flag] do begin

  end;
end;
...
Рейтинг: 0 / 0
Один код на несколько компонентов...
    #39499202
Gerasimenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ахтунг!,

pointer
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
procedure x(pStringGrid:Pointer);
var
 _SG:^TStringGrid;
begin
 _SG:=pStringGrid;
 if _SG^ <> Nil
  then begin

         end;
end;

...
x(@StringGrid1);
x(@StringGrid2);
x(@StringGrid3);


...
Рейтинг: 0 / 0
Один код на несколько компонентов...
    #39517291
Alexandr-N
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ахтунг!,

Если не используешь TStringGrid.Tag - задействуй. Дальше - думаю разберешься.
...
Рейтинг: 0 / 0
Один код на несколько компонентов...
    #39517493
Фотография makhaon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexandr-N,

+1

case stringrid.tag of
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Один код на несколько компонентов...
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]