Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Delphi: Общие вопросы > Delphi 7 & XML |
Автор: BigTon 30.4.2008, 23:29 |
Добрый вечер уважаемые знатоки. Дано: 1. Есть клиент-серверное приложение. 2. На стороне сервера есть набор файлов, содержащих тестовую и графическую информацию, созданных в MS Word 2003 и сохранённых в формате *.xml. 3. На сервере организована передача клиентской части *.xml файлов. Вопрос: Как «отобразить» принятый клиентом *.xml файл? Давно не занимался программирование в среде Delphi, потому прошу вашей помощи. Существует ли какой компонент, с помощью которого моя задача решиться в «два клика»? Или надо писать свой parser? |
Автор: aktuba 1.5.2008, 02:25 |
TWebBrowser, TMemo, TRichEdit? Да, даже сама форма (canvas) подойдет, чтобы отобразить xml... |
Автор: Snowy 1.5.2008, 13:10 |
Отобразить в каком виде? В виде Word документа? - Word В виде xml? - TWebBrowser В виде дерева? - Пример в книге Марко Канту. Просто показать xml, как есть? - любой текстовый компонент... А парсер писать не надо. Их и так полно. Другое дело, что вид у вордового xml не радует глаз... |
Автор: BigTon 2.5.2008, 14:34 |
У меня была задача передавать некоторый учебный материал (статьи, тесты) от серверной части к клиентской части. Не смейтесь, но на тот момент ничего лучше, чем создавать файлы в MS Visio, сохранять их в *.gif формате, а потом передавать *.gif файлы, я не нашёл (картинка на всех ПК картинка, то есть сохраняется шрифт, выравнивание, и т.д.). Теперь созданием учебного материала будет заниматься человек, который не желает делать это в MS Visio, а хочет делать это в MS Word. Почему я предложил сохранять файлы в *.xml? Потому что подумал, что этот формат точно удастся открыть на стороне клиентской части с помощью какого ни будь компонента и моя задача превратиться в чисто тривиальную. Если есть компонент, позволяющий открывать *.doc файлы, это ещё лучше! Главное чтобы сохранялось всё форматирование документа! А под словом «открывать», «отображать» я подразумеваю просмотр документа созданного в MS Word с сохранённым форматированием на стороне клиента. |
Автор: pseud 2.5.2008, 16:53 |
открыть xml, сохраненный в word, в том же виде сможет только word. поэтому что xml вы передадите, что просто вордовский файл, на клиенте задача одна - получить вордовский файл и открыть его в ворд. может я че не так понял? |
Автор: BigTon 2.5.2008, 17:09 |
На клиентской стороне может не быть Word’a. Задача: передать *.doc файл клиентской части, и отобразить его в окне моего приложения. |
Автор: aktuba 2.5.2008, 18:11 | ||
Решение: написать свой Word... Бред. |
Автор: BigTon 3.5.2008, 11:45 |
Причём тут «свой Word»? Неужели я настолько не ясно описал поставленную задачу? Попробую ещё раз… Необходимо файл, созданный в MS Word, отобразить в окне клиентской части программы. P.S. В MS Word файл также можно сохранять как *.rtf. |
Автор: pseud 3.5.2008, 13:44 |
ну тогда это уже не вордовский файл и совсем другая история. rtf сможет открыть не только ворд, например еще WordPad. я думаю он то везде установлен. вообще его может открыть и TRichEdit но картинкок не будет (по крайней мере у меня в Delphi6Upd2). как вариант могу предложить: - кидаем на форму TOleContainer - назначаем ему наш файл - активируем. пусть открывает тот кто по умолчанию в винде за это отвечает. но отобразиться все ето именно в нашем окне проги. сам с этим чудом не работал. подробных советов дать не могу. |
Автор: BigTon 3.5.2008, 16:23 |
Клиент запускает моё приложение, подключается к серверу, получает документ и читает его. Не нужно запускать никаких сторонних программ. Я просто не верю, что в 2008 году невозможно открыть файл созданный в MS Word средствами Delphi… в MS Word файл можно сохранять во множестве форматов! |
Автор: Alexeis 3.5.2008, 16:38 | ||
Есть сторонние компоненты на базе RichEdit 2.0, которые могут все что и WordPad. |
Автор: pseud 3.5.2008, 17:03 | ||||
думаю, вы не верите и в то, что средствами дельфи нельзя открыть файл-3dsmax, расставить источники света и прорендерить все тем же дельфи всю эту красоту. не смотря на то что на дворе 2008 год. вы просто напросто не понятно к чему приплели Word. т.к. как я уже сказал rtf к ворду отношение имеет такое же как и xml. с него (rtf) и надо было начинать.
вот и ответ на ваш вопрос. |
Автор: aktuba 3.5.2008, 18:35 | ||
Почему нельзя, можно... Только Delphi - это не универсальный конструктор, а язык программирования. Так что, если сильно надо, то даже не важно, в чем сохранено - можно написать свой парсер и отображать как хочется... И что? Я чуть запутался... Если говоришь MSWord, то родной для него формат - .doc... .rtf - это не формат ворда, также, как и xml, .txt, .dat и т.д... Кстати, MS Word еще может и в txt и в html сохранять ![]() ![]() |
Автор: BigTon 4.5.2008, 01:26 |
Стоило, наверно, написать так: «файл созданный средствами MS Word необходимо «открыть» в клиентской части моей программы». А там уже выяснять какие форматы, какими компонентами можно «открыть». Свой выбор я остановил на TWebBrowser. Эта компонента почти полностью удовлетворяет моим требованиям: позволяет открывать *.mht файлы. Спасибо всем за участие и помощь! Вопрос: мне показалось или TWebBrowser использует «движок» IE или он использует «движок» браузера, установленного по умолчанию? |
Автор: aktuba 4.5.2008, 03:08 |
Автор: BigTon 4.5.2008, 12:15 |
Ещё раз спасибо. Вопрос решён. |