FoxPro Club Главная

Конференция Решения Фотоальбом Сайт М.Дроздова Статьи Файловый архив Книга Visual FoxPro 9.0 Русский Help для Visual FoxPro
Пользователей: 9210
Вход
Библиотека для работы с RTF файлами.

Библиотека позволяет формировать RTF файлы без использования MSWord. Т.е. даже если он не установлен Вы сможете создать например отчет в Word.


 
Прислал: Петров Андрей   Категория: Инструменты разработчика


Библиотека для работы с RTF файлами.

Возможности:
1) Запись в RTF линий (только горизонтальные и вертикальные)
2) Запись в RTF закрашенных прямоугольников
3) Запись в RTF текста
4) Запись в RTF картинок (BMP, JPEG, GIF, EMF, PCT)
5) Открытие уже существующего RTF и дозапись в него.

Библиотека делелась на Delphi для генераторов отчетов. После моего предложения Martin Haluza от разработки данной компоненты отказался хотя в состав его отчетов после этого разговора входит возможность переноса отчета в RTF (www.eques.com - XFRX).
Библиотека тестировалалсь мало... Но если кому пригодится то я буду рад.

Вот пример использования:

DECLARE short WritePage IN rtf_lib
DECLARE short WriteImage IN rtf_lib integer, integer, integer, integer, string
DECLARE short WriteRect IN rtf_lib integer, integer, integer, integer, integer, integer, integer
DECLARE short WriteVertLine IN rtf_lib integer, integer, integer, integer, integer
DECLARE short WriteHorizLine IN rtf_lib integer, integer, integer, integer, integer
DECLARE short WriteText IN rtf_lib short, short, short, short, integer, integer, integer, integer, integer, integer, integer, string, string

DECLARE short WriteImage IN rtf_lib integer, integer, integer, integer, string, short

DECLARE short Create IN rtf_lib AS _Create string, short, short, short, short
DECLARE short Open IN rtf_lib AS _Open string, short, short, short, short, short
DECLARE short GetColorID IN rtf_lib short, short, short
DECLARE Integer getrgbcolorid IN rtf_lib short, short, short
DECLARE short Save IN rtf_lib AS _Save

=_Create('1.rtf',0,0,0,0)
=writetext(1,1,1,2,8,GetColorID(255,0,0),GetrgbColorID(0,255,0),2000,2000,1000,1000,'Arial','Тестовая строка')
=writehorizline(7000,7000,4000,getrgbcolorid(0,255,255),100000)
=WritePage()
=writevertline(7000,7000,4000,getrgbcolorid(255,0,255),200000)
=writerect(1000,1000,1000,1000,getrgbcolorid(0,255,0),getrgbcolorid(0,0,255),300000)
=writeimage(2000,2000,1000,1000,'1.jpg',1)
=writeimage(3000,2000,1000,1000,'1.gif',2)
=writeimage(4000,2000,1000,1000,'1.bmp',3)
=writepage()
=writeimage(1000,1000,10000,1000,'1.emf',4)
=writetext(1,1,1,2,8,GetColorID(255,0,0),GetrgbColorID(0,255,0),2000,2000,1000,1000,'Arial','EMF')
=writepage()
=writeimage(1000,1000,10000,1000,'1.pct',0)
=writetext(1,1,1,2,8,GetColorID(255,0,0),GetrgbColorID(0,255,0),2000,2000,1000,1000,'Arial','PCT')
=_Save()

Действия библиотеки основаны на формировании динамического списка при вызове одной из функций =writeXXXX и переброски из списка в файл при вызове _Save().
 
Сделайте оценку этого решения Плохо Удовлетворительно Так себе Хорошо Отлично Текущая оценка: (4.87) Вложение [16.22]kb
Дополнения пользователей
Библиотека для работы с RTF файлами.
[+][?]
Шургин Ю.П.
19.02.04 10:06:58

Уберите writeimage, и все у вас получится!!!
Андрей
23.02.04 17:32:01

Нет таблицы она не делает. Только если дорабатывать :-(
Куденцов Александр
19.02.04 07:34:10

vfp7,vfp8 win2000 - Выдает Runtime error 2 at XXXXXX
Андрей
19.02.04 16:49:41

Ошибка из-за того что у тебя нету файлов 1.jpg, 1.gif, 1.bmp, 1.emf, 1.pct
Syberex
23.02.04 17:20:54

А можно с помощью этой библиотеки создавать таблицы в rtf?
[Дополнить]



© 2000-2017 Fox Club 
При размещении любых материалов с сайта на других ресурсах- прямая ссылка на www.foxclub.ru обязательна
Яндекс.Метрика