Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2002.03.11;
Скачать: [xml.tar.bz2];

Вниз

как обращаться к элемантам формы с цикле   Найти похожие ветки 

 
ev   (2002-02-25 14:04) [0]

У меня есть labe1, label2.... label999
Как в цикле поменять Caption?


 
vrRaven   (2002-02-25 14:16) [1]

попробуй сделать массив компонентов

var a: array[1..99] of TLabel;

и в цикле обращайся к его ячейкам...

P.S. тока не забуть вызвать метод Create для каждой ячейки...


 
ded_di   (2002-02-25 14:17) [2]

Попробуй что-то типа
j:=1;
while ((UpperCase((Self.Components[j] as TObject).Name))<>(UpperCase(Format("label%d",[j]))))and
(j<Self.ComponentCount) do inc(j);
if j<Self.ComponentCount then
(Self.Components[j] as TControl).caption:=.....


 
ev   (2002-02-25 14:37) [3]

2 vrRaven
все label надо разместить в IDE, а Caption менять после.

2 ded_di
спасибо, попробую. А попроще можно?
Если у меня есть 99 label"ов, а надо выполнить label57.Caption:="aaa"; то такой алгоритм не совсем подходит.

А можно-ли в IDE создать массив и TLavel?


 
Наталья   (2002-02-25 16:17) [4]

Можно и проще...мне так кажется
var i:integer;
begin
for i:=0 to ComponentCount-1 do
begin
if Components[i] is TLabel
then
if Tlabel(Components[i]).name="Label57"
then
Tlabel(Components[i]).caption:="aaa"
else
Tlabel(Components[i]).caption:="bbb"
end
end;

Еще можно использовать метод FindComponent


 
I/O   (2002-02-25 18:40) [5]

Специально для этого есть св-во TAG
Действуй по принципу Натальи
Components[i].tag .........


 
Anatoly Podgoretsky   (2002-02-25 19:49) [6]

(FindComponent("Label57") as TLabel).Caption :="aaa";


 
Ilya   (2002-02-25 21:12) [7]

Вот две ветки по теме:
http://delphi.mastak.ru/cgi-bin/forum.pl?look=1&id=1014466595&n=0
http://delphi.mastak.ru/cgi-bin/forum.pl?look=1&id=1014385219&n=0


 
oomneeq   (2002-02-25 21:34) [8]

2ded_di
>((Self.Components[j] as TObject).Name
Это зря.
Вопервых - TComponent всегда is TObject
Во2х - У TObject нету Name

А по делу - перебор таки быстрее чем FindComponent ибо
FindComponent сам есть перебор.
Лучше много раз по разу, чем много раз по много раз.




Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2002.03.11;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.003 c
3-32384
af
2002-02-11 16:52
2002.03.11
Можно ли программно добавлять значения для DBcombobox?


1-32491
Stialy
2002-02-24 20:58
2002.03.11
Как сделать окно активным?


7-32585
harisma
2001-12-06 15:51
2002.03.11
Интересный глюк(но очень неприятный)


1-32451
Mitrofan
2002-02-21 12:12
2002.03.11
Уважаемые Мастера, как можно перехватить консольный вывод.


4-32608
Max_VM
2002-01-11 16:05
2002.03.11
Как записать в меню пункт с integer переменной?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский