Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.05.30;
Скачать: CL | DM;

Вниз

Хитрая распечатка   Найти похожие ветки 

 
BelAS ©   (2004-05-17 12:30) [0]

Есть файл 1.txt. Внем соответственно информация. К примеру Фамилия человека и дальше его данные.
Так вот если распечатывать это все, а таких фамилий около 800 ну и страниц где-то 250, необходимо чтобы информация о человеке по страницам не разрывалась. То есть на листе может быть распечатано 2, может 3, может 4, а может и один человек.
Так вот хочу сделать прогу, чтобы она из этого файла инфу брала, обрабатывала и по листам формировала, так чтобы если к примеру на листе помещается 2 человека, а информация о третьем влязит не полностью, то третий человек переносился бы на следующую страницу.

Кто нить подскажите, как это все сделать то! А то что-то мои извилины не справляются с этой задачей!


 
belas ©   (2004-05-17 13:16) [1]

Может QReport использовать. Тока я этого компонента тоже не знаю! :)))))))))))


 
WebErr ©   (2004-05-17 13:25) [2]

Пусть в файле будет некий набор символов (например ###) - разделитель, для того, чтобы программа могла различить, когда инфа об одном человеке закончилась и началась инфа о другом.
Каждый раз считываешь блок символов между соседними разделителями (###) и смотришь, влезает на страницу эта хрень или нет, если нет, то кидаешь это на следующую страницу.
Разумеется размер любой инфы должен занимать больше чем размер страницы.
Термин страница здесь лучше заменить на TMemo. :)


 
belas ©   (2004-05-18 03:06) [3]

Теоретически то так оно и есть.Это первое что в голову приходит.:)
Считывание между символов происходит последовательно да еще и в цикле while not EOF do. Каждый раз строка считывается, и её уже никуда не поместищь, как только сразу не принтер. А если блок не влазит, то позняк метаться будет, команда Printers.TextOut уже выполнилась.! :))

В этом и вопрос как осуществить проверку, чтобы не потерять записи?

ЗЫ. А может я просто не догоняю.Покажите примером.


 
belas ©   (2004-05-18 05:10) [4]

Ну что, нету чтоли среди мастеров Мастера.
Что делать то?


 
ЮЮ ©   (2004-05-18 07:29) [5]

>Каждый раз строка считывается, и её уже никуда не поместищь, как только сразу не принтер

А что, считать сначала в память религия не позволяет?


 
belas ©   (2004-05-18 10:33) [6]

Так как это сделать, чтобы форматирование сохранить, да к томуже колличество строк не известно заранее, колличество записей заранее тоже не известно!?


 
Erik ©   (2004-05-18 11:23) [7]

Насколько я помню в FastReport есть такой флаг неразрывать. Он делает как раз то, что нам нужно. Так, что советую сделать отчет и успокоется.



Страницы: 1 вся ветка

Текущий архив: 2004.05.30;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.045 c
14-1084368392
a3a3ello
2004-05-12 17:26
2004.05.30
delphi и XP


14-1084447579
Knight
2004-05-13 15:26
2004.05.30
Старые песни о главном... о высокие технологии и тех кто рядом.


3-1084352372
chtr
2004-05-12 12:59
2004.05.30
Как разом вставить все записи из одного TADOQuery в другой


3-1083531896
Dakis
2004-05-03 01:04
2004.05.30
Отчёты из MS Access


3-1084107988
Execute
2004-05-09 17:06
2004.05.30
Как поменять цвет выделения в DBGrid?