Модераторы: Snowy, MetalFan, bems, Poseidon
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Функция = строка. Возможно ли? 
:(
    Опции темы
Sanek123
Дата 25.10.2011, 13:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 201
Регистрация: 22.10.2008

Репутация: нет
Всего: нет



Здравствуйте.

Сразу извините за название темы и, возможно, раздел, и скорее всего всю тупость вопроса. Однако нужен ответ "Да" или "Нет". Поиск в гугле не выходит так как не могу сформулировать вопрос.

Скажите, возможно ли выполнение примерно такого кода (среда Delphi):

Код

...
procedure TFmain.MyFunc(int:integer);
begin
...
end;

procedure TFmain.ExecuteComand();
   var
   StrCom:string;
begin
    StrCom:='MyFunc(int)';
    if StrCom<>'' then @StrCom;
end;


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

Знаю что подобные вещи делаются с помощью *.dll но я эти команды помимо чтения должен еще и писать в тхт. Как писать в длл - я не знаю.

С помощью CMD, COM и прочих "скриптов" тоже не вариант.


Натыкался в сети на что-то вроде
Цитата

...переменная процедурного типа...
TCallback = function (CallType, Fmt: Word;...


Если меня кто-то понял - прошу помочь.
 
--------------------
Вас разыскивают бойцы 139-го порта...
PM MAIL   Вверх
Sanek123
Дата 26.10.2011, 06:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 201
Регистрация: 22.10.2008

Репутация: нет
Всего: нет



нашел в сети

Код

СПОСОБ№2
 Как мне использовать переменную типа string в качестве имени процедуры? 
 Никак. Тем не менее, вы могли бы создать stringlist как показано ниже: 

 stringlist.create; stringlist.addobject('proc1',@proc1);
 stringlist.addobject('proc2',@proc2); 

 и затем реализовать это в вашей программе: 

 var
 myfunc : procedure;
begin
if stringlist.indexof(s) = -1 then
 messagedlg('Не понял процедуру '+s,mterror,[mbok],0)
else
begin
 @myfunc := stringlist.objects[stringlist.indexof(s)];
 myfunc;
end;
end;



не сказать что все понятно, однако автор говорит что нельзя сделать строку именем процедуры а свм создает стринглист и читает его строки, но ведь строка стриглиста есть строка(стринг), пусть даже значение строки и имеет тип Tobject? или я не так понял?

помогите разобраться.
--------------------
Вас разыскивают бойцы 139-го порта...
PM MAIL   Вверх
rodnover
Дата 26.10.2011, 07:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 223
Регистрация: 7.4.2009

Репутация: 1
Всего: 10



Через RTTI. Здесь есть примерчики http://robstechcorner.blogspot.com/2009/09...tti-basics.html

Но это для Delphi 2010 и новее.

Это сообщение отредактировал(а) rodnover - 26.10.2011, 07:24
PM MAIL   Вверх
Frees
Дата 26.10.2011, 08:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2233
Регистрация: 2.12.2005
Где: Екатеринбург

Репутация: 16
Всего: 54



Sanek123, задача у тебя какая? Ты по моему не в том направлении двигаешься.


--------------------
Кольцов Виктор Владимирович
PM MAIL ICQ   Вверх
CROTishka
Дата 31.10.2011, 09:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 192
Регистрация: 30.7.2009

Репутация: нет
Всего: 2



http://www.gunsmoker.ru/2008/10/x-y-z.html

что-то ни в одном из известных паттернов такое не нужно. 
а уж если вы такие вопросы задаёте, есть мнение, что вы что-то не то делаете.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Для новичков"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0667 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.