![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Документ Word и Delphi [D7]
rodionov-uv © (2012-05-06 00:15:00)Добрый день!!!
Пишу программу для офиса. Суть программы работа с документами Word, а именно : имеем несколько папок с документами, например папки Акты, Журналы, Сопроводительные документы, Договора.
Нужно что бы в левой стороне отображались имена документов, в зависимости от того какую папку я выбрал, а в правой стороне - сам документ Word. С первой задачей я справился (С отображением имен документов в левой стороне и поиском по названию), а как отобразить сам документ я не знаю. Пробовал через олеобъект получается херня, через RxRichEdit с предварительным переводом в RTF формат очень долго и слетает форматирование документа.
Может можно как нибудь ещё???
Помогите плиз!!!!!!
RDen (2012-05-09 13:11:00) [21]>Германн © (09.05.12 01:32) [32]
>И форматирование работает?
блондинка работает
Германн (2012-05-09 01:32:00) [22]
> rodionov_uv (08.05.12 23:28) [31]
>
> Все нашел я компонент называется RichView.
> С его помощью файлы doc и docx и много других форматов открываются.
>
И форматирование работает?
rodionov_uv (2012-05-08 23:28:00) [23]Все нашел я компонент называется RichView.
С его помощью файлы doc и docx и много других форматов открываются.
вот код
procedure TMainForm.FileBoxClick(Sender: TObject);
var r: Boolean;
begin
rve.Clear;
rve.Format;
rve.Update;
rve.Clear;
r:= rvc.ImportRV(FileBox.Items.Strings[FileBox.ItemIndex], rve, 1);
rve.Format;
end;
procedure TMainForm.RVEReadHyperlink(Sender: TCustomRichView; const Target,
Extras: String; DocFormat: TRVLoadFormat; var StyleNo, ItemTag: Integer;
var ItemName: String);
begin
ItemTag := Integer(StrNew(PChar(Target)));
end;
procedure TMainForm.RVEWriteHyperlink(Sender: TCustomRichView; id: Integer;
RVData: TCustomRVData; ItemNo: Integer; SaveFormat: TRVSaveFormat;
var Target, Extras: String);
begin
Target := PChar(RVData.GetItemTag(ItemNo));
end;
procedure TMainForm.RVEJump(Sender: TObject; id: Integer);
var ItemNo: Integer;
RVData: TCustomRVFormattedData;
s: String;
begin
rve.GetJumpPointLocation(id, RVData, ItemNo);
s := PChar(RVData.GetItemTag(ItemNo));
ShellExecute(0, 'open', PChar(s), nil, nil, SW_SHOW);
end;
FileBox - это компонент TListBox
RVE - это компонент TRichView
RVS - это компонент TRVStyle
RVC - это компонент TRVOfficeConverterRVS
код взят из примера компонента.
rodionov_uv (2012-05-08 20:17:00) [24]
> Smile (08.05.12 17:38) [27]
> Расшифруй выделенное ЖИРНЫМ (отобразить), как мне кажется,
> в твоем понимании это "не открыть", а нечто иное, тогда
> что это означает "ОТОБРАЗИТЬ"?
Да открыть но только не самим Word, а в окне моей программы без менюшек и без возможности редактирования, просто просмотреть как выглядит сам документ.
> Dennis I. Komarov © (08.05.12 19:36) [29]
> P.S.
> В ветке ни грамма кода...
А какой код если я даже сам не знаю как писать и что.
Знаю как запустить сам Word и выполнять действия в нем, а как открыть в чем-то хз...
Dennis I. Komarov (2012-05-08 19:36:00) [25]
> Anatoly Podgoretsky © (08.05.12 18:52) [28]
Некогда, ворд не ждет...
P.S.
В ветке ни грамма кода...
P.P.S.
Формат мелкомягкие давно вроде открыли...
Anatoly Podgoretsky (2012-05-08 18:52:00) [26]
> но разговор не о них.
А почему?
Smile (2012-05-08 17:38:00) [27]Ну неужто никто не делал подобного и не знает компонента чтоб отобразитьWordовский документ?????
Расшифруй выделенное ЖИРНЫМ (отобразить), как мне кажется, в твоем понимании это "не открыть", а нечто иное, тогда что это означает "ОТОБРАЗИТЬ"?
rodionov_uv (2012-05-08 17:15:00) [28]Я смотрю Вы тут тему в первых рядах держите.
Да мечта любого мужика - это блондинка.........., но разговор не о них.
Решил проблему следующим образом (пока не найду подходящего компонента).
При запуске программы запускается конвертер который при первом запуске программы создает копии файлов в формате rtf, а потом добавляет если появились новые вордовские файлы в папках.Предварительный просмотр через RxRichEdit rtf файлов, а потом если тот файл, уже открытие в программе.
Ну неужто никто не делал подобного и не знает компонента чтоб отобразить Wordовский документ?????
Dennis I. Komarov (2012-05-08 16:57:00) [29]
> MsGuns © (08.05.12 11:37) [24]
Нет, не угадал ;)
Вы не видели блондинок с двумя ВО? И ногти не короткие. :) Очень приятно с такими работать, в отличии от некоторых...
MsGuns (2012-05-08 11:37:00) [30]>Dennis I. Komarov © (07.05.12 22:22) [22]
>Эт почему? Многие дадут фору "программистам с короткими мозгами"
Эт потому что ключевое слово не "блондинка", а "длинные ногти".
ЗЫ. Жена - блондинка. Угадал ? :)
Dennis I. Komarov (2012-05-07 22:40:00) [31]
> rodionov_uv (06.05.12 01:18) [4]
> И как вы это себе представляете?
Я себе это представляю так:
Если куча шаблонив формата MSWord (dot[x]).
При формировании нужного отчета программа берет нужный шаблон, вставляет в него нужные данные и далее от потребностей - открыть, сохранить, отправить...
Dennis I. Komarov (2012-05-07 22:22:00) [32]
> MsGuns © (07.05.12 10:41) [21]
> Рабочее место "блондинок с длинными ногтями" вовсе не компьютер
Эт почему? Многие дадут фору "программистам с короткими мозгами"
MsGuns (2012-05-07 10:41:00) [33]Рабочее место "блондинок с длинными ногтями" вовсе не компьютер
Anatoly Podgoretsky (2012-05-06 08:24:00) [34]Виндоус нормально работает с именами в 100 символов, при том в отличии от твоей поделки показывает имена в любых языках.
Виндоус нормально показывает любые документы, а не только Ворд, а Эксель даже отдельные закладки, у меня блондинки с удовольствием пользуются и не пищат, а вот пищать начнут на поделку с OLE Container
Германн (2012-05-06 02:59:00) [35]
> Плохиш © (06.05.12 02:42) [18]
>
>
> > Германн © (06.05.12 02:39) [17]
>
> Ты не умничай, ты код давай.
>
Сначала ты найди и дай справку на немецком по OLE. :).
Плохиш (2012-05-06 02:42:00) [36]
> Германн © (06.05.12 02:39) [17]
Ты не умничай, ты код давай.
Германн (2012-05-06 02:39:00) [37]
> rodionov_uv (06.05.12 02:24) [16]
>
>
> > А судя по тому какие библиотеки использует сей плагин
> -
> > проблемы с OLE ваши собственные.
> >
>
>
> Если можно поподробнее
>
> Пробовал через олеобъект получается херня
Если можно подробнее, то это к тебе. Как пробовал? что получилось? В чём х...ня?
rodionov_uv (2012-05-06 02:24:00) [38]
> А судя по тому какие библиотеки использует сей плагин -
> проблемы с OLE ваши собственные.
>
Если можно поподробнее
Германн (2012-05-06 02:09:00) [39]
> rodionov_uv (06.05.12 01:55) [13]
>
> Извините если за компом сидит блондинка с очень длинными
> ногтями, то о Total Commander и речи быть не может.
Хм. Я упомянул Total Commander только как пример быстрого показа содержимого Word-овского документа с таблицами, но без режима WISIWYG.
А судя по тому какие библиотеки использует сей плагин - проблемы с OLE ваши собственные.
rodionov_uv (2012-05-06 02:05:00) [40]
> Плохиш © (06.05.12 01:37) [11]
>
> У меня в режиме отображения миниатюры показывает содержимое
> и ничего не предлагает.
> А уж тоталькомандер вообще выполняет всë описанноп в [0]
> и стоит не состояние.
извените перепутал WebBrowser
> Германн © (06.05.12 01:37) [12]
>
> Быстрее всех показывает документы Word плагин к Total Commander.
> Но и он несколько замедленно показывает документ с таблицами.
> Да и рисунки не показывает. Но всё же работает вполне нормально
> для "предварительного просмотра" в рамках
Нужна именно написанная именно для этой цели своя программа