Форум программистов, компьютерный форум, киберфорум
Наши страницы
C++ Builder
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.95/19: Рейтинг темы: голосов - 19, средняя оценка - 4.95
Михаил Марюфич
15 / 15 / 5
Регистрация: 29.03.2011
Сообщений: 144
1

Программа-тестирования с математическими формулами

19.08.2011, 16:55. Просмотров 3414. Ответов 31
Метки нет (Все метки)

Здравствуйте уважаемые, я хочу написать программу-тестирование с использованием базы данных, но проблема в чем, в вопросе и ответах я хочу использовать математические формулы, их я хочу задавать с помощью OleContainer, а как их сохранять или выводить(к примеру в Лабеле или Button, Memo, я подозреваю, что это невозможно) в я не представляю?
Помогите советом.
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.08.2011, 16:55
Ответы с готовыми решениями:

Программа тестирования
Доброго времени суток, подскажите пожалуйста ссылку или исходник или направление мысли на программу...

Программа тестирования знаний
Люди,хэлп!:cry: мне нужно сделать программу тестирования знаний, только при этом ответы к каждому...

Программа для тестирования
Помогите составить программу тестирования знаний! Долго бился но ни как не получается(((( Делаю...

Тестовая оболочка (программа для тестирования)
Задача такая: нужен исходник программы для прохождения тестов с несколькими вариантами ответа один...

Вставка и работа с математическими формулами
Подскажите как реализовать вставку математических формул(дробей, корней и прочей фигни..) в...

31
LK
Заблокирован
19.08.2011, 18:43 2
1. картинки с формулами
2. рисовать на канве
0
Михаил Марюфич
15 / 15 / 5
Регистрация: 29.03.2011
Сообщений: 144
19.08.2011, 18:53  [ТС] 3
Ну об этом товарищ LK, я думал картинки с формулами однозначно нет, так как хотелось бы сделать программу с редактором тестов, во втором способе меня смутило опять таки то, что потом эти формулы как-то сохранять и выводить, я почему спросил, я видел программу с таким функционалом , который мне нужен , но не могу вспомнить как называется, сейчас найду и скину скриншот, возможно вы мне поможете сделать анологично. там был маленький как бы фрейм в углу экрана с окном редактора офиса от Microsoft
Прога называется SunRav TestOfficePro
0
LK
Заблокирован
19.08.2011, 19:09 4
эта программа называется Microsoft Word
0
Михаил Марюфич
15 / 15 / 5
Регистрация: 29.03.2011
Сообщений: 144
19.08.2011, 19:16  [ТС] 5
Вот скрин проги
0
Миниатюры
Программа-тестирования с математическими формулами  
Михаил Марюфич
15 / 15 / 5
Регистрация: 29.03.2011
Сообщений: 144
19.08.2011, 19:17  [ТС] 6
Да сам не понял какую чушь написал Но всеже гляньте на скрин, как такое можно сделать?
0
LK
Заблокирован
19.08.2011, 20:05 7
Цитата Сообщение от Михаил Марюфич Посмотреть сообщение
там был маленький как бы фрейм в углу экрана с окном редактора офиса от Microsoft
- вот это уже приятнее - что прога сама формулы не редактирует , я бы поискал вариант своровать этот редактор у мелкомягких через OLE-server.

Добавлено через 2 минуты
а где тот "маленький фрейм" ?

Добавлено через 20 минут
и вообще, в чем сложность сделать шаблоны формул, используя
C++
1
2
TRect R=Rect(int rt,int rl,int rb,int rr);
Canvas->TextRect(R,x,y,text);
и подставляя в int и text нужное значение ? да кусочек работы еще тот , однако...
1
Михаил Марюфич
15 / 15 / 5
Регистрация: 29.03.2011
Сообщений: 144
19.08.2011, 22:04  [ТС] 8
Сложности раз вы говорите особой наверное и нет, но, как мне потом эту формулу сохранить в базу данных?

Добавлено через 1 час 27 минут
А можно ли рисовать компонентах на RadioButton например очистить caption , заключить его в прямоугольник и на этом прямоугольнике рисовать?
0
LK
Заблокирован
19.08.2011, 22:15 9
идем от обратного - сначала формулу сохранить в базу, ведь в не графическом режиме это будет одна строка , или нет ? потом берем формулу из базы и рисуем, или наоброт
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
void __fastcall TForm1::FormPaint(TObject *Sender)
{
  char x,y,z;
  x = '2';
  y = '2';
  z = '4';
// первая строка
  Canvas->TextOut(10,10,z);
  Canvas->TextOut(20,10,'=');
  Canvas->TextOut(30,10,x);
  Canvas->TextOut(40,10,'+');
  Canvas->TextOut(50,10,y);
  Canvas->TextOut(50,10,';');
// вторая строка
  Canvas->TextOut(20,25,z);
  Canvas->TextOut(30,25,'=');
  Canvas->TextOut(40,25,'4');
}
Таким же образом формируем подчеркивание и пр. прибамбасы. Морока, конечно, зато как приятно , что сам сделал.
0
Миниатюры
Программа-тестирования с математическими формулами  
LK
Заблокирован
19.08.2011, 22:18 10
Если канва есть - можно рисовать на чем угодно , да и канву можно самому сделать.
Поправил код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
char x,y,z;
x = '2';
y = '2';
z = '4';
// первая строка
Canvas->TextOut(20,10,z);
Canvas->TextOut(30,10,'=');
Canvas->TextOut(40,10,x);
Canvas->TextOut(50,10,'+');
Canvas->TextOut(60,10,y);
Canvas->TextOut(70,10,';');
// вторая строка
Canvas->TextOut(35,25,z);
Canvas->TextOut(45,25,'=');
Canvas->TextOut(55,25,'4');
0
Миниатюры
Программа-тестирования с математическими формулами  
Михаил Марюфич
15 / 15 / 5
Регистрация: 29.03.2011
Сообщений: 144
19.08.2011, 22:54  [ТС] 11
Так это понятно, начинаю потихоньку понимать, а не могли бы вы для большей наглядности приложить пример написания нижнего или индекса?

Добавлено через 8 минут
Уже не надо я понял
C++
1
2
3
4
5
6
7
8
9
10
11
12
void __fastcall TForm1::FormPaint(TObject *Sender)
{
AnsiString x,y,z;
x = '2';
 
// ïåðâàÿ ñòðîêà
Canvas->TextOut(20,10,x);
Canvas->TextOut(28,5,x);
 
 
}
//---------------------------------------------------------------------------
это действительно увлекательный процесс

Добавлено через 6 минут
Столкнулся с проблемой при подчеркивании, моя черточка, закрашивает весь вышестоящий символ, как сделать, чтобы фон был прозрачный?
0
LK
Заблокирован
19.08.2011, 22:57 12
приложился ))
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
char x,y,z;
x = '2';
y = '2';
z = '4';
// первая строка
Canvas->Font->Size =10;//Установка размера шрифта
Canvas->Font->Style << fsBold; //fsUnderline cтилm
Canvas->Font->Color = clBlack; // цвета
Canvas->TextOut(20,20,'x');
Canvas->TextOut(30,20,'=');
Canvas->TextOut(40,20,x);
// возведение в степень
Canvas->Font->Size =6;//Установка размера шрифта
Canvas->Font->Style << fsBold; //fsUnderline cтилm
Canvas->Font->Color = clRed; // цвета
Canvas->TextOut(50,20,'2');
2
Миниатюры
Программа-тестирования с математическими формулами  
Михаил Марюфич
15 / 15 / 5
Регистрация: 29.03.2011
Сообщений: 144
19.08.2011, 23:00  [ТС] 13
Очень хорошо , на предыдущий вопрос сам себе отвечаю
C++
1
Canvas->Brush->Style = bsClear  ;
Спасибо LK , не знаю что бы я без вас делал
0
LK
Заблокирован
19.08.2011, 23:13 14
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
char x,y,z;
x = '2';
y = '2';
z = '4';
// первая строка
Canvas->Font->Size =10;//Установка размера шрифта
Canvas->Font->Style << fsBold; //fsUnderline cтилm
Canvas->Font->Color = clBlack; // цвета
Canvas->TextOut(20,20,'x');
Canvas->TextOut(30,20,'=');
Canvas->TextOut(40,20,x);
// возведение в степень
Canvas->Font->Size =6;//Установка размера шрифта
Canvas->Font->Style << fsBold; //fsUnderline cтилm
Canvas->Font->Color = clRed; // цвета
Canvas->TextOut(50,20,'2');
// линия
Canvas->MoveTo(20,40);
Canvas->LineTo(55,40);
// дроби, блин
Canvas->Font->Size = 10;//Установка размера шрифта
Canvas->Font->Color = clBlack; // цвета
Canvas->TextOut(30,41,'2');
0
Миниатюры
Программа-тестирования с математическими формулами  
LK
Заблокирован
19.08.2011, 23:30 15
вот и готова формула, а вы сопротивлялись

я так думаю, что этих формул можно нарисовать хоть на сотне невидивых Image, а потом подставлять эти имаги по потреьности в соответствуюших координатах и сдвигая текст, если это окно редатирования типа РичЭдит .

Добавлено через 13 минут
и так:
Цитата Сообщение от Михаил Марюфич Посмотреть сообщение
AnsiString x,y,z;
x = '2';
не пишут ))) , пишут так:
AnsiString x,y,z;
x = "2";

но

char x;
x = '2';
а товаристчь, видать, ваяяет формулы
0
Михаил Марюфич
15 / 15 / 5
Регистрация: 29.03.2011
Сообщений: 144
20.08.2011, 00:01  [ТС] 16
Ну вроде тово, товарищщ. И еще один вопрос где можно взять коды мат. символов, а конкретно корень квадратный?

Добавлено через 10 минут
я так думаю, что этих формул можно нарисовать хоть на сотне невидивых Image, а потом подставлять эти имаги по потреьности в соответствуюших координатах и сдвигая текст, если это окно редатирования типа РичЭдит
Нужно в базе хранить отдельно строки и картинки и строке оставлять указание вроде "Здесь был имаг 1" и вставлять так?
Ну и заключительный глупый вопрос, а как
подставлять эти имаги по потреьности в соответствуюших координатах и сдвигая текст, если это окно редатирования типа РичЭдит .
0
LK
Заблокирован
20.08.2011, 00:21 17
получить координаты текстового курсора и вставить по координатам , GetCorPos , cделав
C++
1
Image->Parent = RichEdit;
Как получить ASCII код символа на C++ + Греческий алфавит
1
Михаил Марюфич
15 / 15 / 5
Регистрация: 29.03.2011
Сообщений: 144
20.08.2011, 00:37  [ТС] 18
C++
1
2
3
4
5
int i=RichEdit1->CaretPos.x;
int y=RichEdit1->CaretPos.y;
Image1->Parent=RichEdit1;
Image1->Top=y;
Image1->Left=i;
Так? Но так некорректно работает
0
LK
Заблокирован
20.08.2011, 00:50 19
вырабатывайте гламурную привычку давать более подробно формулировать вопрос - как именно - некорректно ?
0
Михаил Марюфич
15 / 15 / 5
Регистрация: 29.03.2011
Сообщений: 144
20.08.2011, 01:15  [ТС] 20
1) После совершения этого действия
C++
1
Image1->Parent=RichEdit1;
я теряю возможность писать на РичЭдите,то есть гаретка бежит , а букв совсем не видно.
2)
C++
1
2
Image1->Top=y;
Image1->Left=i;
я подозреваю что не правильно присваиваю координаты, так как рисунок перемещается совсем не в ту позицию где была гаретка.
0
20.08.2011, 01:15
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.08.2011, 01:15

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Необходимо разобраться с математическими формулами
Здравствуйте, есть такое задание, которое нужно решить: Математическая формула: z =...

Как создать тестирующее приложение с математическими формулами?
как создать тестирующий приложение с математическими формулами. Формулы написаны МС Ворде есть,...

Программа работающая с формулами
Привет всем кто читает мою тему!!! Я бьюсь над разработкой следующей программы. Она высчитывает...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.