Модераторы: Akina

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Формула из текста 
:(
    Опции темы
eganeev
Дата 3.2.2007, 21:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 37
Регистрация: 14.12.2006

Репутация: нет
Всего: нет



Кто знает как сделать чтобы, можно было формулу вводить в текстовом поле, а программа ее вычисляла??? Заранее спасибо.
PM MAIL   Вверх
Данкинг
Дата 3.2.2007, 21:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: нет
Всего: 130



А подробнее?!


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
W4FhLF
Дата 3.2.2007, 22:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


found myself
****


Профиль
Группа: Участник Клуба
Сообщений: 2831
Регистрация: 2.12.2006

Репутация: 3
Всего: 121





--------------------
"Бог умер" © Ницше
"Ницше умер" © Бог
PM ICQ   Вверх
eganeev
Дата 4.2.2007, 10:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 37
Регистрация: 14.12.2006

Репутация: нет
Всего: нет



Цитата(Данкинг @ 3.2.2007,  21:32)
А подробнее?!

есть формула, к примеру 3х+6х-5(ее нужно ввести в текстовом поле), мне надо чтобы я мог значению y присвоить эту формулу.
PM MAIL   Вверх
Kirill89
Дата 4.2.2007, 15:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 501
Регистрация: 17.10.2006
Где: Питер

Репутация: 3
Всего: 4



Цитата(eganeev @  4.2.2007,  10:10 Найти цитируемый пост)
есть формула, к примеру 3х+6х-5(ее нужно ввести в текстовом поле), мне надо чтобы я мог значению y присвоить эту формулу. 

Через поиск в тексте и множество операторов if , case, while ... 
Алгоритм такой, что ищишь в тексте например все знаки "+", "-", "*", "/", а потом переменные между этимизнаками, если это, напримаер, квадратное уравнение, то алгритм, соответственно будет сложнее...
Если тебе программа нужна, то тебе в центор помощи.


--------------------
PM MAIL WWW   Вверх
Кирилл
Дата 4.2.2007, 17:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 80
Регистрация: 7.11.2006
Где: Воронеж

Репутация: 1
Всего: 1



W4FhLF, что такое CExpressionEvaluator?
Насколько я понимаю, весь секрет в нём.
PM MAIL   Вверх
Akina
Дата 5.2.2007, 10:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 34
Всего: 454



Цитата(eganeev @  4.2.2007,  11:10 Найти цитируемый пост)
мне надо чтобы я мог значению y присвоить эту формулу

Ну и присваивай как строку... а можешь сделать разбор в польскую нотацию и присваивать полученный массив - тогда можно будет даже определить операторы работы с формулами.

Но лучше создать для этого свой класс.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
eganeev
Дата 6.2.2007, 08:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 37
Регистрация: 14.12.2006

Репутация: нет
Всего: нет



Цитата(Akina @ 5.2.2007,  10:04)
Цитата(eganeev @  4.2.2007,  11:10 Найти цитируемый пост)
мне надо чтобы я мог значению y присвоить эту формулу

Ну и присваивай как строку... а можешь сделать разбор в польскую нотацию и присваивать полученный массив - тогда можно будет даже определить операторы работы с формулами.

Но лучше создать для этого свой класс.

А можно подробнее. Если можно то кодом. Я тока начинающий программист на VB6.
PM MAIL   Вверх
mihanik
Дата 6.2.2007, 15:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


-=Белый Медведь=-
****


Профиль
Группа: Комодератор
Сообщений: 4054
Регистрация: 24.4.2006
Где: г. Тверь

Репутация: 11
Всего: 109



Цитата(eganeev @  6.2.2007,  08:49 Найти цитируемый пост)
Я тока начинающий программист на VB6. 


Если начинающий, то сразу тебе такое не решить.

Начинай с простейшего калькулятора, выполняющего 4 действия: +, -, *, /.
Потом разберись с польской записью (нотацией) выражения (тут немного погуглить придётся).
Примеров в сети много...
Потом уже начинай свою задачу решать...


--------------------
Программистами не рождаются, - это родовая травма...
user posted imageuser posted image
PM MAIL WWW ICQ   Вверх
Rodman
Дата 6.2.2007, 16:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


CIO
****


Профиль
Группа: Участник
Сообщений: 6144
Регистрация: 7.5.2006
Где: Ukraine ⇛ Kyiv ci ty

Репутация: нет
Всего: 122



eganeev, см. польская инверсная запись (польская инверсная нотация)...

метод расчета при помощи стека... простой и мощный вариант...
PM MAIL WWW Skype GTalk YIM MSN   Вверх
JusTalionis
Дата 6.2.2007, 17:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 576
Регистрация: 11.7.2006

Репутация: 6
Всего: 17



Цитата(eganeev @  6.2.2007,  08:49 Найти цитируемый пост)
А можно подробнее. Если можно то кодом. Я тока начинающий программист на VB6. 
 тогда скачай код, который дал тебе  W4FhLF, загузи его в VB и рассмотри состав; проверь как работает, поэкспериментируй... если ты программист а не лодырь))))

Цитата(Кирилл @  4.2.2007,  17:07 Найти цитируемый пост)
что такое CExpressionEvaluator?
 а это как раз тот самый "класс" о котором говорил Akina. Там уже дан код разбора текстовой строки, типа, если стоит "+", то сложить, если "*", то перемножить, и т. д.

А простых способов перевода 1:1, как, вероятно, ожидал eganeev, в Бейсике нет, потому что текстовая строка - это значение переменной, а вычисляемое выражение (формула) - это имена переменных (и функций), и одно в другое не переводится.

W4FhLF, большое спасибо за ссылку! Огромная работа там проделана...

PM MAIL   Вверх
W4FhLF
Дата 6.2.2007, 18:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


found myself
****


Профиль
Группа: Участник Клуба
Сообщений: 2831
Регистрация: 2.12.2006

Репутация: 3
Всего: 121



Кстати откопал ещё один исполнитель выражений, реализовано всё одной функцией, более простой вариант. Смотрите в аттаче.





Присоединённый файл ( Кол-во скачиваний: 21 )
Присоединённый файл  1.txt 8,27 Kb


--------------------
"Бог умер" © Ницше
"Ницше умер" © Бог
PM ICQ   Вверх
eganeev
Дата 6.2.2007, 20:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 37
Регистрация: 14.12.2006

Репутация: нет
Всего: нет



Цитата(JusTalionis @ 6.2.2007,  17:41)


А простых способов перевода 1:1, как, вероятно, ожидал eganeev, в Бейсике нет, потому что текстовая строка - это значение переменной, а вычисляемое выражение (формула) - это имена переменных (и функций), и одно в другое не переводится.

W4FhLF, большое спасибо за ссылку! Огромная работа там проделана...


Я думал в бейсике можно напрямую. Будем изучать код.  Всем спасибо за ответ.
PM MAIL   Вверх
Pugach
Дата 6.3.2007, 20:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 52
Регистрация: 3.10.2006

Репутация: 1
Всего: 1



А ведь можно формулу записанную тексом можно присвоить ячейке Excel и снять с нее результат.

PM MAIL   Вверх
Naghual
Дата 7.3.2007, 11:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1893
Регистрация: 15.5.2004
Где: Украина, Днепр

Репутация: 26
Всего: 49



Pugach -  это операция на гландах через задний проход!



--------------------
Я желаю всем Счастья!
PM ICQ Skype   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "VB6"
Akina

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по VB обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • Используйте теги [code=vb][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | VB6 | Следующая тема »


 




[ Время генерации скрипта: 0.0574 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.