Вниз
Скачать: CL | DM;

Количество параметров процедуры   Найти похожие ветки 

← →
ancot   (2004-08-16 09:21) [0]

Дорогие знатоки, подскажите можно ли по адресу процедуры(функции)(например @IntToStr ) получить количество параметров этой процедуры и присвоить им (параметрам) значения.


← →
Digitman ©   (2004-08-16 09:33) [1]


> можно ли


считай что практически нельзя


← →
Anatoly Podgoretsky ©   (2004-08-16 09:40) [2]

IntToStr один параметр


← →
Digitman ©   (2004-08-16 10:04) [3]


> Anatoly Podgoretsky ©   (16.08.04 09:40) [2]


он, вероятно, хочет слепить нечто вроде интерпретатора Паскаля


← →
VMcL ©   (2004-08-16 10:49) [4]

>>Digitman ©  (16.08.04 10:04) [3]

>интерпретатора Паскаля

Дизассемблера, наверное? В смысле дизпаскаля :-)


← →
Digitman ©   (2004-08-16 10:55) [5]


> VMcL ©   (16.08.04 10:49) [4]


> Дизассемблера, наверное?


да нет, не Дизассемблера)..

читаем :


> присвоить им (параметрам) значения


т.е. речь вроде бы идет о ран-тайме ...

хотя ... шут его знает)


← →
Ancot   (2004-08-16 11:12) [6]

На счет интерпритатора это наверно правильно, расскажу подробней
Есть StringList в нем Имя процедуры и ее адрес, параметры процедуры неизвестны, есть массив Variant со значениями.
Не хотелось бы делать так...
var Param: array of Variant;
begin
 if List.IndexOf("IntToStr") >= 0 then
   Result := IntToStr(Param[0])
 if List.IndexOf("Copy") >= 0 then
   Result := Copy(Param[0], Param[1], Param[2]);
end;


← →
Digitman ©   (2004-08-16 11:20) [7]


> Не хотелось бы делать так


и не делай
крайне сомнительное решение

лучше объясни, откуда у задачи ноги растут - откуда взялся этот TStringList и вариантный массив ...


← →
Ancot   (2004-08-16 15:08) [8]

Парсируется текст, ищется "procedure", если находится то парсером вычисляются значения параметров и вычисленные значения заносятся в array of variant, дело вроде за малым, позвать нужную процедуру и передать ей параметры из array of variant,но...


← →
КаПиБаРа ©   (2004-08-16 15:11) [9]


> Парсируется текст, ищется "procedure

А описание процедуры и ее параметров не парсируется?


← →
Digitman ©   (2004-08-16 15:15) [10]


> значения заносятся в array of variant


а нашута их в array of variant заносить ?
если имя процедуры с т.з. парсера допустимо, то всегда известны и ее параметры

не занимайся изобртением велосипеда ... если тебе нужен интерпретатор Паскаля, то на то есть готовые модули и компоненты



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

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.03 c
14-1092116695
Rule
2004-08-10 09:44
2004.08.29
Вот спорю с коллегой на работе, подскажите есть ли множественное


8-1086496810
Артем К.
2004-06-06 08:40
2004.08.29
Как продублировать картинку по окружности?


1-1092636880
fedor
2004-08-16 10:14
2004.08.29
real прописью


14-1092383549
Шишкин Илья
2004-08-13 11:52
2004.08.29
Нужна шкала как в Nero


1-1092305065
Time
2004-08-12 14:04
2004.08.29
Опять про ресурс...




   Наверх