![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
макроподстановки
IIL © (2002-02-08 08:51:00)Здравствуйте мастера! В FOXe есть понятие макроподстановки. Например если есть переменная I = "1" то к переменной B1 можно обратиться так B&I.
Есть ли что-нибудь подобное в DELPHI чтобы например объекты B1 B2 B3 и т.д. можно было бы создавать в цикле FOR I := 1 To ....
KSergey (2002-02-08 09:36:00) [21]Хотя ответ Digitman"а возможно более соответствует заданному вопросу (хотя если под переменными подразумевается просто, например, целочисленные, то тащить для этого TComponent...), но что-то в вашем вопросе меня натолкнуло предложить вам массивы. По-моему, для циклов (т.е. обрацению к переменным по индексу) они как раз то что надо. И городить из-за этого макроподстановку даже в FOX"е - это слишком, однако.
Digitman (2002-02-08 09:21:00) [22]Механизма макроопределений/макроподстановок в делфи нет. Нет его и в Паскале как таковом. Но то, что тебя интересует, в Делфи реализуемо иными средствами, не менее удобными и эффективными, чем макросредства иных языков программирования.
Единственное, что хотелось бы заметить еще, это то, что макромеханизм FOX"а в части приведенных тобой возможностей базируется исключительно на механизме интерпретации, в то время как классический макромеханизм (реализованный, например, в MASM, C/С++) предназначен для несколько иных целей.
Пример :
Пусть объекты B1, B2, .., BN являются наследниками TComponent и имеют соотв.имена "B1", "B2", ..,"BN" (т.е. подчиняются некоему заданному при кодировании правилу регулярности в однозначной их идентификации, в дан.случае - по свойству "Name")
Тогда циклический код обращения к объектам может выглядеть, например, вот так :
for i:= 1 to N do
Bi:= SomeOwnerComponent.FindComponent("B" + IntToStr(i));