Замяна на име
Имам въпрос!
Да кажем, че има два етикета 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;
тогава този трик няма да работи
Странно е защо ти трябва.