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

Вниз

Как обартится к элементу с порядковым номером в виде переменной?   Найти похожие ветки 

 
vegarulez ©   (2007-01-06 20:08) [0]

Доброго времени суток мастерам.
Подскажите ответ на такой вопрос
есть
Edit1 Edit2
и
i:integer

Так вот вопрос по синтаксису как правильно обратится к Edit`ам?

типа Edit[i] или Edit+[i] или как?...


 
Sleepeer   (2007-01-06 20:11) [1]

function FindComponent(const Name: string) - тебе поможет


 
vegarulez ©   (2007-01-06 20:19) [2]

А напрямую никак нельзя???
вроде
Edit +(i)
или ещё как нить?


 
Джо ©   (2007-01-06 20:21) [3]

> [2] vegarulez ©   (06.01.07 20:19)
> А напрямую никак нельзя???

Делфи — не скриптовый язык и имена переменных в нем ничего не значат и даже не хранятся в готовой программе.


 
MsGuns ©   (2007-01-06 20:21) [4]

Представь выстроенную дивизию, перед которой стоит наш Чапаев:
- Солдат[i], [i+1] и [i+2] выйти из строя !


 
vegarulez ©   (2007-01-06 20:47) [5]

2: MsGuns ©
 Ну да собственно в скриптовых языках я атк и делал....
2: Sleepeer
 Ахха пасип... вроде понял....


 
MsGuns ©   (2007-01-06 20:50) [6]

В [1]-м к солдатам обращаются по фамилиям, не так ли ?


 
Sleepeer   (2007-01-06 22:01) [7]

Если ещё не разобрался, то вот :

procedure TForm1.Button1Click(Sender: TObject);
var
i     : byte;
Ed : TComponent;
begin
for i := 1 to 5 do begin
  Ed := FindComponent("Edit" + IntToStr(i));
  (Ed as TEdit).Text := "найден";
end;
end;


 
MsGuns ©   (2007-01-06 22:35) [8]

>Sleepeer   (06.01.07 22:01) [7]

Плохо самому ТАК делать, но вовсе преступно советовать ЭТО другим


 
MetalFan ©   (2007-01-06 23:09) [9]


> Sleepeer   (06.01.07 22:01) [7]


а что будет, если не окажется компонента с таким именем? ;)


 
MsGuns ©   (2007-01-06 23:36) [10]

>MetalFan ©   (06.01.07 23:09) [9]
>а что будет, если не окажется компонента с таким именем? ;)

Ничего не будет ;)
В смысле AV ;))


 
Anatoly Podgoretsky ©   (2007-01-06 23:52) [11]

> MsGuns  (06.01.2007 23:36:10)  [10]

Отсюда вывод - не надо так делать.


 
koha ©   (2007-01-07 02:49) [12]

> Sleepeer   (06.01.07 22:01) [7]

> for i := 1 to 5 do begin
>   Ed := FindComponent("Edit" + IntToStr(i));
>   (Ed as TEdit).Text := "найден";
> end;

В подобный код проверочку можно вставить, чтобы было "Not Ничего не будет"

if FindComponent("Edit" + IntToStr(i)) <> Nil then begin
 ShowMessage("Найден")
 Ed:=TEdit(FindComponent("Edit" + IntToStr(i)));
end    
else ShowMessage("Не найден");


 
vegarulez ©   (2007-01-07 09:59) [13]

2: Sleepeer
 Пасип... но уже разобрался...  ;)

2: koha  
Очень полезная проверка на Nil...
если её не делать то при обращении к свойству несуществующего компонента - на эксэпшн выпадает...


 
Anatoly Podgoretsky ©   (2007-01-07 13:31) [14]

> koha  (07.01.2007 02:49:12)  [12]

Плохой код.


 
MsGuns ©   (2007-01-07 14:37) [15]

Дело даже не в коде, а .. в полных потемках в головах


 
ors_archangel ©   (2007-01-07 18:01) [16]

Вопрос [0], я так понял, появляется не реже, чем раз в месяц :) Пора делфи переписывать



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

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

Наверх




Память: 0.48 MB
Время: 0.04 c
2-1168303037
Antoxa2005
2007-01-09 03:37
2007.01.28
Ко такое? Вопрос покажется странным, но не знаю, как назначить пр


2-1168508653
term1t
2007-01-11 12:44
2007.01.28
то ли лыжи не едут...


3-1162580357
Adil
2006-11-03 21:59
2007.01.28
Oracle 10g Unicode, TntComponents


5-1147638855
Лев
2006-05-15 00:34
2007.01.28
Нужна компонента типа TMemo но с возможностью простейшего формата


15-1168427598
Руслан
2007-01-10 14:13
2007.01.28
Опять Apache )))





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