![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| Vit |
|
|||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: 48 Всего: 207 |
Нет так запаришься с if'ами, например выражение: sin(cos(ln(x+exp(x))*3/sin(2*x)) делать надо parser. т.е. определить элементарные функции, а зетем не if'ами, а рекурсивными вызовами разбирать выражение по частям, но это довольно трудоёмкая работа, не проще ли воспользоываться парсером, который уже считает значение выражения и просто подставлять вместо x нужные значения и находить значение выражения - я это делал, там всё примитивно просто. -------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
|||
|
||||
| Dexter |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 1562 Регистрация: 2.7.2002 Где: Москва, Бирюлево Репутация: 1 Всего: 4 |
А!!
А я думал, что там только Sin(X), cos(x), etc можно вводить. Тогда ясен пень что if'ы не помогут -------------------- The only thing you really know about me is... ...that's all you'll ever know |
|||
|
||||
| lamka |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 19 Регистрация: 17.9.2002 Где: Pyatigorsk Репутация: нет Всего: нет |
и ты тут Спасибо за parser! Большое спасибо за помощь! Я понял, что Vit имел ввиду, а тем более с помощью небольшого кода, который предоставил Mikel я, думаю, разбирусь - скоро, наверное, потребуется новая помощь |
||||
|
|||||
| lamka |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 19 Регистрация: 17.9.2002 Где: Pyatigorsk Репутация: нет Всего: нет |
а можно ли как-нибудь перевести значение в радианы?
|
|||
|
||||
| Dexter |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 1562 Регистрация: 2.7.2002 Где: Москва, Бирюлево Репутация: 1 Всего: 4 |
DegToRad
-------------------- The only thing you really know about me is... ...that's all you'll ever know |
|||
|
||||
| lamka |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 19 Регистрация: 17.9.2002 Где: Pyatigorsk Репутация: нет Всего: нет |
а пpимер можно? plz |
|||
|
||||
| Mikel |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 882 Регистрация: 30.3.2002 Где: Саратов Репутация: 1 Всего: 2 |
У него property есть trig называется. Возможные значения DEG, RAD, GRAD. В зависимости от этого значения она считает функции типа sin, cos, tan, sec,...
PS: а parser написать не такая уж и трудоёмкая работа. Два уже написал -------------------- ...so remember, it's better to burn out than to fade away |
|||
|
||||
| lamka |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 19 Регистрация: 17.9.2002 Где: Pyatigorsk Репутация: нет Всего: нет |
в том то и дело - что он неверно считает, объясняю: при обработки функции, parser (не знаю, почему) - считает значения как градусы, поэтому график не выходит - получается прямая линия..., если же заменить весь parser на введенную в коде функцию, типа: f:=sin(x), то график выходит нормальный, остается, что ошибка либо при подстановке значений, либо в самом parser'e - подстановку я взял с твоего кода, проверил несколько раз - все правильно, а parser проверить не могу, так как не разбираюсь в нем - остается, что ошибка в нем... хотя могу ошибиться, но для этого мне как раз и нужен перевод в радианы (с примером)... |
|||
|
||||
| Mikel |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 882 Регистрация: 30.3.2002 Где: Саратов Репутация: 1 Всего: 2 |
Кинь мне по почте свой код. Я разберусь. А главное- посмотри что ты передаешь parser'у.
И как я уже сказал, http://mikel.smtp.ru/setup.exe -можешь убедиться, что работает. -------------------- ...so remember, it's better to burn out than to fade away |
|||
|
||||
| Dexter |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 1562 Регистрация: 2.7.2002 Где: Москва, Бирюлево Репутация: 1 Всего: 4 |
Где rad - радианы, deg - градусы. -------------------- The only thing you really know about me is... ...that's all you'll ever know |
||||
|
|||||
| Mikel |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 882 Регистрация: 30.3.2002 Где: Саратов Репутация: 1 Всего: 2 |
Я же говорил изменить свойство Trig Parser'a на RAD. Все работает.(только реализация оставляет желать лучшего)
-------------------- ...so remember, it's better to burn out than to fade away |
|||
|
||||
| lamka |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 19 Регистрация: 17.9.2002 Где: Pyatigorsk Репутация: нет Всего: нет |
ну... реализация... все таки только месяц как изучаю delphi а как свойство надо было изменить? thx for help again |
|||
|
||||
| Mikel |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 882 Регистрация: 30.3.2002 Где: Саратов Репутация: 1 Всего: 2 |
Выделяешь Parser на форме идешь к ObjectInspector, находишь trig и изменяешь на RAD.
-------------------- ...so remember, it's better to burn out than to fade away |
|||
|
||||
| lamka |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 19 Регистрация: 17.9.2002 Где: Pyatigorsk Репутация: нет Всего: нет |
thx again |
|||
|
||||
| lamka |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 19 Регистрация: 17.9.2002 Где: Pyatigorsk Репутация: нет Всего: нет |
люди
|
|||
|
||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |