Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.05.30;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.029 c
1-1084998199
zep
2004-05-20 00:23
2004.05.30
преобразование типов


8-1080052987
Pa5ha
2004-03-23 17:43
2004.05.30
Сохранение изображения на холсте в Direct3D


8-1079292951
Mixvictor
2004-03-14 22:35
2004.05.30
Пожирание памяти


3-1083217697
lightix
2004-04-29 09:48
2004.05.30
Проблемы с ADO + Oracle


14-1084354990
xman
2004-05-12 13:43
2004.05.30
Ассемблер





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский