Главная страница
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.038 c
7-1082498725
Demi
2004-04-21 02:05
2004.05.30
Как вырубить прогу, если её нет в Диспетчере задач.


14-1084006487
uny
2004-05-08 12:54
2004.05.30
По другому теперь?


1-1084786460
Awod
2004-05-17 13:34
2004.05.30
Иконка приложения в WIN9X


14-1084038401
проходил мимо
2004-05-08 21:46
2004.05.30
Delphi 8


1-1084961468
saysu
2004-05-19 14:11
2004.05.30
Как в делфи писать на казахском языке?