Главная страница
    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.043 c
2-1168494921
Сергей И
2007-01-11 08:55
2007.01.28
Помогиет по БД!


15-1168115653
PHPdeveloper
2007-01-06 23:34
2007.01.28
CSS


15-1168296414
SSE
2007-01-09 01:46
2007.01.28
С каких процессоров началсь поддержка SSE1 ?


4-1158338051
@!!ex
2006-09-15 20:34
2007.01.28
GetSystemTime возвращает не правильное время


2-1168179097
Михаил_
2007-01-07 17:11
2007.01.28
Разблокировка файла





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