![]() |
|
|
![]()
|
|
| 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 )
______.JPG 14,26 Kb |
|||
|
||||
| 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 )
slot.h 30,59 Kb-------------------- Удалил аккаунт. Прощайте! |
|||
|
||||
| Vyacheslav |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2124 Регистрация: 25.3.2002 Где: Москва Репутация: 47 Всего: 59 |
Продублировать эти функции в published секции формы и вызывать по имени
http://bcdev.narod.ru/Code.htm#GetProcName3 -------------------- С уважением, Вячеслав Ермолаев |
|||
|
||||
![]()
|
| Правила форума "С++ Builder" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C++ Builder | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |