Многоэтажные дроби в wxWidgets

Это русская секция форума wxWidjets. В этой секции вы можете обсуждать любые вопросы, связанные с wxWidgets на вашем родном языке.
Post Reply
Maxim93
In need of some credit
In need of some credit
Posts: 7
Joined: Mon Jun 29, 2009 5:54 pm

Многоэтажные дроби в wxWidgets

Post by Maxim93 »

Помогите реализовать ввод многоэтажных дробей в wxwidgets(С++). Есть ли какие-нибудь базовые классы в wx для их реализации?
borr_1
Super wx Problem Solver
Super wx Problem Solver
Posts: 362
Joined: Wed Mar 07, 2007 8:10 am
Location: Russia, Shakhty

Post by borr_1 »

Не понятно что ты имеешь ввиду. Видимо тебе надо подсчитать результат строки типа (а+б)/(д*с). Так это тебе математ. парсер строк нужен.
Тут посмотри http://muparser.beltoforion.de/index.html muParser.

Еще можно просто с gAwk через командную строку работать.

http://www.gnu.org/software/gawk/manual ... ion-Syntax
Maxim93
In need of some credit
In need of some credit
Posts: 7
Joined: Mon Jun 29, 2009 5:54 pm

Post by Maxim93 »

Нет,я имел ввиду дроби как в MatKad'е.Что-то типа:
1........45
--.+.4.------
2.........3
.........---
..........4
(Не обращай внимания на точки.)
borr_1
Super wx Problem Solver
Super wx Problem Solver
Posts: 362
Joined: Wed Mar 07, 2007 8:10 am
Location: Russia, Shakhty

Post by borr_1 »

В плане красивого изображения? Можешь попробовать в wxGride нарисовать объединяя и раскрашивая нужные границы ячеек в толсты. Но похоже это не комельфо.
Можешь просто рисовать через wxDC на форуме масса примеров
Maxim93
In need of some credit
In need of some credit
Posts: 7
Joined: Mon Jun 29, 2009 5:54 pm

Post by Maxim93 »

А как их вводить?
Kolya
Experienced Solver
Experienced Solver
Posts: 85
Joined: Mon Dec 11, 2006 11:35 am
Location: /dev/null

Post by Kolya »

Можно использовать wxDC, в частности методы wxDC::GetTextExtent и wxDC::DrawText. А расположение уже самому просчитывать.
Maxim93
In need of some credit
In need of some credit
Posts: 7
Joined: Mon Jun 29, 2009 5:54 pm

Post by Maxim93 »

Что делает wxDC::GetTextExtend?
Maxim93
In need of some credit
In need of some credit
Posts: 7
Joined: Mon Jun 29, 2009 5:54 pm

Post by Maxim93 »

А как же считать текст и дать ввести его пользователю?
Kolya
Experienced Solver
Experienced Solver
Posts: 85
Joined: Mon Dec 11, 2006 11:35 am
Location: /dev/null

Post by Kolya »

Maxim93 wrote:Что делает wxDC::GetTextExtend?
Выдает размер строки на экране
Maxim93 wrote:А как же считать текст и дать ввести его пользователю?
Ввод, а не вывод, можно произвести просто в текстовой форме как было сказано ранее: (а+б)/(д*с)
Просто надо параллельно отображать выводимую дробь проверять постоянно ее на валидность. И тогда пользователь будет доволен.

Или же искать отдельные библиотеки, которые это делают (если они есть). Можно покопаться в исходниках открытых аналогов MathCad-a.
Maxim93
In need of some credit
In need of some credit
Posts: 7
Joined: Mon Jun 29, 2009 5:54 pm

Post by Maxim93 »

В каких, например?
Kolya
Experienced Solver
Experienced Solver
Posts: 85
Joined: Mon Dec 11, 2006 11:35 am
Location: /dev/null

Post by Kolya »

Maxim93 wrote:В каких, например?
Что то вроде CompPad http://comppad.sourceforge.net/
Post Reply