Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Word OleContainer [Delphi, Windows]


Programmer Andrey ©   (2005-04-07 14:35:00) 

Пишу диплом по теме: "Программа контроля знаний студентов". Требования преподавателя следующие: Загрузка вопросов из Word'a и сохранение в БД для дальнейшего тестирования; количество пользователей более 30; установка минимального количества дополнительного ПО; сервер тестирования и клиенты; вопросы могут содержать формулы, рисунки, диаграммы и др.
Я реализовал это следующим образом: из Word'a загружаю вопросы и варианты ответа в blob поле через OLEContainer. Затем при тестировании читаю вопросы и ответы из blob поля и вывожу на экран их также через OLEContainer. Меня волнует вопрос быстродействия. Все это получается с низким быстродейсвием даже на локальной машине (Celeron 900).
Подскажите технологию хранения и выдачи информации в соответствии с поставленной задачей с оптимальным


Programmer Andrey   (2005-04-09 08:55:00) [1]

Отдельные файлы не подходят. Все должно храниться в БД. Файлы можно засунуть в blob поля


YurikGL   (2005-04-08 22:37:00) [2]

>Programmer Andrey ©   (08.04.05 14:13) [16]

Тогда уж просто печатай в PDF и отображай PDF на форме. Компоненты должны быть. PDF-к можно хранить в отдельном файле *.pdf а в базе хранить только путь к нему.


Programmer Andrey   (2005-04-08 14:13:00) [3]

Воспользуюсь наверное RxRichEdit и blob полями.


YurikGL   (2005-04-08 13:45:00) [4]


> Programmer Andrey ©   (08.04.05 08:31) [8]

Задай вопрос в Потрепацца, типа "Как распечатать документ ворд в растровый рисунок?"


AloneAli   (2005-04-08 11:47:00) [5]

Если у тебя число рисунков (диаграмм, формул) в каждом вопросе разное, то можно динамически создавать соответствующее количество TImage.
Я не думаю, что у тебя рисунки (диаграммы, формулы) будут весить много.


AloneAli   (2005-04-08 11:44:00) [6]


> Programmer Andrey ©   (08.04.05 11:11) [12]

Сделай скрин-шоты.
Продумай логику загрузки файлов.
Тогда у тебя единая форма вопроса.


Programmer Andrey   (2005-04-08 11:11:00) [7]

Для этого нужно сохранить информацию каким-либо образом в графический файл


AloneAli   (2005-04-08 10:49:00) [8]


> Programmer Andrey ©   (08.04.05 10:38) [10]

Можно использовать следующее:
Image1.Picture.LoadFromFile('имя файла');


Programmer Andrey   (2005-04-08 10:38:00) [9]

Я подумал, может все преобразовывать в gif и сохранять в базе, а затем показывать все это на экране (например с помощью TWebBrowser)? Но столкнулся с такой проблемой: если в буфере текст, то я его могу получить через clipboard.AsText если только формула, то через
var handle_ : thandle;
...
Handle_:=Clipboard.GetAsHandle(2);
Image1.Picture.LoadFromClipBoardFormat(2, Handle_, 0);
А вот если и текст и формула, то не могу получить содержимое буфера обмена. Хотя в Paint оно вставляется без проблем как текст с формулой, только шрифт становиться почему-то мельче.


AloneAli   (2005-04-08 09:35:00) [10]

А что если каждый рисунок, или диаграмму, или формулу хранить в jpg... Пути к ним хранить в ini-файле и потом в программе загружать в зависимости от выбранного вопроса.


Programmer Andrey   (2005-04-08 08:31:00) [11]

Попробую поискать


YurikGL   (2005-04-07 18:47:00) [12]


> Programmer Andrey ©   (07.04.05 17:54) [6]
> А есть примерчик печати выделенной области в файл-рисунок?

У меня, к сожалению нету.
Но подозреваю, что существует виртуальный принтер, который позволит выводить в файл рисунка. Есть же PDFWriter, который позволяет печатать в PDF документ. Нужно что-то подобное.


Programmer Andrey   (2005-04-07 17:54:00) [13]

А есть примерчик печати выделенной области в файл-рисунок?


YurikGL   (2005-04-07 17:47:00) [14]

>А как сделать скриншот, определенной части документа?

Автоматизированно? Если только печатать выделенную область в файл-рисунок...

А так, ИМХО любым грабером... я PrintKey2000 использую...


Programmer Andrey   (2005-04-07 17:33:00) [15]

А как сделать скриншот, определенной части документа? Вопросы и ответы хранятся в таблицах. Каждая таблица - отдельный вопрос с ответами. Первая строка - вопрос, последняя - номера правильных ответов, все что посередине - варианты ответов. В файле столько таблиц, сколько вопросов по данному предмету или теме.


YurikGL   (2005-04-07 16:55:00) [16]

Programmer Andrey ©


> А в каком формате тогда хранить в базе, чтобы потом была
> возможность выдать это на экран?

На мой взгляд нужно разработать что-то типа единой формы вопроса и хранить отдельно рисунки, отдельно формулы.
Но это зависит от количества формул и рисунков в вопросе.
Можно еще делать скриншоты всех вопросов и хранить только рисунки.


Programmer Andrey   (2005-04-07 16:27:00) [17]

А в каком формате тогда хранить в базе, чтобы потом была возможность выдать это на экран?


YurikGL   (2005-04-07 14:59:00) [18]

отказаться от ворда...


Наверх

Титульная страница Поиск, карта сайта Написать письмо