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

Вниз

Использование индекса в именах компонентов...   Найти похожие ветки 

 
Zahar   (2005-03-10 17:35) [0]

Вопрос наверняка уже обсуждялся. Прошу не пинать, просто дайте краткий ответ, буду очень длагодарен.

Есть 25 TEdit-ов. Как обращаться к ним в цикле?
Например как в цикле очистить из значения?


for i:=1 to 25 do begin
  ...
end;


 
begin...end ©   (2005-03-10 17:39) [1]

Если этим edit"ам назначен владелец, то можно использовать его свойство-массив TComponent.Components.


 
@Lex ©   (2005-03-10 17:42) [2]

for i := 0 to ComponentCount - 1 do
 if Components[i] is TEdit then (Components[i] as TEdit).Clear;


 
Zahar   (2005-03-10 17:44) [3]

begin...end
???
а можно кусочек кода с примером?


 
Zahar   (2005-03-10 17:47) [4]

@Lex
Это очистит мне все поля TEdit. А если я хочу только первые 20?


 
Antonn ©   (2005-03-10 17:47) [5]

Zahar   (10.03.05 17:44) [3]
см [2]. Только можно еще tag проверять(выставить у нужных), а то не у тех едитов постирают:)


 
Antonn ©   (2005-03-10 17:48) [6]

for i := 0 to ComponentCount - 1 do
if Components[i] is TEdit then
if (Components[i] as TEdit). tag=1 then (Components[i] as TEdit).Clear;

примерно так, у нужных tag в еденицу выставить.


 
Zahar   (2005-03-10 17:49) [7]

Antonn
Можно по-подробнее плиз?


 
Zahar   (2005-03-10 17:56) [8]

Может это поможет вам понять, чего я хочу :)
Для примера в PHP имя переменной можно составить из частей.

Например:

$a1="vasea";
$a2="petea";
$a3="tolea";

$x=2;

print ${"a$x"};


Выведется "petea".

Можно, что-то подобное сделать в Дельфи???


 
jack128 ©   (2005-03-10 17:56) [9]

var
 EditIndex: Integer;
begin
for i := 0 to ComponentCount - 1 do
 if Components[i] is TEdit then
   if TryStrToInt(Copy(Components[i].Name, Length("Edit") + 1, Length(Components[i].Name)), EditIndex) and (EditIndex >= 1) and (EditIndex <= 20) then
        TEdit(Components[i]).Text := "";
end;


 
Гаврила ©   (2005-03-10 18:06) [10]

А можно так

if MatchesMask(Components[i]).Name, "Edit*") then


 
Zahar   (2005-03-10 18:59) [11]

THX to ALL
разобрался!!!!



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

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

Наверх





Память: 0.46 MB
Время: 0.032 c
1-1110950725
SergP
2005-03-16 08:25
2005.03.27
Поиск подстроки в контенте принятом TClientSocket


14-1109946252
ArMellon
2005-03-04 17:24
2005.03.27
Как подключить комп к телевизору


1-1110482942
kirilllius
2005-03-10 22:29
2005.03.27
Update Delphi 7


14-1110288509
[wl]
2005-03-08 16:28
2005.03.27
Гарантия на почти работающую память


3-1109412494
Walker
2005-02-26 13:08
2005.03.27
Нужен компонент а-ля Access "поле со списком"





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский