Главная страница
    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.043 c
14-1110370933
saNat
2005-03-09 15:22
2005.03.27
Использование витой пары


3-1109582625
NeyroSpace
2005-02-28 12:23
2005.03.27
Нужно написать SQL запрос к таблицам EXCEL


4-1108551494
DeskTop
2005-02-16 13:58
2005.03.27
Как определить путь к рабочему столу


14-1109856652
Doxygen
2005-03-03 16:30
2005.03.27
Лучший HTML-редактор


4-1106928237
Георгий Бедный
2005-01-28 19:03
2005.03.27
Форма для скринсейвера





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