Новая версия генератора отчетов PReport Основное: - полная реализация CrossTab возможностей, любая секция(Band) может быть напечатана вертикально, к примеру на каждой странице может быть напечатан вертикальный заголовок, поддерживается вертикальная группировка, размеры вертикальных секций могут динамически изменятся и т.д. - для любого объекта может быть задано множество вариантов отображения, в зависимости от каких-либо условий, например если значение больше среднего по отчету то оно может быть как-то выделено, цветом, шрифтом и т.д., в качестве примера можно посмотреть отчет "Группы и выделение". - размеры объектов могут динамически изменятся, например можно сделать чтобы размер секции автоматически увеличивался или уменьшался в зависимости от размеров содержащихся в ней объектов, сами объекты могут изменять свои размеры и положение относительно друг друга. В качестве примера можно посмотреть отчет "Несколько колонок". - поддерживается такой режим работы, при котором можно задать, что заголовок группы должен быть выведен обязательно с данными в этой группе, чтобы не было таких ситуаций, при которых в конце страницы оказывается только заголовок группы, а сами данные переносятся на следующую. - все агрегатные значения, итог по группе, по всему отчету могут использоваться в любом месте, где их значение может быть показано, так например итог по группе может быть показан не только в подвале группы но и в ее заголовке, в секции данных, к которой привязана данная группа, но этот итог, разумеется не может быть показан в заголовке отчета итог по отчету может быть показан где угодно. - поддерживаются вложенные группы, без ограничения на количество вложений, также поддерживается механизм Detail-SubDetail-SubSubDetail, количество таких вложений также неограничено, каждая секцмя данных может содержать неограниченное количество дочерних секций. - колонки могут идти не только сверху-вниз и слева-направо, но и слева-направо и сверху вниз, пример такого использования показан в отчета!
х "Many columns (real hard sample)", "Many columns (real hard sample) variant 2", "Many columns (real hard sample) variant 3". - поддерживаются "виртуальные" наборы данных (TprDataset). Причем что удобно секция данных может быть привязана не только к компоненту типа TprDataset, но и Tdataset, т.е. не нужны компоненты посредники, например как TppBDEDatasourse в ReportBuilder.
TpReport
- вся генерация отчета идет без EMF, честно говоря у меня с ним (EMF) не было никаких проблем, но из переписки с разными людьми я понял, что при печати на некоторых принтерах (насколько я понял довольно редких и экзотичных) происходят разные глюки, например подготовка страницы занимает по 2-3 минуты. Кроме того не знаю, пробовал кто-нибудь печатать например на FastReport отчеты где-нибудь за 300 страниц, этот EMF требует очень много памяти (если форма достаточно сложная, например карточка основных средств). - на мой взгляд очень хорошо сделано Preview, если кто видел первую версию PReport, так вот говорю сейчас с поиском нет никаких глюков, отображается процесс поиска, такой очаровательный ProgressBar.
TprTxReport
- Имеетя полноценный Designer, такой же как и у TprReport. - Имеется возможность применять различные стили для выделения текста (которые поддерживаются принтерами, подчеркивание, курсив и тому подобное) - Полностью поддерживается псевдографика
Автор: Alexhttp://preport.narod.ru/ -= · VCL · =-
Как узнать, пуст ли буфер стандартного ввода?
»»» Salavata (19.07.00 19:33) Моя консольная программа вызывается другой (чужой, готовой) программой и получает от нее команды через обычный текстовый ввод (read или readln). То есть они связаны через pipe. Чтобы узнать, есть ли для нее команда, ей надо сделать readln(prikaz) и ждать. Нет ли в Delphi способа узнать, пуст ли буфер ввода, не останавливаясь?
»»» Шевелев Дмитрий - maestro@bashneft.ru (21.07.00 12:50) Сам не пробовал, но первое, что приходит в голову, это проверка файла стандартного ввода (Input) на конец файла
»»» Salavata (24.07.00 16:36) Спасибо за идею. Попробовал. Увы, если на входе ничего нет, то функция eof(input) останавливается и ждет, пока что-то введут. Нет ли еще идей?
Функции для парсинга строк
Здесь представлен модуль, в котором я разместил много методов для обработки строк. Эта статья может быть полезна в качестве наглядного примера разработки задач подобного рода.
Delphi 6 в подлиннике
Delphi 6 - новая версия популярной системы быстрой разработки приложений. В книге описываются инструментальные средства среды Delphi 6, приводятся основы языка программирования Object Pascal и рассматриваются компоненты, свойства, методы и события, необходимые для разработки широкого спектра программ. Особое внимание уделяется работе с базами данных. Показывается использование как локальных, так и удаленных баз данных, включая создание многоуровневых информационных систем и публикацию результатов запросов через Интернет. Благодаря большому количеству затронутых тем, подробному изложению и многочисленным примерам книга будет полезна как начинающим, так и опытным программистам.
Автор: Гофман В.
AllWare Softgroup Официальный сайт AllWare Softgroup, которая занимается разработкой игр и программного обеспечения + интересные статьи, исходники и FAQ'и.
Опрос населения :)
Готовится к выпуску журнал "Мастера DELPHI". За какую сумму вы готовы его покупать?
Давно витающая в воздухе нашего сайта идея создания журнала, посвященного всеми нами любимой среде разработки Delphi, похоже, обретает зримую форму. Несомненно, ваше мнение о необходимости такого журнала, содержании рубрик и темах отдельных статей поможет сделать журнал более полезным и интересным. Высказать свое мнение, проголосовать или же подписаться вы можете на сайте. Без вашего участия, нам будет трудно сделать правильный журнал!
Для души
Хокку дня
О чем пишешь крылышком На стекле, Прилетевшая ласточка?
Афоризмы
"Мужская независимость: отдал зарплату - свободен." (Тамара Клейман)
Фраза дня
"Сексуальная революция - это когда штурмом берут почтальоншу, телефонистку и телеграфистку." //Александр Садовский
И на закуску коротенький анекдот
Мужик заходит в парикмахерскую: - Я хочу побриться только с одной стороны. Это должно стоить полцены. Логично? - Давай, фиг с тобой! Садись. Ну и какую сторону будем брить? - Наружную!