Замяна на име

Имам въпрос!
Да кажем, че има два етикета label1 и label2
Задачата е да смените имената на тези етикети
тези.
label1 присвоява име на label2
и назовете label2 на label1.

Някакви идеи за това?

Много е трудно)

едва ли ще можете да направите това:

вар
s1, s2: низ;

.
s1: = label1.Name;
s2: = label2.Name;
label1.Name: = ";
label2.Name: = ";
етикет1.Име: = s2;
label2.Name: = s1;

а вие самите нямате абсолютно нищо?

Опитайте този пример, той не работи.
тъй като когато label1 е присвоено ново име, старото се изтрива т.е. няма да има етикет с име1

Съвет:
Изградете алгоритъм, без да променяте имената.


> този пример не работи.
> тъй като когато label1 е присвоено ново име, старото се изтрива
> т.е. няма да има етикет с име1

Не бъркайте свойството на обекта "Name" с името на идентификатора на програмата !

Чудя се защо това беше необходимо?

опитах - не работи

Задава името на контролата, посочено в кода.

Име на свойството: TComponentName;

Използвайте свойството Name, за да присвоите ново име на контролата или да разберете какво е името на контролата.

По подразбиране IDE присвоява последователни имена въз основа на типа на контролата, като "Button1", "Button2" и т.н. Променете ги на по-смислени имена, които правят кода на приложението по-четлив. Името трябва да е валиден идентификатор на Object Pascal.

Ако надписът на контролата вече не е модифициран, надписът се променя, за да съответства на ново име на контролата.

Внимание: Променяйте имената на контроли само по време на проектиране.

var lb: TLabel;
nm: низ;
започнете
lb: = Label1;
nm: = lb.Name;
Етикет1: = Етикет2;
Етикет2: = lb;
Label2: = Label1.Name;
Label1.Name:=nm;
край;

И вие сменяте координатите за тях. Ефектът е почти същият.

2Digitman: Благодаря за критиката - вчера имах грешка на съвсем друго място.

Label2: = Label1.Name; е глупост

И ако
Label2.Name:=Label1.Name;
тогава този трик няма да работи

Странно е защо ти трябва.