![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
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]отказаться от ворда...