Текущий архив: 2004.08.29;
Скачать: 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 вся ветка
Текущий архив: 2004.08.29;
Скачать: CL | DM;
Память: 0.49 MB
Время: 0.057 c