Библиотека для работы с 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().

Автор: Петров Андрей

Автор публикации

не в сети 22 года

Петров Андрей

Комментарии: 0Публикации: 14Регистрация: 17-04-2002
Вложенные файлы
#
Название
Тип файла
Размер
1 374rtf_lib .zip 16,22 КБ
Материалы по теме
Оставить комментарий
//////////////// ///////////////
Авторизация
*
*
Генерация пароля