![]() |
|
Модераторы: Akina |
![]()
|
|
| eganeev |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 37 Регистрация: 14.12.2006 Репутация: нет Всего: нет |
Кто знает как сделать чтобы, можно было формулу вводить в текстовом поле, а программа ее вычисляла??? Заранее спасибо.
|
|||
|
||||
| Данкинг |
|
|||
![]() Yersinia pestis ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 8302 Регистрация: 7.11.2006 Где: მოსკოვი Репутация: нет Всего: 130 |
А подробнее?!
-------------------- There's nothing left but silent epitaphs. |
|||
|
||||
| W4FhLF |
|
|||
![]() found myself ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2831 Регистрация: 2.12.2006 Репутация: 3 Всего: 121 |
-------------------- "Бог умер" © Ницше "Ницше умер" © Бог |
|||
|
||||
| eganeev |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 37 Регистрация: 14.12.2006 Репутация: нет Всего: нет |
есть формула, к примеру 3х+6х-5(ее нужно ввести в текстовом поле), мне надо чтобы я мог значению y присвоить эту формулу. |
|||
|
||||
| Kirill89 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 501 Регистрация: 17.10.2006 Где: Питер Репутация: 3 Всего: 4 |
Через поиск в тексте и множество операторов if , case, while ... Алгоритм такой, что ищишь в тексте например все знаки "+", "-", "*", "/", а потом переменные между этимизнаками, если это, напримаер, квадратное уравнение, то алгритм, соответственно будет сложнее... Если тебе программа нужна, то тебе в центор помощи. |
|||
|
||||
| Кирилл |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 80 Регистрация: 7.11.2006 Где: Воронеж Репутация: 1 Всего: 1 |
W4FhLF, что такое CExpressionEvaluator?
Насколько я понимаю, весь секрет в нём. |
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 34 Всего: 454 |
Ну и присваивай как строку... а можешь сделать разбор в польскую нотацию и присваивать полученный массив - тогда можно будет даже определить операторы работы с формулами. Но лучше создать для этого свой класс. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| eganeev |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 37 Регистрация: 14.12.2006 Репутация: нет Всего: нет |
А можно подробнее. Если можно то кодом. Я тока начинающий программист на VB6. |
|||
|
||||
| mihanik |
|
|||
![]() -=Белый Медведь=- ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 4054 Регистрация: 24.4.2006 Где: г. Тверь Репутация: 11 Всего: 109 |
Если начинающий, то сразу тебе такое не решить. Начинай с простейшего калькулятора, выполняющего 4 действия: +, -, *, /. Потом разберись с польской записью (нотацией) выражения (тут немного погуглить придётся). Примеров в сети много... Потом уже начинай свою задачу решать... |
|||
|
||||
| Rodman |
|
|||
|
CIO ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 6144 Регистрация: 7.5.2006 Где: Ukraine ⇛ Kyiv ci ty Репутация: нет Всего: 122 |
eganeev, см. польская инверсная запись (польская инверсная нотация)...
метод расчета при помощи стека... простой и мощный вариант... |
|||
|
||||
| JusTalionis |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 576 Регистрация: 11.7.2006 Репутация: 6 Всего: 17 |
а это как раз тот самый "класс" о котором говорил Akina. Там уже дан код разбора текстовой строки, типа, если стоит "+", то сложить, если "*", то перемножить, и т. д. А простых способов перевода 1:1, как, вероятно, ожидал eganeev, в Бейсике нет, потому что текстовая строка - это значение переменной, а вычисляемое выражение (формула) - это имена переменных (и функций), и одно в другое не переводится. W4FhLF, большое спасибо за ссылку! Огромная работа там проделана... |
|||
|
||||
| W4FhLF |
|
|||
![]() found myself ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2831 Регистрация: 2.12.2006 Репутация: 3 Всего: 121 |
Кстати откопал ещё один исполнитель выражений, реализовано всё одной функцией, более простой вариант. Смотрите в аттаче.
Присоединённый файл ( Кол-во скачиваний: 21 )
1.txt 8,27 Kb-------------------- "Бог умер" © Ницше "Ницше умер" © Бог |
|||
|
||||
| eganeev |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 37 Регистрация: 14.12.2006 Репутация: нет Всего: нет |
Я думал в бейсике можно напрямую. Будем изучать код. Всем спасибо за ответ. |
|||
|
||||
| Pugach |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 52 Регистрация: 3.10.2006 Репутация: 1 Всего: 1 |
А ведь можно формулу записанную тексом можно присвоить ячейке Excel и снять с нее результат.
|
|||
|
||||
| Naghual |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1893 Регистрация: 15.5.2004 Где: Украина, Днепр Репутация: 26 Всего: 49 |
Pugach - это операция на гландах через задний проход!
-------------------- Я желаю всем Счастья! |
|||
|
||||
![]()
|
| Правила форума "VB6" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | VB6 | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |