| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > VB6 > График функции |
| Автор: Гость_NikoLLa 11.10.2005, 16:04 |
| Народ. Есть такая проблема: необходимо вывести на экран график функции. Функция задаётся пользователем. Как это сделать??? |
| Автор: Spawn™Production® 11.10.2005, 16:11 |
| http://forum.vingrad.ru/index.php?act=module&module=vingradfaq&article_num=002858 |
| Автор: boevik 11.10.2005, 16:20 |
| использовать объэкт MSChart и вычисляя точки X и Y. |
| Автор: Kergan 11.10.2005, 17:53 | ||||
| Но с ПРОИЗВОЛЬНЫМ графиком (когда пользовотель задает ф-ию) - отдельная песня. Я решал эту задачу ф-ией EbExecuteLine из библиотеки vba6.dll
Тут ведь в чем проблема - тебе задана ф-ия f(x)=log(cos(sin(x))) Ты, значит, должен АНАЛИЗИРОВАТЬ выражение. А это почти так же сложно, как написать компилятор. Но есть выход. Забиваешь выражение в строку, и каждый проход заменяешь x ф-ией Replace на какое-то числовое значение. А... теперь что? Теперь у нас в строке то же арифметическое выражение, но с числом.... Теперь:
и в глобальной переменной будет нужно тебе значение. Потом можешь забить все это в цикл и построить график ПРОИЗВОЛЬНОЙ функции! ЗЫ Если надо подробнее, пиши, расскажу. ЗЗЫ Ima_globalnoi_peremennoi_v_strokovom_vide - например, у тебя ГЛОБАЛЬНАЯ переменная GLB. Тогда Ima_globalnoi_peremennoi_v_strokovom_vide = "GLB". |
| Автор: Exception 11.10.2005, 19:01 | ||
она вроде вне среды не работает... |
| Автор: зашедший_на_свет 11.10.2005, 19:43 |
| почему же? Ebexecuteline Очень даже работает, я пробовал. To kergan: и такой алгоритм реально функционирует? |
| Автор: Exception 11.10.2005, 21:40 |
| у меня не работала.. проверю. |
| Автор: Guest 12.10.2005, 09:21 | ||
|
| Автор: NikoLLa 13.10.2005, 16:37 |
| Kergan Не объяснишь, что это за ф-ия EbExecuteLine? А по подробней бы не помешало, а то мало понятно если честно. [email protected] Я вам оставил свой мэйл([email protected]) |
| Автор: Exception 13.10.2005, 17:41 | ||
она динамически исполняет строку-программу на VB - он ведь интерпретатор |
| Автор: Kergan 15.10.2005, 11:50 |
| Здрасте, люди. Про EbExecuteLine - вот хорошая статья. http://mirpc.narod.ru/koding/stat/vb/74.htm Только там не сказано, или не акцентировано внимание, на том, что EbExecuteLine может работать с глобальными переменными и вызывать глобальные функции. Очевидно, что это открывает принципиально новые возможности! |