Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.05.01;
Скачать: CL | DM;

Вниз

eval() в паскале   Найти похожие ветки 

 
fccczaa   (2003-04-15 17:48) [0]

Каков аналог eval() в Дельфи?


 
DiamondShark ©   (2003-04-15 17:49) [1]

Никакой.


 
fccczaa   (2003-04-15 17:57) [2]

а как быть тогда?


 
Anatoly Podgoretsky ©   (2003-04-15 18:07) [3]

Написать, раз нужно
Поискать если не можно сделать


 
DiamondShark ©   (2003-04-15 18:10) [4]


> fccczaa (15.04.03 17:57)
> а как быть тогда?


Смотря для чего. Задача какая?


 
Fiend ©   (2003-04-15 18:21) [5]

То fccczaa:
eval это насколько я помню ВБ или Жаба?
Так вы не путайте скриптовой язык с Паскалем. Ибо те Интерпретируют строки текста передвыполнением, а Паскаль компилирует (не совсем точно конечно).
Выход найти парсер выражений или интерпретатор паскаля, их масса


 
fccczaa   (2003-04-15 18:28) [6]

Ну вот, например, есть форма с кучей TEdit, TMemo, TComboBox"ов. Есть задача проверить значение каждого из полусотни этих полей, сохранить данные в массиве, а затем экспортировать с помощью xmlrpc. Очень не хотелось бы обрабатывать каждое поле "ручками", неплохо было бы создать, к примеру, массив с названиями полей и делать все это в цикле... или я слишком избалован теми "скриптовыми языками", и придется набивать три километра кода?


 
Fiend ©   (2003-04-15 18:31) [7]

То fccczaa:
Вовсе не три.:)
всего лишь метров десять. Можно в цикле перечислить все элементы формы, проверить чего там нужно ну и т.д и т.п.


 
Serginio   (2003-04-15 19:47) [8]

Переходи на NET. RTTI может тебе помочь и Components.


 
Serginio   (2003-04-15 19:48) [9]

Вернее Controls and ControlCount and AS IS.


 
Palladin ©   (2003-04-15 19:51) [10]

нужно просто немножко подумать и поизучать справку


 
fccczaa   (2003-04-15 20:42) [11]

И немножно уже думал, и справку эту дурацкую изучал (сколько себя помню - в детстве баловался турбопаскалем - фиг найдешь чего надо у борланда в справке с первого раза)...

Ладно, всем большое спасибо. Придется все же заняться мазохизмом, раз приспичило на дельфях писать :)


 
Palladin ©   (2003-04-15 21:29) [12]

кто ищет, тот найдет

и в борландовской справке я находил все максимум на третьем переходе...


 
LEON   (2003-04-15 23:31) [13]

может TForm.FindComponent поможет?


 
Babay ©   (2003-04-16 06:10) [14]

Предположим едиты имеют имена Edit1,Edit2.... Edit(N)
тогда так
Var c:TComponent;


For i=1 to N do begin
C:=FindComponent("Edit"+Inttostr(i));
If TEdit(c).text=<чего то там> then begin
.....
end;
end;

если имена разные но нужно проверить все эдиты, memo и т.д. на форме то так

For i:=0 to ComponentCount-1 do begin
if Components[i] is TEdit then begin
if TEdit(Components[i]).text =<чего то там> then begin
.....
end;
if Components[i] is TMemo then begin
if TMemo(Components[i]).text =<чего то там> then begin
.....
end;
..... и т.д.
end;
end;

ну вообщем вариаации разные думаю смысл обработки ясен


 
DiamondShark ©   (2003-04-16 11:23) [15]


> fccczaa (15.04.03 18:28)


Ну коли избалован скриптовыми языками, так и не стоит отказываться. Active Script легко подключается к любой программе.

Для начала можно глянуть мою статью
http://www.delphikingdom.com/helloworld/activescript.htm


 
Mystic ©   (2003-04-16 13:32) [16]

> Придется все же заняться мазохизмом

Имхо, садизм писать программы с использованием eval для тех, кто потом их будет разбирать.



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

Текущий архив: 2003.05.01;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.01 c
3-372
dim
2003-04-11 10:30
2003.05.01
DBCtrlGrid + DBText


1-493
MaxSit
2003-04-17 19:01
2003.05.01
DX: QuickReport351. Проблема с подсчетом страниц перед просмотром


1-558
Barlok
2003-04-17 18:43
2003.05.01
Вопрос по массивам?


14-769
Дмитрий К.К.
2003-04-15 06:51
2003.05.01
Именинники 15 апреля


1-552
Лана Розанова
2003-04-19 11:36
2003.05.01
Доступ к файлам.