Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Количество параметров процедуры [D7, WinXP]


ancot ©   (2004-08-16 09:21:00) 

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


Digitman   (2004-08-16 15:15:00) [1]


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


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

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


КаПиБаРа   (2004-08-16 15:11:00) [2]


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

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


Ancot   (2004-08-16 15:08:00) [3]

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


Digitman   (2004-08-16 11:20:00) [4]


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


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

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


Ancot   (2004-08-16 11:12:00) [5]

На счет интерпритатора это наверно правильно, расскажу подробней
Есть 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 10:55:00) [6]


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


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


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

читаем :


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


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

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


VMcL   (2004-08-16 10:49:00) [7]

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

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

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


Digitman   (2004-08-16 10:04:00) [8]


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


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


Anatoly Podgoretsky   (2004-08-16 09:40:00) [9]

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


Digitman   (2004-08-16 09:33:00) [10]


> можно ли


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


Наверх

Титульная страница Поиск, карта сайта Написать письмо