![]() |
|
![]() ![]() ![]() |
|
Dimitriy |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 31 Регистрация: 6.8.2007 Где: Пермская область Репутация: нет Всего: нет |
Есть название функции записанное в переменной Ansi String, как можно вызвать эту функцию:
String func = "sin"; float value = 0.1; ............................. double a = func(value); Должна сработать функция: double a = sin(0.1); Конечно так работать не будет, просто незнаю как обьяснить правильно, написал как смог. Хелп плиз! Очень надо! Все мозги себе расплавил уже. Это сообщение отредактировал(а) Dimitriy - 5.3.2008, 12:42 |
|||
|
||||
Fazil6 |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1653 Регистрация: 3.5.2006 Где: Минск Репутация: 11 Всего: 60 |
примерно вот так
естественно, что это вариант, когда все интересуемые функции имеют одинаковую сигнатуру. Если нужно обеспечить функции разные по сигнатуре, то надо городить какой-то адаптер или разные реестры для разных сигнатур заводить Это сообщение отредактировал(а) Fazil6 - 5.3.2008, 12:51 |
|||
|
||||
Dimitriy |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 31 Регистрация: 6.8.2007 Где: Пермская область Репутация: нет Всего: нет |
Fazil6? пасиб что откликнулись.
написал ваш код, ошибка выскочила, на картинке которая: эту строку прожевать не может fr["sin"] = sin; Это сообщение отредактировал(а) Dimitriy - 5.3.2008, 13:04 Присоединённый файл ( Кол-во скачиваний: 13 ) ![]() |
|||
|
||||
Fazil6 |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1653 Регистрация: 3.5.2006 Где: Минск Репутация: 11 Всего: 60 |
||||
|
||||
Dimitriy |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 31 Регистрация: 6.8.2007 Где: Пермская область Репутация: нет Всего: нет |
ну вот весь код:
Это сообщение отредактировал(а) Dimitriy - 5.3.2008, 13:13 |
|||
|
||||
Fazil6 |
|
||||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1653 Регистрация: 3.5.2006 Где: Минск Репутация: 11 Всего: 60 |
потому что надо это делать в функции какой-то.
|
||||
|
|||||
Dimitriy |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 31 Регистрация: 6.8.2007 Где: Пермская область Репутация: нет Всего: нет |
ну вопщем то заработало!
у меня вот какая задача была, есть текстовый файл, в нем записаны функции(sin,cos,tan... итд), из этого файла берутся названия функций и запускаются. ну, возможно до меня не дошло ![]() незнаю, возможно сдесь
вы об этом и говорили ![]() |
|||
|
||||
Fazil6 |
|
||||||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1653 Регистрация: 3.5.2006 Где: Минск Репутация: 11 Всего: 60 |
я тебе показал как сопоставить имя функции и функцию.
это реестр в который заносятся функции в соответствии с их именами. под какими ты именами в него заносишь функции, по таким именам их потом и можно будет вызвать. Допустим тебе надо вызывать функции sin,cos и tan , получая информауию о том какую функцию вызвать из твоего файла. Сначала нужно сформировать реестр с именами, которые используются в твоих входных данных
|
||||||
|
|||||||
Dimitriy |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 31 Регистрация: 6.8.2007 Где: Пермская область Репутация: нет Всего: нет |
пасиб за код, работает, буду ща вставлять в прогу.
По идее сначало предполагалось в что файл содержит не одни и те же функции, для того и делался файл, чтобы в нем можно было менять имена функций, код программы оставался прежним. Ну пока так поставлю. |
|||
|
||||
Fazil6 |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1653 Регистрация: 3.5.2006 Где: Минск Репутация: 11 Всего: 60 |
||||
|
||||
andrew_121 |
|
|||
![]() Кодофей ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3448 Регистрация: 3.1.2008 Репутация: нет Всего: 33 |
Это можно реализовать с помощь шаблонов. Пример:
LibSigC++ Это сообщение отредактировал(а) andrew_121 - 5.3.2008, 16:06 Присоединённый файл ( Кол-во скачиваний: 7 ) ![]() -------------------- Удалил аккаунт. Прощайте! |
|||
|
||||
Vyacheslav |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2124 Регистрация: 25.3.2002 Где: Москва Репутация: 47 Всего: 59 |
Продублировать эти функции в published секции формы и вызывать по имени
http://bcdev.narod.ru/Code.htm#GetProcName3 -------------------- С уважением, Вячеслав Ермолаев |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++ Builder" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C++ Builder | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |