Версия для печати


Модуль для печати таблиц TStringGrid
http://www.delphikingdom.com/asp/viewitem.asp?catalogID=672

Александр Терехов
дата публикации 02-10-2002 16:51

Модуль для печати таблиц TStringGridКак-то потребовалось напечатать таблицу StringGrid. Написал простенький алгоритм.
Может кому-то будет полезен.
  1. Добавляем к своему проекту модуль PrnGridUnit.
  2. Вызываем процедуру PrintGrid.
  3. Наслаждаемся.
Для того, чтобы понять как все работает, смотри исходный код, нижеприведенную схему и прилагаемый пример печати.

Из модуля PrintGrid:

//процедура печати StringGrid
Var
		//отступы (поля) сверху и слева страницы
	LeftMarg,TopMarg:Integer;
		//переменная для хранения значения отступа сверху от страницы для текущей
	//строки (в пикселях)
	CurrLine,
		//переменная для хранения значения отступа слева от страницы длч положения левой
	//границы текущей ячейки (в пикселях)
	LeftBorder,
		//тоже для правой границы текущей ячейки
	RightBorder,
		//переменная для хранения значения отступа сверху от страницы для положения верхней
	//границы текущей ячейки (в пикселях)
	TopBorder,
		//тоже для нижней границы текущей ячейки
	BottomBorder,
		//текущая строка таблицы
	Row,
		//текущий столбец таблицы
	Col:Integer;
		//отступ текста от левой границы ячеки
	LeftOffset:Integer;
		//счетчик страниц
	PageCount:Integer;
		//флаг конца страницы
	PageEnded:Boolean;
		//позиция для печати номеров страниц
	PageCountPrnPos:Integer;
		//диалог принтера
	PrintDialog:TPrintDialog;

Другие небольшие статьи, примеры и программы можете найти на сайта автора


Дополнение от 01 марта 2004г.
Нашёл в сокровищнице компонент Александра Терехова для печати ТStringGrid. Для моей задачи нужно было перед таблицей вывести ещё некоторые строки, но всё никак не удавалось. Поэтому я немного изменил этот модуль и посылаю вам может кому-то ещё пригодится.


К материалу прилагаются файлы: