powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Можно ли использовать переменную вместо имени компонента?
13 сообщений из 13, страница 1 из 1
Можно ли использовать переменную вместо имени компонента?
    #32179630
Andronick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть некий компонент Edit1
Можно ли задать некую переменную ССС в которой указать имя этой компоненты: ccc:=Edit1;
И потом использовать её для обращения к этому компоненту:
Типа: CCC.Text:='Ура!';
Что было бы идентично: Edit1.Text:='Ура!';

Какие есть способы решения подобной задачи!!!
...
Рейтинг: 0 / 0
Можно ли использовать переменную вместо имени компонента?
    #32179650
Фотография eNose
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[не активирован]
[не одобрен]
А Edit1 чем-то неустраивает?

Посмотри проперти Name у компонента.
...
Рейтинг: 0 / 0
Можно ли использовать переменную вместо имени компонента?
    #32179659
Andronick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
eNose:
Нет не устраивает, если у меня много такик компонентов: Edit1, edit2, edit3...
Я мог бы задать к ним обращение в цикле или по условию
подставив например: CCC:='Edit'+IntToStr(i);
...
Рейтинг: 0 / 0
Можно ли использовать переменную вместо имени компонента?
    #32179663
Фотография KirillovA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А цикл прохода по компонентам формы чем не нравица?
...
Рейтинг: 0 / 0
Можно ли использовать переменную вместо имени компонента?
    #32179670
Andronick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KirillovA:
А что имеется в виду?
...
Рейтинг: 0 / 0
Можно ли использовать переменную вместо имени компонента?
    #32179677
Фотография KirillovA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
This code fragment moves any nonvisual components on the form into a separate data module. Note that the components are removed starting with the last component, so that the unprocessed portion of the Components array does not change.

Note: This code does not save the form or data module to disk after the nonvisual components are moved. If executed at runtime, the effect will not persist.

var

I: Integer;
Temp: TComponent;
begin
for I := ComponentCount - 1 downto 0 do
begin
Temp := Components ;
ifnot (Temp is TControl) then
begin
RemoveComponent(Temp);
DataModule2.InsertComponent(Temp);
end;
end;

end;
...
Рейтинг: 0 / 0
Можно ли использовать переменную вместо имени компонента?
    #32179702
Andronick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это не совсем то!
Во первых нужно следить за нумерацией компонентов,
во вторых, если в названии не цифра а символ нужно прикручивать
CASE или IF
...
Рейтинг: 0 / 0
Можно ли использовать переменную вместо имени компонента?
    #32179705
Фотография KirillovA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
var AComponent :TComponent;
begin
...
  AComponent := FindComponent ('kaka1');
  if Assigned (AComponent) then ....
...
end;
...
Рейтинг: 0 / 0
Можно ли использовать переменную вместо имени компонента?
    #32179706
Фотография KirillovA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И вааще чаще в делфи хелп гляди - там все с екзамплами написано ...
The following example creates 20 edit boxes, using FindComponent with the edit box name to access each newly created edit box.

procedure TForm1.Button1Click(Sender: TObject);

var
i: Integer;
const
NamePrefix = 'MyEdit';
begin
for i := 1 to 20 dobegin
TEdit.Create(Self).Name := NamePrefix + IntToStr(i);
with TEdit(FindComponent(NamePrefix + IntToStr(i))) do
begin
Left := 10;
Top := i * 20;
Parent := self;
end;
end;
end;
...
Рейтинг: 0 / 0
Можно ли использовать переменную вместо имени компонента?
    #32179717
Andronick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Извиняюсь за назойливость,
а если речь идет о форме как использовать FindComponent применительно к форме:
просто DELPHI присваивает форме класс:
TForm1 = class(TForm)
и соответственно
TForm(FindComponent(NamePrefix + IntToStr(i))) - уже не проходит
...
Рейтинг: 0 / 0
Можно ли использовать переменную вместо имени компонента?
    #32179752
Фотография KirillovA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не врубаюсь чаво тебе надо FindComponent ищит по имени - находи и делай что угодно ....
...
Рейтинг: 0 / 0
Можно ли использовать переменную вместо имени компонента?
    #32179765
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а если речь идет о форме как использовать FindComponent применительно к форме:
просто DELPHI присваивает форме класс:
TForm1 = class(TForm)

Кто чего кому присваивает??? 8-) Так вааще-то объявляют новый класс от того, который в скобках.

и соответственно
TForm(FindComponent(NamePrefix + IntToStr(i))) - уже не проходит


А почему ты приводишь к TForm? У тя че, на форме формы лежат? Разберись в предметной области.
...
Рейтинг: 0 / 0
Можно ли использовать переменную вместо имени компонента?
    #32179875
oleg_e
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
var Edits : array[ 1 ..n] of Tedit;
...
Edits[ 1 ]:= Edit1;
Edits[ 2 ]:= Edit5;
Edits[ 3 ]:= Edit1;
Edits[ 4 ]:= Edit6;
...

for i:= 1  to n do 
  Edits[i].Text:='';


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


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