Новая версия генератора отчетов 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 · =-
Еще один полноценный архиватор-разархиватор с полными сорцами. Алгоритм взят из PKZIP, поэтому сжатие повыше, чем у LZW.
»»» Скачать: исходные тексты (98кб)
This utility checks a completeness of anti-virus bases for a very powerful and popular antivirus program - Antiviral Toolkit Pro. This information AVPCHECK gets from the file AVP.set. Also it displays the contents of this file and folder with bases. If AVPCHECK detects superfluous (repeated or old) bases, it will remove them, organize bases and display detailed report. The utility has a nice GUI interface and "hints". AVPCHECK will be especially useful for users who download bases manually.
»»» Скачать: исходные тексты (342кб)
Как узнать размеры TComboBox с показанным выпадающим списком до показа списка?
На событии FormShow пошлите сообщение CB_SHOWDROPDOWN в ComboBox дважды - один раз чтобы заставить список выпасть, второй - чтобы убрать его. Затем пошлите сообщение CB_GETDROPPEDCONTROLRECT, передав в качестве параметра адрес TRect. TRect будет содержать экранные кординаты прямоугольника описывающего ComboBox вместе с выпавшим списком. Затем Вы можете вызвать ScreenToClient чтобы преобразовать экранные кординаты в координаты клиентской области окна. Пример:
var R : TRect; procedure TForm1.FormShow(Sender: TObject); var T : TPoint; begin SendMessage(ComboBox1.Handle, CB_SHOWDROPDOWN, 1, 0); SendMessage(ComboBox1.Handle, CB_SHOWDROPDOWN, 0, 0); SendMessage(ComboBox1.Handle, CB_GETDROPPEDCONTROLRECT, 0, LongInt(@r)); t := ScreenToClient(Point(r.Left, r.Top)); r.Left := t.x; r.Top := t.y; t := ScreenToClient(Point(r.Right, r.Bottom)); r.Right := t.x; r.Bottom := t.y; end;
procedure TForm1.Button1Click(Sender: TObject); begin Form1.Canvas.Rectangle(r.Left, r.Top, r.Right, r.Bottom ); end;
Создание апплетов панели управления в Delphi5
Практически любое серьезное приложение требует для своей работы настройки каких-либо параметров. Одним из способов является создание меню пункта "Сервис" в самом приложении. В том случае, если параметры приложения изменяются достаточно редко и/или желательно иметь отдельное приложение для управления настройками, хорошим решением является использование панели управления
Delphi: специальный справочник
В книге содержится обширный справочный материал по основным элементам языка, включающий в себя наиболее употребительные функции, классы и объекты. Последовательно и подробно изложен процесс создания баз данных, Windows-приложений и динамических библиотек. Приложения с описанием различных кодов ошибок выполнения программ делает книгу полезной не только начинающим программистам, но и пользователям, активно работающим с Delphi
Автор: Б. Карпов
Давно витающая в воздухе нашего сайта идея создания журнала, посвященного всеми нами любимой среде разработки Delphi, похоже, обретает зримую форму. Несомненно, ваше мнение о необходимости такого журнала, содержании рубрик и темах отдельных статей поможет сделать журнал более полезным и интересным. Высказать свое мнение, проголосовать или же подписаться вы можете на сайте. Без вашего участия, нам будет трудно сделать правильный журнал!
Для души
Хокку дня
Ветер листву пролистал на дороге, Быстро умчался… А снег прочитал.
Афоризмы
"Декольте - это еще одна форма сохранения материи." (Тамара Клейман)
Фраза дня
Красивая ложь? Внимание! Это уже творчество.
И на закуску коротенький анекдот
В Интернет-клуб врывается взъерошенный парень с пистолетом: - Это ограбление! 10 часов Интернета, быстро!