델파이/Components

QuickReport

지병철 2007. 3. 21. 11:27

1.  소개


1.1.  이 문서에 관하여


이 문서는 델파이용 16비트 및 32비트 버전의 퀵리포트 모두를 설명합니다. 퀵리포트와 이 문서에 설명된 기능들을 사용하는 것은 전적으로 당신의 책임입니다. 퀵리포트 및 이 문서 혹은 관련된 주제에 관하여 어떠한 질문이 있다면 QSD에 연락하십시오.


1.2.  퀵리포트(QuickReport)에 관하여


델파이용 퀵리포트를 사용하게되신 것을 환영합니다. 퀵리포트는 매우 집중된 비주얼리포팅 도구로 설계되었으며 또한 리포트에 대한 훌륭한 코드 조절을 제공하여 줍니다. 여기에 일부 퀵리포트의 기능들을 나열합니다:


◇ 리포트 디자인 환경으로 델파이 폼 설계사를 사용한 밴드 리포트 생성기(Banded report generator)

◇ 완성된 리포트에 대한 막강한 콘트롤을 하게 해주는 이벤트 처리기(Event handlers)를 리포트 생성 과정 중의 어느 부분에도 실제적으로 부착할 수 있습니다.

◇ 강력한 화면 미리보기 기능, 고유의 미리보기 형식을 쉽게 만들 수 있는 미리보기 컴포넌트를 포함하고 있습니다. 리포트는 델파이 IDE내에서부터로 미리보기가 가능합니다.

◇ 테이블과 퀘리로부터 리포트 생성, 배열, 리스트, 텍스트 파일 혹은 상상할 수 있는 어떠한 소스로부터도 가능

◇ 무제한 레벨의 강력한 마스터/디테일 함수와 동일한 레벨의 무제한 디테일 테이블

◇ 메일링 라벨 및 다중컬럼 리포트 생성

◇ 썸네일(thumbnail)의 자동인쇄

◇ 라벨, 데이터베이스필드, 계산, 메모필드, 그림, 아이콘 및 모양의 인쇄

◇ BDE없는 PC에서 작동할 수 있는 어떠한 데이터지향없이 작업하도록 컴파일될 수가 있습니다.

◇ 윈도우즈의 어떠한 폰트, 크기, 스타일, 색상도 사용할 수 있습니다.

◇ 완성된 리포트는 나중에 다시 보거나 인쇄를 할 수 있도록 파일로 저장할 수가 있습니다.

◇ 리포트의 가로 혹은 세로 인쇄

◇ 사용자정의 용지크기를 지원합니다.

◇ 모든 메쏘드, 프로퍼티 및 이벤트를 설명하는 온라인 도움말 파일제공


1.3.  라이센스 및 등록(Licensing and Registration)


1.3.1.  델파이 2.0용 32비트 퀵리포트 1.0d


델파이 2.0에는 퀵리포트 1.0 32비트 버전이 모두 포함되어 있습니다. 델파이 2.0에 포함된 버전을 사용하는데에는 아무런 등록절차도 필요없습니다. 델파이 2.0의 사용자라면 퀵리포트 1.0d의 32비트 버전은 자유로 사용할 수가 있습니다.


1.3.2.  32비트 퀵리포트소스코드 및 윈도우 3.1용 퀵리포트


퀵리포트에 대한 완전한 소스코드는 QSD AS로부터 바로 이용가능합니다. 단일 구매의 경우 미화 79달러로 완전한 소스코드와 윈도우즈3.1용 퀵리포트를 구할 수가 있습니다. 이 문서의 마지막 쪽에 있는 주문등록서를 이용하십시오.


1.4.  저작권 및 배포(Copyright and Distribution)


QuickReport는 QSD AS (QuickSoft Development AS)에 의하여 저작권이 있습니다. QSD는 인터넷주소  http://www.qsd.no로 혹은 팩스로 +47 22 41 64 91 혹은 다음의 우편주소로 연락이 될 수 있습니다.

QSD AS, R`adhusgt. 9, N-0151 Oslo, Norway


퀵리포트의 가장 최신버전은 우리의 ftp사이트인 ftp.qsd.no로부터 다운받을 수 있습니다. /pub/qsd디렉토리로 가십시오. 우리의 웹 페이지에는 도한 가장 최신 버전에 대한 포인터를 찾을 수가 있을 것입니다.


퀵리포트의 사용에 대한 책임은 전적으로 당신에게 있습니다. 어떠한 경우에건 퀵리포트를 사용하거나 배포에 의해서 야기되는 손실 혹은 손상에 대해서도 책임을지지 않습니다.


1.5.  기술지원 받기(Getting Technical Support)


델파이 2.0에 포함된 32비트 퀵리포트의 사용자들은 볼란드기술지원을 통하여 퀵리포트 지원을 받을 수가 있을 것입니다.


QSD로부터 16비트버전/소스코드를 구매한 사용자들은 이메일을 통하여 기술지원을 받게 될 것입니다. 의문사항은 support@qsd.no로 보내십시오. 등록의 량에 따라서 기술지원전담 전화라인을 설치할 예정이지만 아직 자세한 계획은 수립되지 않았습니다. 우리의 웹 사이트를 통하여 공고될 것입니다.


2.  퀵리포트의 사용법(Using QuickReport)


2.1.  시작하기(Getting Started)


퀵리포트는 빠르고 쉽고, 원천적인 델파이용 컴포넌트 리포팅 해결책입니다. 퀵리포트의 사용법의 이해를 돕기 위하여 델파이는 오브젝트 저장소(Object Repository)에 템플릿을 가지고 있으며 퀵리포트가 설치된 Delphi 2.0/Demo/Quickrpt디렉토리에 완전한 샘플 리포팅 어플리케이션을 포함하고 있습니다.


2.1.1.  델파이 1.0에서 퀵리포트의 설치


델파이 내에서 퀵리포트를 설치하려면 다음 단계를 따르십시오:


◆ 델파이 디렉토리 아래에 QUICKRPT디렉토리를 만드십시오.(C:\DELPHI=QUICKRPT)

◆ 그 디렉토리에 퀵리포트 ZIP파일을 풀어주십시오.

◆ 델파이를 시작하십시오.

   ◆ Options | Install Components를 선택하십시오.

◆ Add를 클릭하십시오.

   ◆ 퀵리포트 경로명 다음에 QUICKREP.DCU를 입력하십시오.

        (C:\DELPHI\QUICKRPT\QUICKREP.DCU)

◆ OK를 클릭하십시오.

◆ 다시한번 OK를 누르십시오.


델파이는 라이브러리를 재구성하고 컴포넌트 팔렛트에 퀵리포트 페이지를 추가할 것입니다.

만약 문제가 발생한다면 델파이 온라인 도움말의 라이브러리로부터 컴포넌트를 추가하고 제거하는데 대한 도움말을 참고하십시오.


2.1.2.  델파이1.0에서 리포트 템플릿 설치


퀵리포트에는 3개의 리포트 템플릿이 포함되어 있습니다.


QRLabels      기본 우편라벨 템플릿

QRList         쪽머리말과 꼬리말을 갖는 간단한 리스트 템플릿

QRMD         QRDetailLink컴포넌트를 사용한 마스터/디테일 템플릿



리포트의 생성속도를 높이기 위한 의도로 리포트 템플릿을 설치하려면 다음의 안내를 따라하시기 바랍니다.


* 폼 디자이너(FD)에서 QELABEL.PAS파일을 여십시오.

* Options | Gallery를 선택하십시오.

* Form Templates탭을 선택하십시오.

* QuickReport Labels를 입력하십시오.

* Browse를 누르십시오.

* QRLABELS.BMP파일을 찾고 OK를 누르십시오.

* OK를 누르십시오.

* QRLIST.PAS에 대해서는 QuickReport List로 QRMD에 대해서는 QuickReport MasterDetail로 입력하여 앞의 단계를 반복하십시오.


폼 갤러리 안에는 이제 3개의 퀵리포트 템플릿이 있을 것이며 새로운 리포트를 만들기 위한 시작점으로 사용할 수 있을 것입니다.


2.1.3.  퀵리포트 템플릿과 델파이 2.0 오브젝트 저장소


델파이 2.0에서는 오브젝트저장소(OR)의 Forms페이지 상에서 3개의 레포트 템플릿을 발견할 수 있을 것입니다:


QuickReport Mailing Labels               기본 우편라벨 템플릿

QuickReport List                 쪽머리말과 꼬리말을 갖는 간단한 리스트 템플릿

QuickReport Master/detail         QRDetailLink컴포넌트를 사용한 마스터/디테일 템플릿

템플릿의 조정에 대한 안내는 템플릿 중 어느 하나를 만들 때 자동으로 생성되는 소스코드 안에 포함되게 됩니다.


2.2.  퀵리포트 샘플 어플리케이션


퀵리포트에는 자신만의 고유 리포트를 시작할 수 있게 해주는 샘플어플리케이션이 포함되어 있습니다. 이 데모 프로그램을 사용하려면:


◆ 델파이 샘플 테이블(DBDEMOS앨리아스)를 설치하십시오.

◆ DELPHI 2.0\DEMOS\QUICKRPT 혹은 DELPHI\QUICKRPT디렉토리로 이동하십시오.

◆ DEMO.DPR프로젝트를 열고 실행시키십시오.


이 프로그램 안에는 5개의 레포트와 샘플 사용자정의 미리보기 폼이 있습니다. 이들 각각은 일부 기초적인 퀵리포트 기능들을 보여주고 있습니다. 메인 폼 자체는 인쇄와 미리보기에서 어떻게 리포트를 호출하는지를 보여주는 것입니다. 또한 어플리케이션에 일반적인 사용을 위하여 사용자 미리보기를 연결하는 방법도 보여줍니다.


Simple Report 제목부(title band), 행제목(column header), 본문부(detail band)와 쪽번호를 갖는 쪽꼬리말

(page footer)로 구성된 기본적인 리포트 생성법을 보여줍니다. 또한 QRGroup컴포넌트와

QRGroup.OnNeedData 이벤트로 간단히 그룹화하고 이벤트 처리하는 것을 보여줍니다.


Memos and Pictures 이 리포트는 리포트에 이미지와 메모필드를 삽입하는 법을 보여줍니다.


Master Detail Report QRDetailLink컴포넌트는 마스터 디테일 리포트를 만들고자할 때 강력한 도움자가 됩니다. 이 리포트에는 4개 테이블의 총계를 담고 있으며 또한 고아부분(orphan band)을 처리하는 법을 보여줍니다.


Mailing Labels 이 리포트는 우편라벨 리포트를 만드는 법을 보여주며 오버레이부분(overlay band)의 사용을 보여줍니다.


Text File Lister 퀵리포트의 강력한 기능 중의 하나는 TTable과 TQuery외의 다른 데이터소스로부터 리포트를 만들 수 있다는 것입니다. 텍스트 파일로부터  QuickReport.OnNeedData이벤트를 사용하여 라인을 읽어들이는 것이 텍스트 파일 리스터입니다. 이 리포트는 한 페이지에 많은 정보를 보여주기 위하여 작은 텍스트로 두 개 행으로 표시하여 주기 때문에 소스코드 리스터로 유용하게 사용할 수 있을 것입니다.


Custom Preview form QRPreview컴포넌트를 사용하여 어플리케이션의 외관과 느낌을 완전히 미리보기 할 수 있도록 해주는 것입니다. 이 폼은 매우 간단하지만 자신 고유의 미리보기 폼의 시작점으로 사용할 수 있습니다.


2.3.  퀵리포트 기본(QuickReport Basics)


퀵리포트를 사용할 때에 모든 리포트들은 델파이 폼 설계사를 사용하는 델파이 폼으로 설계됩니다. 진보된 사용자들은 또한 프로그램적으로 폼과 레포트를 만들 수 있지만 이 문서에서는 다루지 않습니다.


퀵리포트는 밴드(band) 리포트 생성기입니다. 이것은 리포트의 다른 부분으로서 델파이 TPanel의 특별한 형태인 QRBands를 사용하여 리포트를 만든다는 것을 의미합니다. 하나의 리포트는 다른 타입의 여러개의 밴드를 가질 수가 있습니다:


◆ 가장 중요한 밴드로는 본문부(Detail Band), 쪽머리말(Page header band), 꼬리말(Page footer band) 및 제목부(Title band)입니다. 그룹머리말(Group headers)과 꼬리말(Footers), 부본문대(Subdetail band)는 다른 컴포넌트와 조합하여 작동합니다.


모든 밴드 타입에 대한 완전한 설명을 보려면 컴포넌트 참조안내 장의 TQRBand를 보시기 바랍니다.


2.3.1.  간단한 리포트 만들기(Creating a very simple report)


만들 수 있는 가장 간단한 리포트는 다음의 컴포넌트들을 갖는 폼입니다:

◆ BandType가 rbTitle로 설정된 TQRBand

◆ TQuickReport컴포넌트

◆ QRBand상의 QRLabel. Caption프로퍼티에 어떤 텍스트를 입력

◆ From.Font를 Arial 혹은 다른 트루타입폰트로 설정

이제 TQuickReport컴포넌트를 우측클릭하고 메뉴로부터 Preview를 선택할 수가 있습니다. 작은 QRLabel을 제외한 빈 페이지가 나타나게 될 것입니다.


리포트를 좀 더 재미있게 하려면 다음을 따라 하십시오:

◆ QRBand.BandType 프로퍼티를 rbDetail로 바꾸십시오.

◆ 폼에 TTable컴포넌트를 추가하십시오. DataBase프로퍼티를 DBDemos로 설정하고 TableName을

   Customers로 설정하십시오. Active를 True로 설정하십시오.

◆ TDataSource컴포넌트 추가, DataSet프로퍼티를 추가한 TTable을 가리키도록 설정.

◆ QuickReport.DataSource프로퍼티를 새로 추가한 DataSource를 가리키도록 설정하십시오.

◆ QRBand에 QRDBText컴포넌트를 추가하십시오. DataSource프로퍼티를 올바른 값으로 설정하고

   DataField프로퍼티를 위한 필드를 선택하십시오.

이제 QuickReport컴포넌트를 우측클릭하고 다시 Preview를 선택하십시오. 이제 막 첫 번째 QuickReport를 사용한 데이터 지향 레포트를 끝낸 것입니다.


2.3.2.  리포트 표시의 조절(Customizing Report Display)


이제 우리는 제목, 행제목, 본문 및 꼬리말을 갖는 리포트를 만들고자 합니다. 열려진 리포트가 있다면 모두 닫아주시고 새로운 폼을 만드십시오.

◆ 새로운 폼을 만드십시오.

◆ 폼의 폰트를 Arial로 설정하십시오.

◆ 레포트에 위의 4가지 밴드를 두십시오.(TB, CH, DB, PF)

◆ 밴드 타입을 차례로 rbTitle, rbColumnHeading, rbDetail 및 rbPageFooter로 설정하십시오.

◆ 폼에다 TTable컴포넌트를 두고, DataBase를 DBDemos로 설정하고 TableName을 Customer로 그리고

   Active를 True로 설정하십시오.

◆ 폼에 TDataSource를 두고 DataSet프로퍼티를 Table1으로 설정하십시오.

◆ 폼에 TQuickReport컴포넌트를 두고 DataSource프로퍼티를 DataSource1으로 설정하십시오.

◆ 아래에 보이는 바와 같이 제목과 행제목밴드에 TQRLabels를 두십시오.

◆ 본문부(DB)에 3개의 QRDBText컴포넌트를 두십시오. 이들의 DataSource프로퍼티를 DataSource1으로

   DataField프로퍼티를 Company, Phone 및 Fax로 설정하십시오.

◆ 꼬리말(PF)에 QRSysData를 두십시오. Data프로퍼티를 qrcPageNumber로 설정하십시오. Text프로퍼티를

   Page:로 설정하십시오.

◆ 이제 리포트는 대략 다음과 같이 보이게 될 것입니다.

다시 QuickReport컴포넌트를 우측클릭하고 Preview를 선택해 보십시오.


2.3.3.  마스터 디테일 리포트 만들기(Creating a Master Detail Report)


이제 우리는 이 리포트를 마스터 디테일 리포트로 바꾸어서 각 고객에 대한 모든 주문을 보이도록 할 것입니다.


◆ TTable을 추가하고 Database프로퍼티를 DBDemos로 설정하고 TableName을 Orders로 Active를 True설정하십시오. MasterSource를 DataSource1으로 설정하고 MasterField 프로퍼티를 틀릭해서 마스터/디테일 관계를 만들기 위한 대화상자가 나타나게 하십시오. index콤보박스를 클릭하고 CustNo를 선택한 후 두 리스트 박스의 CustNo를 클릭하고 Add를 클릭하십시오. OK를 클릭하십시오.

◆ TDataSource를 추가하고 Dataset프로퍼티를 Table2(새로운 테이블)로 설정하십시오.

◆ 새로운 QRBand를 리포트에 추가하십시오.

◆ QRDetailLink컴포넌트를 추가하십시오. DataSource프로퍼티를 DataSource2(새로운 것)로 설정하십시오. Master프로퍼티를 QuickReport1으로 DatailBand를 QRBand5(새로운 밴드)로 설정하십시오. 이 밴드의 BandType 프로퍼티는 자동적으로 rbSubDetail로 설정될 것입니다.

◆ 두 개의 QRDBText컴포넌트를 새로운 밴드위에 두고, 둘 다 DataSource2에 연결한 후 OrderNo와 AmountPaid에 연결하십시오. Alignment프로퍼티를 alRightJustify로 설정하십시오.

◆ QuickReport컴포넌트를 우측클릭하고 Preview를 선택하십시오.


완성된 마스터 디테일 폼입니다.


2.3.4.  단일 레코드 리포트의 인쇄(Printing single record reports)


QuickReport컴포넌트가 연결된 DataSource를 가지고 있지 않을 때 이것은 하나의 디테일 밴드만을 특히 하나의 레코드만을 리스트하는 레포트를 만들어주게 될 것입니다. 이것은 델파이 2.0의 Data Module을 사용하여 현재의 레코드를 쉽게 인쇄할 수 있게 해주는 것입니다.


2.3.5.  비 BDE데이터 소스로부터 레포트 만들기


퀵리포트는 실제적으로 어떠한 타입의 데이터로부터건 리포트를 만들어 낼 수가 있습니다. DataSource를 설정하지 않고 대신 onNeedData이벤트 처리기를 만듦으로써, QRLabel컴포넌트에 넣어준 어떠한 데이터건 퀵리포트가 인쇄할 수 있게 할 수 있습니다. QuickReport와 QRDetailLink컴포넌트 둘 다 onNeedData이벤트를 가지고 있으므로 일부부분(마스터 정보)은 테이블로부터, 또 다른 일부 정보(디테일 정보같은 것)는 QRDetailLink.OnNeedData이벤트를 사용하여 다른 소스로부터 리포트를 만들 수가 있는 것입니다.

OnNeedData이벤트를 사용하는 법에 대한 완전한 보기는 데모 프로그램 중에 있는 Text File Lister를 참고하시기 바랍니다. 이것은 파일을 줄 단위로 읽어서 리포트에 공급함으로써 퀵리포트로 텍스트 파일을 출력하는 것을 보여줄 것입니다.


2.3.6.  사용자 정의 미리보기 폼 만들기(Creating a Custom Preview Form)


인쇄 미리보기는 어떠한 어플리케이션에서건 필수적인 것입니다. 자동적으로 모든 기능을 갖춘 미리보기 폼을 제공할 뿐만 아니라 퀵리포트는 자신만의 미리보기 폼을 쉽게 만들 수 있게 해줍니다 QRPreview컴포넌트는 실제 페이지를 표시하는 모든 작업을 하는데 완전히 콘트롤 할 수 있도록 PageNumber 및 Zoom과 같은 프로퍼티들을 제공해줍니다.


사용자정의 미리보기 폼을 만드는 데에는 기본적으로 두가지 단계가 필요합니다. 첫 번째는 QRPreview컴포넌트와 아마도 페이지를 이동하고, 확대/축소하고 인쇄하는 등 원하는 것을 하는 몇가지 버튼을 사용하여 실제로 폼을 만드는 것입니다.

두 번째 단계는 이 폼을 QuickReport에 걸어주는 것입니다. 이것은 QRPrinter.OnPreview이벤트에 대한 이벤트 처리기를 작성함으로써 수행됩니다. 처음에는 이것이 QuickReport컴포넌트 내의 이벤트가 아니라는 것이 이상하겠지만 당신의 폼 내에 모든 미리보기 폼을 모든 레포트에 연결할 것을 필요로 합니다.  QRPrinter오브젝트내에 이 이벤트를 두는 것은 통상 이 이벤트 처리기를 부착하는 한 줄의 코드를 작성해야함을 의미하는 것이며 어플리케이션의 모든 리포트에서 활성이 되게 될 것입니다. 전형적인 QRPrinter.OnPreview이벤트에 대한 이벤트처리기는 다음과 같을 것입니다:


procedure TMyMainForm.OnPreview;

begin

   PreviewForm.ShowModal;

end;


그리고 이 미리보기 폼을 QRPrinter오브젝트에 부착하는데 사용하게될 코드는 MyMainForm.OnCreate이벤트에 둘 수 있으며 다음과 같을 것입니다:


QRPrinter.OnPreview:=OnPreview;


이제 당신의 미리보기 폼은 미리보기 메쏘드를 호출할 때 언제건 사용될 수 있게 될 것입니다.

미리보기 폼과 연결방법에 대한 완전한 보기는 퀵리포트 데모 프로그램을 참고하시기 바랍니다.


2.3.7.  이미지의 인쇄(Printing Images)


퀵리포트는 자체로는 이미지 컴포넌트를 가지고 있지 않습니다. 대신 리포트에 위치한 어떠한 표준 TImage 혹은 TDBImage컴포넌트도 해석할 수 있으며 그것을 인쇄할 것입니다.  16비트 퀵리포트로 메타파일 이미지를 인쇄하려면 이 메타파일이 placeable metafile이어야 함을 명심하십시오. 메타파일을 placeable metafile로 변환하는 프로그램은 http://www.qsd.no와 콤퓨서브에서 찾을 수 있을 것입니다.

2.4.  퀵리포트 사용할 때의 중요한 문제


2.4.1.  리포트 디자인할 때의 작은(small) 폰트 및 큰(large) 폰트의 사용


퀵리포트로 리포트를 설계할 때에는 윈도우즈 폰트 크기를 작은(small)폰트로 항상 설정해 주십시오. 만약 리포트가 큰(large) 폰트를 사용하여 설계되면 글로벌 qrOrgRes변수를 120(120픽셀/인치)으로 설정해주어야 합니다. 퀵리포트는 이 경우 리포트가 인쇄될 때 해상도 혹은 폰트크기에 관계없이 모든 콘트롤의 칫수를 계산해내게 될 것입니다.


2.4.2.  디자인할 때의 미리보기에 대한 제약사항


디자인 할 때의 미리보기 동안에는 퀵리포트는 당신이 만들어낸 이벤트 처리기들을 호출할 수가 없습니다.

이것은 디자인 동안에 데이터셋트가 이용가능하고 리포트 작업에 이벤트가 그렇게 중요하지 않은 설계 중의 리포트미리보기를 제약하는 것입니다.


2.4.3.  QuickReport 와 DataSources


QuickReport는 리포트를 만드는 작업을 끝낸 후에 현재의 레코드를 검색(retrieve)할 수 없을 것입니다. 만약 데이터소스가 검색되게 하려면 수동으로 해주어야 합니다.

또한, 리포트를 가동시킬 때에 보일 수 있는 폼에 의하여 사용되는 데이터셋트 위에서 퀵리포트를 가동시킨 다면 많은 화면 플래슁이 나타나게 될 것입니다. 당신의 폼 내에 있는 동일한 데이터 셋트에 대한 리포트를 가동시킨다면 리포트를 가동시키기전에 그러한 폼들을 숨겨야 할 것입니다. DisableControls는 작동되지 않게 되는데 그 이유는 데이터지향 QuickReport콘트롤도 불가능하게 하여 리포트 내의 모든 레코드들이 동일한 데이터를 인쇄하게 할 것이기 때문입니다.


2.5.  빈번한 질문 사항에 대한 답변


2.5.1.  데이터 필드의 출력을 어떻게 포맷하는가?


데이터필드의 출력을 포맷하는 것은 두가지 방법으로 할 수가 있습니다. 최상의 방법은 문제의 필드의 DisplayMask프로퍼티를 사용하는 것입니다. TTable 혹은 TQuery컴포넌트를 더블클릭하고 그 필드가 컴포넌트로 추가되었는지를 확인하십시오. 해당 필드컴포넌트를 선택하고 DisplayMask프로퍼티를 설정하십시오.

또한 QRDBText 혹은 QRLebel컴포넌트의 onPrint이벤트를 사용하여 인쇄하기 직전에 그 내용을 포맷할 수도 있습니다. 컴포넌트의 실제 캡션이 아닌 이벤트 처리기에 전달되는 Value인수를 바꾸어주어야 함을 명심하십시오.


2.5.2.  여러개의 레포트를 하나로 묶는 방법은?


TQRDetailLink컴포넌트를 사용하여 여러개의 마스터 테이블을 갖는 리포트들을 만들 수가 있습니다. TQuickReport컴포넌트를 데이터소스에 연결시키지 말고, 대신 두 개 혹은 그 이상의 TQRDetailLink컴포넌트를 만들고 TQuickReport컴포넌트를 이들 모두의 마스터로 설정하십시오. 원하는대로 디테일밴드, 헤더 및 푸터를 연결하십시오. 이들 마스터 테이블에는 어떠한 수의 subDetail밴드도 부착시킬수도 있습니다. 리포트를 준비할 때에는 QuickReport는 마스터테이블이 없음을 발견하게 될 것이며 단지 디테일 테이블들만이 인쇄되게 될 것입니다.


2.5.3.  레코드를 필터하는 방법은?


퀵리포트는 내장된 레코드 필터링 이벤트를 가지고 있어서 레코드를 받아들이거나 거부하는데 사용할 수가 있습니다. TQuickReport와 TQRDetailLink둘 다 onFilter이벤트를 가지고 있으며 이 이벤트 처리기 내에서 현재 레코드의 값을 점검할 수가 있습니다. 현재의 레코드를 거부하게 하려면 PrintRecord인수를 False로 설정하십시오.


2.5.4.  여러개의 밴드가 한 페이지에 나오도록 하려면?


TQRBand컴포넌트는 LinkBand프로퍼티를 가지고 있으며 이 프로퍼티는 여러개의 밴드를 함께 묶이도록 해주는데 사용하는 것입니다. LinkBand프로퍼티는 다른 QRBand에 연결되도록 설정될 수 있으며 그러면 퀵리포트는 양 밴드에 대하여 충분한 페이지 공간이 남아 있지 않으면 페이지 나눔을 하게될 것입니다. 두 번재 밴드가 3번째 밴드로 연결되고.... 등이 가능합니다.


2.5.5.  미리보기 중에 왜 폰트가 잘리거나 잘못된 크기로 보이는가?


퀵리포트는 미리보기와 썸네일 인쇄 중에는 폰트의 스케일은 전적으로 윈도우즈에 의존을 하게 됩니다. 윈도우즈는 모든 폰트를 스케일할 수는 없으며 전형적으로 트루타입 폰트는 제대로 되지만 비트맵 폰트(MS SYSTEM같은)는 어려움이 있습니다. 정확히 스케일된 미리보기 혹은 썸네일 출력을 원한다면 트루타입 혹은 포스트스크립트 폰트를 사용하십시오.


2.5.6.  갑자기 리포트가 리스케일되고 폰트의 크기가 바뀌었습니다.


델파이는 때때로 폼 위의 콘트롤들을 리스케일하는데 전형적으로 화면해상도 혹은 윈도우즈의 폰트크기를 변경하는 경우에 그렇습니다. 리포트 폼의 Scaled프로퍼티가 False로 설정되게 하십시오. 이것은 문제를 최소화할 것입니다. 또한 앞에서 나온 퀵리포트 사용중의 중요한 문제들을 참고하시기 바랍니다.

버전 1.0c부터는 QuickReport컴포넌트를 폼에다 드롭하게 되면 자동적으로 Scaled프로퍼티가 False로 설정됩니다.


2.5.7.  어떠한 특정한 폼에도 맞도록 메일링 라벨의 레이아웃을 바꾸는 방법은?


QuickReport.Columns프로퍼티로 페이지 당 라벨의 수를 선택하십시오. 꼭대기 공간을 변경하기 위하여 페이지 헤더 밴드를 두십시오.

QuickReport.LeftMargin프로퍼티를 사용하여 좌측여백을 변경하고 QuickReport.ColumnMargin을 이용하여 칼럼여백을 조정하십시오. 이들 3가지 방법을 사용함으로써 대부분 필요하게 메일링라벨을 맞출 수가 있을 것입니다.


2.5.8.  HP레이저젯 4 리포트에서 나오는 커다란 검은 영역의 제거방법은?


대신 HP LaserJet III드라이버를 선택해보던가 아니면 갱신된 LaserJet 4드라이버를 구해보십시오.


2.5.9.  리포트 상단에 밴드가 인쇄되면 안되는데 인쇄되는 이유는?


BabdType의 디폴트는 rbTitle입니다. 아마도 올바른 밴드타입으로 바꾸어 주는 것을 깜박한 것 같습니다.


2.5.10.  한 페이지에 하나의 레코드를 출력하는 방법은?


페이지마다 한 레코드를 출력하고자 한다면 디테일 밴드의 ForceNewPage프로퍼티를 True로 설정하십시오.


2.5.11.  모들리스(modless) 사용자정의 미리보기 폼이 작동하지 않는 이유는?


QuickReport.Preview를 호출할 때에, 퀵리포트는 먼저 리포트를 준비한 후에 그것을 표시해주며(modally)  최종적으로 리포트를 메모리로부터 해제합니다. 그러나, 미리보기를 모들리스로 호출하면 동시에 동일한 리포트를 해제하게 되는 것입니다. 그러므로 리포트를 모들리스로 보여주기 위해서는 다른 접근방법이 사용되어야 하는 것입니다. 먼저 Preview 대신에 QuickReport.Prepare를 호출하십시오. 그런 다음에 QRPrinter.Preview를 호출하십시오(QRPrinter.OnPreview이벤트가 미리보기 폼을 호출하는, modless, 이벤트처리기로 설정되었는지 확인하십시오.) 리포트는 이제 메모리에 상주할 것이며 미리보기 폼은 제대로 작동할 것입니다. 다른 리포트를 준비하기전에 QRPrinter.Cleanup을 호출해서 할당된 메모리를 해제하고 새로운 인쇄업무를 받아들일 수 있도록 QRPrinter가 준비되도록 해주어야 합니다.



3.  자신만의 인쇄가능 컴포넌트 작성


만약 포함된 인쇄가능 콘트롤이 당신이 필요한 콘트롤을 담고 있지않다면 고유의 것을 쉽게 만들 수가 있는데 그것은 기본 클래스로 TQRCustomControl을 사용하는 것입니다. 이 클래스는 다음의 클래스 선언을 가집니다:


  TQRCustomControl = class(TCustomLabel)

  private

     FAlignToBand : Boolean;

     FOnPrintEvent : TQRLabelOnPrintEvent;

     FReport : TQuickReport;

     property AlignToBand : Boolean read FAlignToBand write FAlignToBand;

  protected

     property onPrint : TQRLabelOnPrintEvent read FOnPrintEvent Write FOnPrintEvent;

  public

     constructor create(AOwner : TComponent); override;

     procedure Paint; override;

     procedure Print(X,Y : Integer); virtual;

     procedure Stretch(var size : Integer); virtual;

     property AutoSize Stored true;

     property ParentReport : TQuickReport read FReport write FReport;

  published

     property Height;

     property Left;

     property Top;

     property Visible;

     property Width;

  end;


전형적으로 두가지 타입의 컴포넌트가 있을 것입니다. 어떤 텍스트를 인쇄하고자 한다면 Paint와 Print메쏘드를 Caption프로퍼티(TCustomLabel로부터 상속됨)를 상속된 Print/Paint를 호출하기 전에 인쇄하고자하는 텍스트로 설정해 줌으로써 변경할 것입니다.


그래픽의 콘트롤은 상속된 메쏘드를 호출하기보다는 고유의 그리기와 페인팅을 제공합니다. 인쇄는 Print메쏘드에 전달된 좌표에 QRPrinter.Canvas로 기록함으로써 수행됩니다. 어떤 좌표값을 사용하기 전에는 반드시 이것들을 현재의 폼 해상도에 맞도록 올바른 값으로 해석해주어야만 합니다. 퀵리포트는 QuickReport.XPos와 YPos함수로 이것을 할 수 있게 해줍니다. 당신이 사용하게될 퀵리포트컴포넌트는 ParaentReport프로퍼티를 통하여 참조될 수 있을 것입니다:


   With ParentReport do

      QRPrinter.Canvas.Draw(XPos(X),YPos(Y),XPos(X+Width),YPos(Y+Height),ABitmap);


만약 콘트롤이 동적인 수직크기를 갖는다면 또한 Stretch메쏘드를 반드시 변경해주어야 합니다. 이 메쏘드는 출력되려는 것에 대한 추가적인 수직크기를 돌려주어야만 합니다.


우리의 웹 사이트인 http://www.qsd.no에는 여러 가지 인쇄가능 컴포넌트들이 소스코드와 함께 이용가능합니다.


참고 : 퀵리포트 버전 1.0b이전용으로 작성된 인쇄가능 컴포넌트를 가지고 있고 XPos와 YPos함수를 참조한다면 반드시 코드를 1.0c 이후것으로 바꾸어주어야 합니다. Print메쏘드에 전달되는 X, Y좌표는 이제는 올바른 좌표로 이미 변환되지 않기 때문에 코드가 다음과 같다면:


   With ParentReport do

      QRPrinter.Canvas.Draw(X,Y,X+XPos(Width),Y+YPos(Height),ABitmap);


이것은 다음과 같이 바뀌어야 하는 것입니다:


   With ParentReport do

      QRPrinter.Canvas.Draw(XPos(X),YPos(Y),XPos(X+Width),YPos(Y+Height),ABitmap);


4.  퀵리포트 참조안내



4.1.  QRBand


QRBand는 리포트의 다른 부분을 구성하는 것으로서 데이터부분을 위한 디테일밴드, 페이지의 머리말부분을 위한 페이지헤더밴드 등이 그것입니다. 퀵리포트는 이들이 나타날 수 있는 어디에건 이들 밴드들을 복사하게 됩니다.


일부 밴드 타입은 퀵리포트에 의하여 자동적으로 인쇄되며 어떤 밴드는 인쇄되기 위해서는 QRGroup 혹은 QRDetailLink컴포넌트에 연결되어야 할 필요가 있는 것도 있습니다. 자동적으로 인쇄되는 밴드에 대해서는 동일한 타입의 여러개의 밴드를 가질 수가 있습니다. 퀵리포트는 생성된 순서대로 모든 것을 출력할 것입니다.(Enabled 프로퍼티가 True로 설정된 것만) 만약 인쇄되는 순서를 재정렬하고자한다면, 델파이 폼 설계사의 Send To Back과 Bring To Front기능을 이용하시기 바랍니다.


4.1.1. property Align : TAlign


QRBand의 Align프로퍼티는 통상 alTop으로 설정되며 밴드가 폼설계사 내에서 다른 것 뒤에 나타나도록 해주는 것입니다. 이 밴드의 순서를 시각적으로 재배열하고 싶다면 프로퍼티를 alNone으로 설정하고 이것들을 재배열한 후에 다시 alTop으로 Align을 설정하는 것으로 재배열할 수가 있습니다. 폼 설계사 내에서의 밴드들의 순서는 인쇄시의 순서에는 영향을 주지 않습니다.


4.1.2. property BandType : TQRBandType

이 프로퍼티는 각 밴드를 다루는 방법을 퀵리포트에게 알려주는데 사용합니다. 여러 가지의 다른 밴드 타입이 있으며 각 밴드에 올바른 밴드타입을 선정하는 것은 매우 중요합니다. QRGroup 혹은 QRDetailLink컴포넌트를 연결할 때에는 BandType는 자동적으로 올바른 값으로 설정됩니다. 가능한 BandType의 값은 다음과 같습니다:


rbTitle          리포트 타이틀밴드로 리포트의 처음 시작시에 한번만 출력됩니다. 이 타입의 밴드를 여러개 가질 수도 있으며 이것들은 다음 순서대로 출력될 것입니다. 타이틀밴드는 자동적으로 출력됩니다.


rbPageHeader   쪽 머리말, 각 쪽의 꼭대기에 한번씩 출력됩니다. 여러개의 밴드를 가질 수도 있으며 순서대로 쪽꼭대기에 출력됩니다. 쪽 머리말은 자동적으로 출력됩니다.


rbColumnHeader 행제목(Column header)밴드는 쪽 머리말과 유사하지만 다중 행 리포트에서 매 행의 앞머리에 인쇄된다는 점이 다릅니다. 행제목 밴드는 자동으로 인쇄됩니다.


rbDetail         본문밴드(Detail bands)는 데이터셋트 내의 모든 레코드에 복제되게 됩니다. 많은 수의 본문밴드를 가질 수도 있지만 기본적인 레포트에서는 통상 하나만을 가지게 됩니다. 본문밴드는 자동적으로 인쇄됩니다.


rbPageFooter    쪽꼬리말밴드(Page Footer band)는 각 쪽의 바닥에 출력됩니다. 이 쪽꼬리말은 자동으로 인쇄됩니다.


rbOverlay       오버레이 밴드(Overlay bands)는 페이지의 오버레이로 인쇄됩니다. 이것은 항상 페이지의 다른 모든 밴드들과는 무관하게 페이지의 최상부 좌측 모서리에 위치합니다.


rbGroupHeader  그룹헤더밴드(Group header bands)는 통상 마스터/디테일 리포트에서 그룹의 헤더로 사용됩니다. 이것들은 반드시 QRGroup 컴포넌트 혹은 QRDetailLink컴포넌트에 연결되어야 인쇄가 됩니다.


rbSubDetail      서브디테일밴드(Sub Detail bands)는 QRDetailLink컴포넌트를 사용할 때에 마스터/디테일 리포트에서 디테일 테이블용의 디테일 밴드로 사용되며 QRDetailLink컴포넌트에 연결되어야 인쇄됩니다.


rbGroupFooter   그룹꼬리말(Group footers)은 마스터/디테일 리포트에서 꼬리말로 대부분 사용됩니다. 이것들은 반드시 QRGroup 혹은 QRDetailLink컴포넌트에 연결되어야 인쇄됩니다.


rbSummary     요약밴드(Summary bands)는 리포트의 마지막에 자동으로 인쇄됩니다.


4.1.3.  property Color : TColor


밴드의 배경색상을 설정합니다.


4.1.4.  property Enabled : Boolean


False로 설정되면 밴드는 출력이 되지 않습니다. 이 프로퍼티는 인쇄되는 데이터에 따라서 다른 밴드를 인쇄하게 하는 리포트 생성 중에 변경될 수가 있습니다.


4.1.5.  property Font : TFont

해당 밴드에 대하여 콘트롤로서 사용할 부모 폰트


4.1.6.  property ForceNewPage : Boolean


True이면 이 밴드가 인쇄되기 전에 먼저 쪽을 나누게 됩니다. 이것은 그룹 헤더가 항상 새로운 페이지에 나타나도록 하는 등의 상황에서 사용할 수가 있습니다. QuickReport.NewPage메쏘드도 참고하십시오..


4.1.7.  property Frame : TPen


밴드테두리용으로 사용될 펜. 테두리를 없애려면 펜 폭(pen width)을 0을 설정하십시오.(디폴트)


4.1.8.  property LinkBand : TQRBand


LinkBand프로퍼티는 여러개의 밴드가 항상 동일한 페이지에 나올 수 있도록 하는데 사용합니다. 퀵리포트가 현재의 밴드를 인쇄하기에 충분한 페이지 공간이 있는지를 검사해서 이 프로퍼티에 연결된 밴드의 크기를 포함시키게 될 것입니다. 이 밴드는 다른 밴드에 그 밴드는 또 다른 밴드에 연결될 수도 있습니다. 반드시 리포트의 다음 밴드에 연결해야지 역으로 연결해서는 안됩니다.


4.1.9.  property ParentFont : Boolean


ParentFont 프로퍼티는 밴드가 폰트정보를 찾을지를 결정합니다. 만약 ParentFont가 True이면 이 밴드는 부모 폼의 Font프로퍼티 내의 폰트를 사용하게 됩니다. 만약 False이면 자신의 Font프로퍼티를 사용하게 될 것입니다.

ParentFont를 사용함으로써 리포트 내의 모든 밴드들이 동일한 외관을 가질 수 있도록 할 수 있을 것입니다. 예를 들면, 폼 내의 모든 밴드들이 12포인트의 Courier폰트를 사용하게 하고자 한다면 폼의 Font프로퍼티를 그것으로 설정하십시오. 디폴트로 리포트 폼 상의 모든 콘트롤들은 동일한 폰트를 사용하게 될 것입니다.

특정 콘트롤에 다른 폰트를 지정하고 싶으면 해당 밴드의 Font프로퍼티를 원하는 값으로 설정해주십시오. 그러면 ParentFont는 자동으로 False가 되게 됩니다.


4.1.10.  property Ruler : TQRRuler


퀵리포트는 디자인 중에 밴드의 배경에 눈금을 그릴 수가 있습니다. 이것은 밴드 상의 콘트롤들의 위치를 조정하는데 도움이 될 것입니다. 다음 중의 하나의 값을 설정할 수 있습니다:


qrrNone         눈금자가 표시되지 않습니다.

qrrInchesH     매 인치마다 수평 눈금줄이 생깁니다.

qrrInchesV     매 인치마다 수직 눈금줄이 생깁니다.

qrrInchesHV    매 인치마다 수평, 수직 눈금줄이 생깁니다.

qrrCmH         매 cm마다 수평눈금자가 생깁니다.

qrrCmV         매 cm마다 수직눈금자가 생깁니다.

qrrCmHV       매 cm마다 수평, 수직 눈금자가 생깁니다.


4.1.11.  event AfterPrint : procedure (BandPrinted : Boolean)


이 이벤트는 밴드가 출력된 후 혹은 출력하려고 하는데 BeforePrint이벤트 내에서 정지될 때마다 호출되게 됩니다. BandPrinted인수는 밴드가 실제로 출력되었는지 아니었는지를 알려주게 될 것입니다.


4.1.12.  event BeforePrint : TQRBandBeforePrintEvent


BeforePrint이벤트는 밴드가 인쇄되기 직전에 호출되게 됩니다. 밴드가 이번에는 출력되지 않고 건너뛰게 하려면 PrintBand인수를 false로 설정할 수 있습니다.


4.2.  QRCustomControl


QRCustomControl오브젝트는 모든 인쇄가능 퀵리포트 컴포넌트들의 기본 클래스입니다. 이것은 컴포넌트 팔렛트 상에는 없으며 대신 고유의 인쇄가능 콘트롤을 만들고자 한다면 그것을 서브클래스할 것입니다. 인쇄가능 콘트롤을 만들기 위해서는 변경해야할 3가지 메쏘드들이 있습니다.


4.2.1.  property Caption


QRCustomControl컴포넌트는 텍스트를 인쇄하는 기본적인 능력이 있기 때문에 또한 Caption프로퍼티를 가지게 됩니다. 이 프로퍼티는 디폴트로 출력되지 않습니다.


4.2.2. method Paint


Paint메쏘드는 디자인 시에 컴포넌트를 그리는데 사용됩니다. 이것은 델파이 폼 설계사 내에서 이며 디자인 중의 미리보기할 때가 아닙니다. 기본 텍스트 외의 무엇인가를 인쇄하고자 한다면 이 메쏘드를 변경해주어야 합니다.


4.2.3. method Print(x,y : integer)


Print메쏘드는 해당 메쏘드를 QRPrinter.Canvas 위에 인쇄하는데 사용합니다. 기본 텍스트 외의 무엇인가를 인쇄하고자 한다면 이 메쏘드를 바꾸어야 합니다.


4.2.4. method Stretch(var Value : integer)


만약 컴포넌트가 가변 높이를 가지고 있다면 반드시 Stretch메쏘드를 변경하여야 합니다. Value인수는 컴포넌트가 점유할 초과의 높이로 설정되어야 할 것이며 이것은 Height프로퍼티의 값을 포함하지 않는 값입니다.


4.3.  QRDBCalc

QRDBCalc 컴포넌트는 리포트 생성 중의 기본적인 계산을 하는 업무를 쉽게 하여 줍니다. 이것은 데이터베이스필드에 연결될 수가 있으며 어느 특정 밴드 인쇄 후에는 계산이 재설정될 수가 있습니다.


4.3.1. property AlignToband : Boolean


True이면 이 밴드는 주어진 사각 영역에서 뿐만 아니라 전체 밴드에 대해서도 수평으로 정렬되게 됩니다. 그러므로 Alignment가 taRightJustify이고 AlignToBand가 True이면 텍스트는 콘트롤 내에서가 아닌 밴드(페이지)에서 우측으로 정렬되게 될 것입니다. 이와 비슷하게 Alignment가 taCenter이고 AlignToBand가 True이면 텍스트는 밴드(페이지)의 중앙에 정렬할 것입니다. 디폴트는 False입니다.


4.3.2. property AsInteger : Longint


현재의 QRDBCalc콤포넌트의 값을 Integer로 돌려줍니다.


4.3.3. property AsReal : real


현재의 QRDBCalc콤포넌트의 값을 Real로 돌려줍니다.


4.3.4. property Font : TFont


Font프로퍼티는 레포트에 출력되는 텍스트의 속성을 조정하는 폰트객체입니다. 폰트를 변경하려면 이 폰트 객체의 Color, Name, Size 혹은 Style프로퍼티의 값을 변경합니다.


4.3.5. property Operation : TQRCalcOperation


이 프로퍼티는 콘트롤에 대한 수행할 계산의 타입을 선택합니다. 다음의 값들 중 하나일 수 있습니다:


qrcSUM         필드의 총계를 계산합니다.

qrcCOUNT     콘트롤이 인쇄되는 시간을 계산합니다.

qrcMAX         데이터베이스 필드의 최대값

qrcMIN         데이터베이스 필드의 최소값

qrcAVERAGE   데이터베이스 필드의 평균을 계산합니다.


4.3.6. property ParentFont : TFont


인쇄가능 콘트롤의 ParentFont 프로퍼티는 해당 콘트롤이 자신의 고유의 Font프로퍼티를 폰트선택에 사용할 것인지 아니면 그 부모 QRBand로부터의 폰트정보를 얻을 것인지를 결정합니다.


4.3.7. property PrintMask : String


QRDBCalc콤포넌트의 출력내용을 포맷하기 위하여 PrintMask를 사용하십시오. PrintMask의 작동법에 대한 델파이 도움말 내의 FormatFloat절차를 참고하십시오.


4.3.8. property ResetBand : TQRBand


ResetBand프로퍼티를 설정하는 것은 선택된 밴드가 출력될 때마다 계산이 재설정되게됩니다. 이 재설정은 밴드가 출력된 후에 수행될 것입니다.


4.3.9. event onPrint : procedure (sender : TObject; var Value : String)


OnPrint이벤트는 콘트롤이 출력되기 직전에 호출됩니다. 출력될 스트링들은 Value프로퍼티 내에 있게되며 변경할 수가 있습니다. 이 프로퍼티는 이 프로퍼티는 반복되는 값의 인쇄억제에 유용하게 사용할 수 있습니다.


4.4.  QRDetailLink


 QRDetailLink는 퀵리포트로 다른 종류의 마스터 디테일 리포트를 만드는데 사용됩니다. QRDetailLink콘트롤을 사용함으로써 동일한 레벨에 무제한 레벨 및 무제한 수의 디테일 테이블을 가지는 리포트를 포함한 어떠한 종류의 리포트도 만들어 낼 수 있는 것입니다. Master프로퍼티를 사용하여 QRDetailLink를 QuickReport콤포넌트 혹은 다른 QRDetailLink에 연결을 합니다. 게다가, TTable/TQuery 콤포넌트의 MasterSource/MasterField프로퍼티를 사용하여 테이블들간의 master/detail관계를 설정해 주어야 합니다. QRDetailLink의 사용법에 대한 자세한 정보는 이 문서 내의 마스터 디테일 레포트 생성법에 대한 항을 참고하시기 바랍니다.

QRDetailLink콤포넌트는 QRGroup콤포넌트와 같이 사용될 의도로 만들어진 것이 아닙니다. 이것들은 마스터/디테일 리포트를 서로 다른 방법이며 이것을 섞는 것은 잘못된 결과를 가져 올 수 있습니다.


4.4.1.  property DataSource


본 QRDetailLink를 연결할 DataSource. 이 작업을 위해서는 반드시 마스터/디테일 관계가 설정되어 있어야 합니다. 만약 DataSource를 지정하지 않으면 onNeedData이벤트를 사용하여 배열이나 텍스트 파일과 같은 다른 소스로부터의 디테일 정보를 출력할 수도 있습니다.


4.4.2. property DetailBand


해당 DetailLink에 대한 DetailBand를 선택합니다. 디테일밴드는 DataSource내의 각 레코드에 대하여 출력되는 것입니다. 선택된 밴드의 BandType는 자동적으로 rbSubDetail로 설정됩니다.


4.4.3. property FooterBand


이 QRDetailLink의 꼬리말 밴드로 사용될 밴드를 선택합니다. 꼬리말 밴드는 이 DetailLink의 디테일 레코드 다음에 출력되게 됩니다. 이것은 디테일 테이블에 대한 어떠한 요약 정보도 담을 수가 있습니다. 선택된 밴드의 BandType는 자동적으로 rbGroupFooter로 설정됩니다.


4.4.4. property HeaderBand


HeaderBand는 DetailLink콤포넌트의 디테일 레코등 전에 출력됩니다. 선택된 밴드의 BandType는 자동적으로 rbGroupHeader로 설정됩니다.


4.4.5. property Master : TQRController


Master프로퍼티는 TQuickReport콤포넌트 혹은 다른 QRDetailLink로 연결을 합니다. 관련된 테이블 사이에는 마스터 디테일 관계가 설정되어야 합니다.


4.4.6. property PrintBefore : Boolean


PrintBefore가 False (디폴트)이면 QRDetailLink콤포넌트와 그 밴드는 Master의 디테일 밴드 다음에 출력되게 될 것입니다. 만약 True이면 이 QRDetailLink는 Master정보가 출력되기 전에 출력될 것입니다.


4.4.7. event onFilter : procedure (PrintRecord : Boolean) of object


OnFilter이벤트는 테이블의 지역적인 필터링에 사용됩니다. 이벤트처리기는 레코드포인터가 데이터세트를 통하여 진행될 때마다 호출되어서 PrintRecord인수를 False로 설정함으로써 레코드를 출력되지 않도록 할 수가 있습니다.


4.4.8.  event onNeedData : procedure (MoreData : Boolean) of object


OnNeedData이벤트는 델파이 DataSource외의 다른 소스로부터 디테일 데이터를 출력하고자할 때 사용됩니다. 이러한 리포트를 출력하려면 QRDetailLink.DataSource 프로퍼티를 빈 것으로 놔두고 이 이벤트에 대한 이벤트처리기를 제공하는 것입니다. 이벤트 처리기는 원하는 소스로부터 데이터를 받아들이고 그 결과를 리포트의 QRLabels의 Caption프로퍼티에 넣어주게 하는 것입니다. 인쇄할 더 이상의 데이터가 없을 때에는 MoreData인수를 False로 설정합니다.

비BDE DataSource로부터 리포트 생성법 장을 참고하시기 바랍니다.



4.5.  QRDBText


QRDBText콤포넌트는 데이터지향 텍스트 콘트롤(data aware text control)입니다. 이것은 텍스트필드, 숫자필드 및 메모필드를 출력할 수 있습니다. 이것을 메모필드에 연결하면 자동적으로 전체텍스트에 대한 공간을 만들어 줄 것입니다. 이것이 들어가는 밴드 역시 그에 따라서 늘어나게 될 것입니다. 메모필드가 한 페이지를 초과하는 경우에는 잘리게 될 것입니다.


4.5.1. property Alignment : TAlignment


Alignment프로퍼티는 콤포넌트 내에서 텍스트의 정렬방법을 지정합니다.

다음과 같은 값들이 있습니다:


taLeftJustify    텍스트를 콘트롤의 좌측에 정렬합니다.

taCenter       텍스트를 콘트롤 내 수평중앙정렬합니다.

taRightJustify   텍스트를 콘트롤의 우측에 정렬합니다.


4.5.2.  property AlignToband : Boolean


True이면 밴드는 주어진 콘트롤 내 뿐만 아니라 전체 밴드에 대해서 수평으로 정렬되게 됩니다. 그러므로 Alignment가 taRightJustify이고 AlignToBand가 True이면 텍스트는 콘트롤내에서가 아닌 밴드(페이지)에 대해서 우측정렬되게 될 것입니다. 마찬가지로 Alignment가 taCenter이고 AlignToBand가 True이면 텍스트는 페이지의 중앙에 위치하게 될 것입니다. 디폴트는 False입니다.


4.5.3. property AutoSize  : Boolean


AutoSize 프로퍼티가 True이면 콤포넌트는 현재 문자열의 폭과 길이로 재조정됩니다.


4.5.4. property Color : TColor


콘트롤에 대한 배경색상을 선택합니다.


4.5.5. property DataSource : TDataSource


데이터필드를 출력하고자하는 DataSource를 선택합니다.


4.5.6. property DataField : String


콘트롤에 의하여 출력된 Data필드를 선택합니다.


4.5.7. property Font : TFont


리포트에 출력될 텍스트의 속성을 콘트롤하는 것입니다. 폰트를 변경하려면 폰트객체의 Color, Name, Size 혹은 Style프로퍼티의 값을 변경합니다.


4.5.8. property ParentFont : Boolean


인쇄가능 콘트롤의 ParentFont 프로퍼티는 해당 콘트롤이 자체의 Font프로퍼티를 폰트 선택에 사용할 것인지 아니면 그 부모 QRBand로부터의 폰트 정보를 얻을 것인지를 결정합니다.


4.5.9. property Transparent : Boolean


Transparent 프로퍼티는 콘트롤이 투명할지를 결정합니다. 비트맵의 꼭대기에 투명한 라벨 혹은 텍스트를 둘 수가 있으며 이 콘트롤은 비트맵의 부분을 가리지 않게 될 것입니다. 만약 Transparent가 True이면 Color프로퍼티(배경색상)는 무시되게 됩니다.


4.5.10. event onPrint : procedure (sender : TObject; var Value : String)


OnPrint이벤트는 콘트롤이 출력되기 직전에 호출됩니다. 출력되는 문자열은 Value프로퍼티에 저장이 되며 이것은 변경될 수가 있습니다. 이 프로퍼티는 또한 반복되는 값의 출력을 억제하는데 유용하게 사용할 수 있습니다.


4.6. QRGroup


QRGroup 콤포넌트는 전형적으로 리포트 생성 중에 일부 데이터필드가 변화하는 그룹 머리말과 꼬리말을 출력하는데 사용됩니다. 이것은 SQL퀘리로부터 마스터 디테일 리포트를 만들거나 단순히 일부 데이터가 변화할 때 그룹 꼬리말을 출력할 때 사용될 수가 있습니다. 데모프로그램의 Simple Report는 QRGroup이 회사명의 첫 번재 문자가 바뀔 때마다 간격을 뛰우는 밴드를 넣는데 QRGroup이 사용되는 방법을 보여줍니다.


10레벨 까지 QRGroup콤포넌트를 내포시킬 수가 있습니다. 그룹이 나뉠때마다 모든 상위 그룹 역시 나뉘게 됩니다.


4.6.1. property DataSource : TDataSource


이 그룹이 연결되게 하고자하는 데이터소스를 선택하십시오.connected to.


4.6.2. property DataField : String


이 그룹이 연결되기를 원하는 데이터필드를 선택하십시오. 선택된 필드의 값이 바뀌거나 더 낮은 레벨의 그룹이 다시 인쇄되는 경우에 다시 인쇄될 것입니다.


4.6.3. property FooterBand : TQRBand


이 그룹의 꼬리말 밴드로 사용될 밴드를 선택하십시오. 선택된 밴드의 타입은 자동으로 rbGroupFooter로 됩니다.


4.6.4. property HeaderBand : TQRBand


이 그룹의 머리말 밴드로 사용될 밴드를 선택하십시오. 선택된 밴드의 타입은 자동으로 rbGroupHeader로 됩니다.


4.6.5. property Level : Integer


이 그룹의 레벨을 설정합니다. Group 0는 가장 낮은 그룹(바깥의 그룹)이며 9는 가장 안의 그룹이 됩니다. 두 개의 그룹이 동일 레벨에 있지 않도록 주의 하십시오.


4.6.6. Event onNeedData : procedure (var Value : String)


OnNeedData 이벤트는 그룹을 나눌 것인지 말것인지의 결정을 하기 전에 그룹 값을 변경하는데 사용할 수가 있습니다. 데모프로그램 중의 Simple Report는 이것을 보여줍니다.



4.7. QRLabel


리포트 상의 정적 텍스트는 QRLabel콤포넌트를 사용하여 출력됩니다. 인쇄하고자하는 텍스트로 Caption프로퍼티를 설정하십시오. 설계된 넓이에 맞지 않는 경우에는 QRLabel은 텍스트를 여러줄로 나누지 않습니다.

또한 리포트 생성 중에 caption프로퍼티를 변경할 수도 있습니다.


4.7.1. property Alignment : TAlignment


Alignment프로퍼티는 텍스트가 콤포넌트 내에서 어떻게 정렬할지를 지정하는 것입니다.

다음의 값을 가질 수가 있습니다:


taLeftJustify    콘트롤의 좌측에 텍스트를 정렬합니다.

taCenter       콘트롤의 중앙에 수평으로 텍스트를 정렬합니다.

taRightJustify   콘트롤의 우측에 텍스트를 정렬합니다.


4.7.2. property AlignToband : Boolean


True이면 밴드는 주어진 콘트롤 내 뿐만 아니라 전체 밴드에 대해서 수평으로 정렬되게 됩니다. 그러므로 Alignment가 taRightJustify이고 AlignToBand가 True이면 텍스트는 콘트롤내에서가 아닌 밴드(페이지)에 대해서 우측정렬되게 될 것입니다. 마찬가지로 Alignment가 taCenter이고 AlignToBand가 True이면 텍스트는 페이지의 중앙에 위치하게 될 것입니다. 디폴트는 False입니다.


4.7.3. property AutoSize  : Boolean


AutoSize 프로퍼티가 True이면 콤포넌트는 현재 문자열의 폭과 길이로 재조정됩니다.


4.7.4. property Caption : String


리포트에 출력될 스트링을 담게됩니다.


4.7.5. property Color : TColor


콘트롤에 대한 배경색상을 선택합니다.


4.7.6. property Font : TFont


리포트에 출력될 텍스트의 속성을 조절하는 폰트 객체입니다. 폰트를 변경하려면 폰트 객체의 Color, Size, Name 혹은 Style프로퍼티의 값을 변경합니다.


4.7.7. property ParentFont : Boolean


콘트롤이 자신의 Font프로퍼티를 사용할 것인지 아니면 부모 QRBand로부터의 폰트 정보를 얻을 것인지를 결정합니다.


4.7.8. property Transparent : Boolean


Transparent 프로퍼티는 콘트롤이 투명할지를 결정합니다. 비트맵의 꼭대기에 투명한 라벨 혹은 텍스트를 둘 수가 있으며 이 콘트롤은 비트맵의 부분을 가리지 않게 될 것입니다. 만약 Transparent가 True이면 Color프로퍼티(배경색상)는 무시되게 됩니다.



4.7.9. event onPrint : procedure (sender : TObject; var Value : String)


OnPrint이벤트는 콘트롤이 출력되기 직전에 호출됩니다. 출력될 스트링은 Value프로퍼티에 있게되며 변경할 수가 있습니다. 이 프로퍼티는 또한 반복되는 값을 출력억제에 유용하게 사용할 수가 있습니다.



4.8.  QRMemo


QRMemo 콘트롤은 데이터필드에 연결되지 않은 여러줄의 텍스트를 출력하는데 사용합니다. QRMemo는 텍스트의 높이를 자동으로 확장하지 않을 것입니다.


4.8.1. property Alignment : TAlignment


텍스트가 컴포넌트 내에서 어떻게 정렬될지를 지정합니다.

다음 값들이 가능합니다.:


taLeftJustify    콘트롤 내에서 텍스트를 좌측정렬합니다.

taCenter       콘트롤 내에서 텍스트를 수평중앙정렬합니다.

taRightJustify   콘트롤 내에서 텍스트를 우측정렬합니다.


4.8.2. property Color : TColor


콘트롤에 대한 배경색상을 선택합니다.


4.8.3. property Font : TFont


리포트에 출력될 텍스트의 속성을 콘트롤하는 폰트객체입니다. 폰트를 변경하려면 폰트 객체의 Color, Name, Size 혹은 Style프로퍼티를 변경합니다.


4.8.4. property Lines : TStringList


Lines프로퍼티는 QRMemo콘트롤의 모든 텍스트를 담고 있습니다. 이것은 표준 StringList이며 이 콘트롤에 텍스트를 입력하기 위하여 Add와 Clear와 같은 메쏘드를 사용할 수 있습니다.


4.8.5. property ParentFont : Boolean


자신의 Font프로퍼티를 사용할지 아니면 부모 QRBand로부터 폰트 정보를 얻을지를 결정합니다.


4.8.6. property WordWrap : Boolean


WordWrap이 True이면 QRMemo내의 줄들은 콘트롤의 폭에 맞추어지게 됩니다. 만약 False이면 Lines프로퍼티에 입력된대로 출력될 것이며 제대로 다 보이지 않게 될 것입니다.



4.9.  QRPreview


QRPreview콤포넌트를 사용하여 자신의 고유의 감으로 폼들을 미리보기 쉽게해줍니다. 기본적인 미리보기 폼을 만드는데 필요한 것은 폼 상에 QRPreview를 떨어뜨리고 QRPrinter.OnPreview이벤트에 대한 이벤트 처리기를 만들고 미리보기 폼의 ShowModal이벤트를 호출하면 됩니다. 더 자세한 내용은 사용자정의 미리보기 폼 만들기 장을 참고하시기 바랍니다.


4.9.1. property PageNumber : integer


PageNumber는 미리보기 콤포넌트에서 보여줄 페이지를 선택합니다. 선택된 페이지는 자동적으로 이 프로퍼티를 설정할 때 칠해지게 될 것입니다.


4.9.2. property Zoom : integer


이 프로퍼티로 현재의 확대수준을 선택하십시오. 이것은 실제 어떠한 값도 될 수 있으며 100을 설정하는 것은 약 1:1정도가 될 것입니다.


4.9.3. method ZoomToFit


ZoomToFit을 호출하는 것은 자동적으로 전체 페이지를 QRPreview콘트롤에 맞추어지게 될 것입니다. 만약 콘트롤의 크기를 조절하면 확대값은 자동적으로 재계산됩니다.


4.9.4. method ZoomToWidth


ZoomToWidth를 호출하면 자동적으로 페이지를 확대해서 QRPreview콘트롤의 폭에 맞추어 줍니다. 콘트롤의 크기를 재조정하면 자동적으로 확대값이 재계산됩니다.


4.10.  QRPrinter


QRPrinter는 콤포넌트 팔렛트 상에는 나타나지 않는 콤포넌트입니다. 대신, 어플리케이션 시작시에 하나의 인스턴스가 복사되고 어플리케이션에서 사용되게 됩니다. 레포트가 만들어지고, 인쇄되고 , 미리보기를 호출하고 심지어 저장하고 로드하는 것까지와 같은 저수준의 모든 일을 행하는 것이 바로 QRPrinter인 것입니다.


QRPrinter는 QuickReport콤포넌트와는 완전히 독립적으로도 사용될 수도 있습니다. QRPrinter.Canvas를 다른 캔버스와 같이 사용하면 어떠한 것도 인쇄할 수가 있으면 인쇄를 하기 전에 미리보기를 하기 위하여 QRPrinter.Preview를 사용하십시오.


4.10.1. property Canceled : boolean


QRPrinter.Canceled 프로퍼티는 Cancel메쏘드가 호출되었는지 여부를 알려줍니다.


4.10.2. property Canvas : TCanvas (Delphi 1.0) TMetafileCanvas (Delphi 2.0)


Canvas는 실제로 페이지를 만드는데 사용되는 윈도우즈 메타파일입니다.


4.10.3. property Copies : integer


인쇄할 복사본의 숫자. 모든 프린터 드라이버가 이 옵션을 지원하는 것은 아님을 명심하십시오.


4.10.4. property EnableOpenBtn : boolean


True (디폴트)이면 표준 미리 보기 폼 상에 Open Report버튼이 나타나게 될 것입니다.


4.10.5. property EnablePrintBtn : boolean


True (디폴트)이면 표준 미리 보기 폼 상에 Print report버튼이 나타나게 될 것입니다.


4.10.6. property EnableSaveBtn : boolean


True (디폴트)이면 표준 미리 보기 폼 상에 Save report버튼이 나타나게 될 것입니다.


4.10.7. property FromPage : integer


FromPage프로퍼티는 QRPrinter가 준비된 범위의 페이지들만을 인쇄하게 할 때 시작페이지를 설정하는데 사용됩니다.


4.10.8. property LeftWaste : integer


LeftWaste는 페이지의 좌측여백의 인쇄불가영역을 담고 있습니다. 이것은 리포트 생성시에만 유효한 것입니다.


4.10.9. property Orientation : TPrinterOrientation


Orientation 프로퍼티를 사용하여 좁게(poPortrait) 혹은 넓게(poLandscape) 인쇄방향을 설정하십시오. 이 프로퍼티는 QuickReport print를 선택할 때 자동적으로 설정됩니다.


4.10.10. property Page : TMetafile


리포트가 준비될 때 Page프로퍼티는 현재 선택된 페이지를 담고 있는 메타파일를 가리키고 있게 됩니다.


4.10.11. property PageCount : integer


PageCount 프로퍼티는 해당 문서 내에서 QRPrinter객체에 보내진 총 페이지의 수를 돌려줍니다.


4.10.12. property PageHeight : integer


QRPrinter.PageHeight 는 화면해상도로 현재 인쇄가능한 영역의 높이입니다.


4.10.13. property PageNumber : integer


Page프로퍼티를 통하여 QRPrinter가 이용가능한 페이지를 선택하는데 사용합니다. 이것은 QRPreview.PageNumber프로퍼티의 값을 바꿀 때 자동으로 설정됩니다. 일반적으로 이 프로퍼티를 직접 변경하지 않을 것이지만 QRPrinter객체의 PageNumber 프로퍼티를 억세스하는 것 또한 미리보기를 다시 그리게 할 것입니다.


4.10.14. property PageWidth : integer


QRPrinter.PageWidth는 화면해상도에서 현재 인쇄가능한 영역의 폭입니다.


4.10.15. property PaperBin : integer


인쇄업무에 사용될 출력 빈(output bin)을 선택하십시오. 가능한 옵션들은 다음과 같습니다:


dmbin_Upper           dmbin_OnlyOne          dmbin_Lower            dmbin_Middle

dmbin_Manual          dmbin_Envelope         dmbin_EnvManual         dmbin_Auto

dmbin_Tractor          dmbin_SmallFmt         dmbin_LargeFmt         dmbin_LargeCapacity

dmbin_Cassette         

4.10.16. property PaperLength


이 프로퍼티를 0이 아닌 값으로 선택하는 것은 사용자 정의 페이지 길이를 설정하게 될 것입니다. 단위는 1/10mm로서 254단위는 1인치에 해당하게 됩니다. 이 프로퍼티를 설정하면 자동적으로 PaperSize프로퍼티를 rpCustom으로 설정하게 됩니다. 미리 정의된 페이퍼 크기를 선택하는 것은 이 프로퍼티를 다시 0으로 설정하게 합니다. 항상 PagerLength를 설정하면 PaperWidth를 설정해 주어야 합니다. QuickReport.PaperLength프로퍼티를 설정하는 것은 리포트가 출력될 때 자동적으로 이 프로퍼티를 설정하게 할 것입니다.


4.10.17. property PaperSize : TQRPaperSize


해당 인쇄 업무에 사용될 페이퍼의 크기를 선택합니다. qrpDefault외의 값으로 설정하는 것은 프린터 드라이버의 설정에 우선하게 될 것입니다. 모든 프린터 드라이버가 모든 페이퍼 사이즈를 지원하지는 않음을 명심하십시오. QuickReport콤포넌트 용으로 선택된 페이퍼 사이즈는 자동적으로 리포트가 프린트될 때 QRPrinter에 전달되게 됩니다.


qrpDefault      현재 선택된 프린터 드라이버에 대한 디폴트 종이크기를 사용합니다.

qrpLetter       Letter size paper (8 1/2 x 11 in)

qrpLegal       Legal size paper (8 1/2 x 14 in)

qrpA3         A3 size paper (297 x 420 mm)

qrpA4         A4 size paper (210 x 297 mm)

qrpA5         A5 size paper (148 x 210 mm)

qrpCustom     PaperWidth와 PaperLength프로퍼티의 값으로 설정된 종이크기를 사용합니다.


4.10.18. property PaperWidth


0이 아닌 값으로 설정하면 사용자정의크기로 설정하게 될 것입니다. 단위는 높이와 마찬가지로 1/10mm로 254는 1인치가 될 것입니다. 이 프로퍼티를 설정하게되면 자동적으로 PaperSize는 rpCustom으로 설정되게 됩니다. 미리 정의된 종이크기를 선택하면 이 프로퍼티를 다시 0으로 설정하게 될 것입니다. PaperWidth프로퍼티를 설정하면 일반적으로 항상 PaperLength프로퍼티도 설정해 주어야 합니다.


4.10.19. property PreviewCaption : String


표준 미리 보기 폼의 캡션을 설정합니다. 이 프로퍼티는 쉐어웨어 버전에서는 읽기 전용이라는 것을 명심하십시오.


4.10.20. property PrinterOK : boolean


만약 프린터가 설치되어 있고 시스템에서 이용가능하다면 PrinterOK프로퍼티는 True이고 그렇지 않다면 False입니다.



4.10.21. property ProgressCaption : String


진행 폼(progress form)의 캡션을 설정합니다. 쉐어버전에서는 읽기전용입니다.


4.10.22. property ShowProgress : boolean


True이면, 진행막대(progress bar)가 리포트 인쇄 및 저장, 로딩 중에 나타날 것입니다. 이 프로퍼티는 자동적으로 QuickReport콤포넌트에 의하여 설정됩니다.


4.10.23. property Status : TQRPrinterStatus


읽기 전용. Status프로퍼티는 QRPrinter객체의 현재 상태를 알려줍니다. QRPrinter를 바로 직접 사용하지 않는한 이 프로퍼티의 설정에 대해서 걱정할 필요는 전혀 없습니다. 가능한 값은 다음과 같습니다:


mpReady      QRPrinter객체가 새로운 업무를 받아들일 준비가 되어 있습니다.(BeginDoc)

mpBusy         현재 인쇄업무를 받아들이고 있습니다.

mpFinished     인쇄가 끝났습니다.(EndDoc이 호출됨) 그리고 미리보기, 인쇄 혹은 저장이 가능합니다.

mpPrinting     현재 인쇄업무가 프린터로 보내지고 있습니다.

mpPreviewing   현재 미리보기 상태입니다.


4.10.24. property Thumbs : integer


Thumbs 프로퍼티는 각 종이 쉬트에 따라 몇 장의 리포트 페이지가 출력될지를 선택합니다. 디폴트는 1이며 하나의 리포트 페이지가 종이 한 장에 출력되게 합니다. 2를 선택하면 4개의 리포트 페이지(2 x 2)가 출력될 것이며 3은 9(3 x 3)가 되게 될 것입니다.


4.10.25. property Title : String


Title프로퍼티는 인쇄관리자(Print Manager) 혹은 기타 네트워크 프린터 큐에서 표시되는 것입니다. 이것은 자신이 QRPrinter로 직접 인쇄하는 것이 아니라면 QuickReport 콤포넌트에 의하여 자동적으로 설정됩니다.


4.10.26. property ToPage : integer


ToPage 프로퍼티는 QRPrinter가 준비된 페이지 범위만을 출력하고자할 때 페이지의 마지막을 설정하는데 사용할 수가 있습니다.


4.10.27. property TopWaste : integer


TopWaste는 페이지의 꼭대기 여백값으로 출력되지 않는 영역을 담습니다. 리포트 생성시에만 유효합니다.



4.10.28. property TotalPageHeight : integer


TotalPageHeight는 총 종이 높이(paper height)로 꼭대기와 바닥의 인쇄불가 영역까지 포함합니다. 이 값은 화면 해상도단위입니다.


4.10.29. property TotalPageWidth : integer


TotalPageWidth는 총 종이 폭(paper width)으로 좌우여백의 인쇄불가 영역까지 포함합니다. 이 값은 화면 해상도단위입니다.


4.10.30. property ZoomButtons : boolean


True (디폴트)이면 표준 미리보기 폼은 확대수준을 선택하기 위한 3개의 표준 버튼(Fit In Window, 100%, 및 Page Width 버튼)을 가지게 됩니다. False이면 미리보기 폼은 대신 더 선택을 할 수 있는 콤보박스를 가지게 될 것입니다.


4.10.31. event onPreview


OnPreview 이벤트는 표준 미리보기를 사용하지 않고 자신만의 고유의 미리보기 폼을 사용하고자할 때 사용됩니다. 이 이벤트 처리기에 대한 사용법은 사용자 미리보기 폼 생성법에 대한 장을 참고하시기 바랍니다.


4.10.32. method BeginDoc


QRPrinter객체를 직접 사용하고자 한다면 Canvas프로퍼티에 무엇이건 인쇄를 하기 전에 BeginDoc을 반드시 호출하여야 합니다.


4.10.33. method Cancel


현재의 업무를 취소하려면 Cancel메쏘드를 호출하십시오.


4.10.34. method CleanUp


QRPrinter객체를 직접 사용하면 메모리로부터 해제를 해주기 위하여 업무를 끝냈을 때 CleanUp메쏘드를 반드시 호출해주어야 합니다.


4.10.35. method EndDoc


QRPrinter객체를 직접사용한다면 업무의 끝에 도달해서 이제 인쇄, 미리보기 혹은 업무의 저장을 하고자할 때에는 EndDoc을 호출해주어야 합니다.


4.10.36. method Load(Filename : String)


이전에 저장된 리포트를 로드하고자한다면 QRPrinter.Load메쏘드를 호출하십시오. 파일은 올바른 형식의 .QRP파일이어야 합니다.


4.10.37. method NewPage


QRPrinter객체를 직접 사용한다면 NewPage메쏘드를 사용하여 새로운 페이지를 만들어낼 때 사용하십시오. 이 메쏘드를 정상적인 다른 QuickReport 생성시에는 사용치말고 대신, 제대로 쪽 머리말과 쪽 꼬리말이 올바르게 출력될 수 있을 때 QuickReport.NewPage를 사용하십시오.


4.10.38. method Preview


Preview 메쏘드는 현재 업무의 인쇄 미리보기를 수행합니다. Preview메쏘드를 호출하기 전에 업무가 완결(EndDoc)되어져 있어야 합니다. 통상적으로 통상 QuickReport콤포넌트의 미리보기 메쏘드를 단지 호출하는데 이것이 모든 업무의 준비를 다 해줄 것입니다.


4.10.39. method Print


Print메쏘드는 현재의 업무(job)를 인쇄합니다. 업무는 Print메쏘드를 호출하기 전에 완결(EndDoc)되어 있어야 합니다.


4.10.40. method Save(Filename : String)


현재의 리포트를 파일로 저장하고자 한다면 QRPrinter.Save메쏘드를 호출할 수가 있습니다. 이 파일은 .QRP파일로 저장됩니다. 이것은 독창적인 파일 포맷이며 나중의 버전에서 그 정보가 문서화될 것입니다.


4.11.  QRSysData


QRSysData 콤포넌트는 쪽 번호, 날짜, 리포트 제목과 같은 다양한 시스템 정보를 인쇄하는데 사용합니다.


4.11.1. property Alignment : TAlignment


Alignment 프로퍼티는 콤포넌트 내의 텍스트 정렬방법을 지정합니다.

다음과 같은 값을 가질 수가 있습니다.:


taLeftJustify    텍스트를 콘트롤의 좌측에 정렬시킵니다.

taCenter       텍스트를 콘트롤의 중앙에 수평정렬시킵니다.

taRightJustify   텍스트를 콘트롤의 우측에 정렬시킵니다.


4.11.2. property AlignToband : Boolean


True이면 이 밴드는 자동적으로 전체 밴드에 대하여 수평으로 정렬되게 됩니다. 그러므로 만약 Alignment가 taRightJustify이고 AlignToBand가 True이면 텍스트는 밴드(페이지)에 대해서 우측정렬되게 될 것입니다. 비슷하게 Alignment가 taCenter이고 AlignToBand가 True이면 텍스트는 밴드(페이지)의 중앙에 정렬하게 될 것입니다. 디폴트는 False입니다.


4.11.3. property AutoSize  : Boolean


AutoSize 프로퍼티가 True이면 콤포넌트는 현재 문자열의 폭과 길이로 재조정됩니다.


4.11.4. property Color : TColor


콘트롤의 배경색상을 선택합니다.


4.11.5. property Data : TQRSysDataType


Data프로퍼티는 QRSysData콤포넌트에 의하여 표시될 정보를 선택합니다. 가능한 값은 다음과 같습니다.:


qrsTime         현재 시각 - HH:MM

qrsDate         현재 날짜 - 글로벌 ShortDateFormat 변수의 설정에 따름

qrsDateTime    현재 날짜, 시각 - 콤마로 구분

qrsPageNumber  현재 쪽 수

qrsReportTitle   리포트 제목 - TQuickReport.ReportTitle프로퍼티에 나오는 것과 동일

qrsDetailCount  리포트에 출려될 총 레코드의 수

qrsDetailNo     인쇄되는 현재의 레코드 번호



4.11.6.  property Font : TFont


Font프로퍼티는 리포트에 인쇄될 텍스트의 속성을 조절하는 폰트 객체입니다. 폰트를 변경하려면 폰트 객체의 Color, Name, Size 혹은 Style프로퍼티의 값을 변경하는 것입니다.


4.11.7.  property ParentFont : Boolean

콘트롤이 폰트 선택을 자신의 Font프로퍼티를 사용할지 아니면 부모 QRBand로부터의 폰트 정보를 얻을 것인지를 결정합니다.


4.11.8.  event onPrint : procedure (sender : TObject; var Value : String)


OnPrint 이벤트는 콘트롤이 출력되기 직전에 호출됩니다. 출력될 스트링은 Value프로퍼티 내에 있으며 변경할 수가 있습니다. 이 프로퍼티는 또한 반복되는 값의 출력을 억제하는데 유용합니다.


4.11.9. property Text : String


데이터의 전면에 즉시 출력되게하려는 어떠한 텍스트도 Text프로퍼티에 넣어 줄 수가 있습니다. 전형적으로 이것을 QRDBCalc콤포넌트의 Data프로퍼티를 qrsDateTime으로 설정한 경우 “Printed at :” 으로 설정하는 것과 같습니다.


4.11.10. property Transparent : Boolean


Transparent 프로퍼티는 콘트롤의 투명성을 결정합니다. 비트맵 꼭대기에 투명한 라벨 혹은 텍스트 콘트롤을 둘 수도 있으며 이 콘트롤은 비트맵의 부분을 가리지 않을 것입니다. 만약 Transparent가 True이면, Color프로퍼티(배경색)는 무시됩니다.



4.12.  QRShape


QRShape 콤포넌트는 리포트에 간단한 모양(shape)을 그리는데 사용됩니다.


4.12.1. property Brush : TBrush


모양을 그리는데 사용될 Brush를 선택합니다. Brush프로퍼티는 두 개의 부프로퍼티 Color와 Style을 가집니다. Brush.Color는 칠할 때 사용할 색상을 선택하면 Brush.Style은 실제 사용할 Brush를 선택하는 것입니다. 가능한 스타일은 다음과 같습니다:


bsSolid         현재 색상을 갖는 Solid brush

bsClear         브러시 사용 안함

bsBDiagonal    오른쪽으로 올라가는 사선(Horizontal lines upwards to the right)

bsFDiagonal    좌측으로 올라가는 사선(Horizontal lines upwards to the left)

bsCross       십자패턴(Cross pattern)

bsDiagCross    대각사선 패턴(Diagonal cross pattern)

bsHorizontal    수평선(Horizontal lines)

bsVertical      수직선(Vertical lines)


4.12.2. property Height : Integer


모양의 Height(높이)


4.12.3. property Pen : TPen


모양의 아웃라인을 그릴 때 사용하는 펜


4.12.4. Property Shape : TQRShapeType


인쇄하고자하는 모양의 종류를 선택하는데 Shape프로퍼티를 사용하며 가능한 값은 다음과 같습니다:


qrsRectangle   리포트에 사각형을 그립니다.

qrsCircle       리포트에 원과 타원을 그립니다.

qrsVertLine     리포트에 수직선을 그립니다.

qrsHorLine     수평선을 그립니다.

qrsTopAndBottom 모양의 꼭대기와 바닥에 수평선을 그립니다.

qrsRightAndLeft 콘트롤의 좌우측에 수직선을 그립니다.


4.12.5. property width


모양의 Width(폭)

4.13.  QuickReport


QuickReport 콤포넌트는 리포트의 조절자입니다. 이것은 델파이 폼을 리포트로 변환해주는 것입니다. 이 콤포넌트를 폼위에 떨어 뜨린 후에 콤포넌트의 Print와 Preview메쏘드를 호출하여 리포트를 만들어 낼 수가 있습니다. 설계 중에는 QuickReport콤포넌트를 우측클릭함으로써 메뉴를 호출할 수가 있습니다. 여기에서 디자인 중에 어플리케이션을 실행시키지 않고서도 리포트를 미리보기 할 수가 있습니다.


QuickReport콤포넌트를 폼에 떨어뜨리는 것은 폼에 스크롤막대를 추가하기 위하여 크기조정이 일어난다는 것을 알아야 합니다. 이것은 리포트 레이아웃을 더 쉽게 하기 위한 의도입니다.


4.13.1.  property PageCount : Longint


런타임, 읽기 전용. 이 프로퍼티는 리포트의 총 쪽 수를 알려줍니다. 리포트가 준비되기 전에는 유효한 값이 아님을 알아야 합니다.


4.13.2. property PageNumber : Longint


런타임, 읽기 전용. PageNumner는 리포트 생성 중의 현재의 쪽번호를 알려줍니다. Data프로퍼티를 PageNumber로 설정하여 QRSysData에 의하여 표시되는 값과 동일한 값입니다.


4.13.3. property RecordNo : longint


런타임, 읽기 전용. RecordNo는 테이블 내의 현재의 레코드 번호를 알려줍니다. 이것은 Data프로퍼티를 RecordNo로 설정하여 QRSysData콤포넌트에 의하여 표시되는 것과 동일한 값입니다.


4.13.4. property ColumnMarginInches : Longint


ColumnMarginInches 프로퍼티는 다중컬럼 리포트에서 칼럼간의 간격을 설정해주는 것입니다. 간격은 1/10인치로 설정됩니다. 이 프로퍼티를 LeftMarginInches와 같이 사용해서 라벨 레이아웃에 맞는 메일링 라벨 리포트를 만드십시오.


4.13.5. property ColumnMarginMM : longint


이것은 ColumnMarginInches프로퍼티와 같은 것이지만 값은 인치대신 mm로 설정됩니다.


4.13.6. property Columns : integer


페이지 상에 출력될 칼럼의 수를 설정합니다. 칼럼의 폭은 자동적으로 Columns프로퍼티, LeftMargin 및 ColumnsMargin프로퍼티에 의하여 설정됩니다.


4.13.7. property DisplayPrintDialog : Boolean


True이면 QuickReport.Print메쏘드를 호출할 때 인쇄 다이얼로그가 표시되게 될 것입니다. 이 프로퍼티의 설정에도 불구하고 표준 미리보기 폼으로부터 Print버튼을 클릭하는 경우에는 이 인쇄 다이얼로그가 표시되지 않게 됩니다.


4.13.8. property LeftMarginInches : Longint


페이지의 좌측여백을 1/10인치단위로 설정합니다. 프린터의 인쇄불가영역이 자동적으로 이 값에 추가되게 됩니다.


4.13.9. property LeftMarginMM : Longint


LeftMarginInches와 동일하지만 단위가 mm입니다.


4.13.10. property onStartPage : TNotifyEvent


OnStartPage 이벤트는 새로운 페이지가 시작될 때마다 호출됩니다.


4.13.11. property Orientation : TPrinterOrientation


Orientation 프로퍼티는 리포트를 출력할 때 사용할 용지의 방향을 선택합니다. 이 값은 poPortrait(디폴트) 혹은 poLandscape입니다. 소스코드로부터 이 값을 설정하려면 사용 클래스 내에 Printer유니트를 포함시킬 필요가 있는데 그 이유는 TPrinterOrientation타입은 그 유니트 안에서 선언되기 때문입니다.


4.13.12. property PageFrame : TQRFrame


전체 페이지 둘레의 테두리를 조절하는 것입니다. top, bottom, right 및 left서브프로퍼티를 True 혹은 False로 설정해서 각 부분의 테두리를 그릴지 여부를 결정합니다. 라인의 스타일은 Style과 Color서브 프로퍼티로 설정할 수 있습니다.


4.13.13. property PaperLength


0이 아닌 값을 설정하면 사용자정의 용지길이를 설정하는 것입니다. 단위는 1/10mm단위로 254단위는 1인치가 됩니다. 이 프로퍼티를 설정하면 자동적으로 PaperSize프로퍼티를 rpCustom으로 설정하게 됩니다. 미리정의된 용지크기를 설정하면 이 프로퍼티를 다시 0으로 설정해주게 됩니다. PaperLength프로퍼티를 설정하는 경우에는 항상 PaperWidth도 설정해주어야 합니다.


4.13.14. property PaperSize : TQRPaperSize


리포트에 사용될 용지의 크기를 선택합니다. qrpDefault외의 값으로 설정하는 것은 프린터 드라이버의 설정에 우선하게 될 것입니다. 모든 프린터 드라이버가 모든 용지 크기를 지원하는 것은 아닙니다.


qrpDefault      현재 프린터 드라이버의 디폴트 용지 크기를 사용합니다.

qrpLetter       Letter size paper (8 1/2 x 11 in)

qrpLegal       Legal size paper (8 1/2 x 14 in)

qrpA3         A3 size paper (297 x 420 mm)

qrpA4         A4 size paper (210 x 297 mm)

qrpA5         A5 size paper (148 x 210 mm)

qrpCustom     PaperWidth와 PaperLength에 의해 설정된 용지크기를 사용합니다.


4.13.15. property PaperWidth


0이 아닌 값을 설정하면 사용자정의 용지폭을 설정하는 것입니다. 단위는 1/10mm단위로 254단위는 1인치가 됩니다. 이 프로퍼티를 설정하면 자동적으로 PaperSize프로퍼티를 rpCustom으로 설정하게 됩니다. 미리정의된 용지크기를 설정하면 이 프로퍼티를 다시 0으로 설정해주게 됩니다. PaperWidthh프로퍼티를 설정하는 경우에는 항상 PaperLength도 설정해주어야 합니다.


4.13.16. property ReportTitle : String


리포트의 제목을 설정합니다. 이 리포트 타이틀은 인쇄관리자와 기타 네트워크 프린터 큐에서 사용되는 제목입니다. 이것은 또한 Data프로퍼티를 ReportTitle로 설정하여 QRSysData에 의해서 표시되는 값과 동일한 것입니다.


4.13.17. property RestartData : Boolean


True (디폴트)이면 QuickReport는 리포트를 인쇄하기 전에 데이터세트의 첫 번째 레코드로 이동할 것입니다. False이면 리포트 생성은 현재 레코드부터 시작하게 될 것입니다.


4.13.18. property ShowProgress : Boolean


True (디폴트)이면 리포트가 준비되고 인쇄되는 중에 진행 폼(progress form)이 나타나게 될 것입니다. 이 진행 폼은 Cancel버튼을 가지고 있어서 사용자가 현재의 과정을 취소할 수 있게 해줍니다.


4.13.19. property SQLCompatible : Boolean


모든 데이터베이스가 테이블 내의 레코드들의 번호를 구할 수 있게 해주는 것이 아니며 BDE는 조작이 그것을 지원하지 않는 데이터베이스에 대하여 이루어지는 경우 예외에러를 일으킬 것입니다. SQLCompatible을 True로 설정하면 QuickReport가 이러한 데이터베이스에 대하여 작동되도록 해 줄 것입니다. 진행 게이지는 SQLCompatible이 True인 경우 움직이지 않을 것입니다.



4.13.20. property TitleBeforeHeader : Boolean


False(디폴트)이면 쪽머리말 밴드는 1페이지 상에 먼저 인쇄됩니다. 쪽 머리말 밴드 전에 Title밴드가 나타나게 하고자한다면 이 프로퍼티를 True로 설정하십시오.


4.13.21. method NewPage


리포트 생성 중에 NewPage 메쏘드를 호출하는 것은 QuickReport가 현재의 위치에 페이지 나눔을 삽입하도록 해줍니다. 이것은 전형적으로 어떤 밴드의 AfterPrint이벤트 내에서 이루어집니다.


4.13.22. method Prepare


Prepare 메쏘드는 리포트를 Prepare하고 그것을 QRPrinter객체에 보내는데 사용됩니다. 이것은 Print 혹은 Preview메쏘드에 의하여 자동으로 호출되지만 인쇄 혹은 미리보기를 하지 않고서 직접 리포트를 생성하고자할 때 호출할 수도 있을 것입니다. 만약 그렇게 하는 경우에는 리포트 사용을 끝내고 나서는 QRPrinter.CleanUp메쏘드를 호출하는 것을 잊지 마십시오.


4.13.23. method Preview


리포트의 인쇄 미리보기를 하기 위해서는 Preview메쏘드를 호출하십시오. QRPrinter.OnPreview이벤트에 대한 이벤트 처리기를 만들지 않았다면 디폴트 미리 보기 폼이 표시될 것입니다. 그렇지 않다면 QRPreview콤포넌트를 가지고 있는 미리보기 폼을 표시하는 것은 당신의 책임입니다.


4.13.24. method Print


Print메쏘드는 리포트를 준비하고 인쇄할 것입니다. DisplayPrintDialog프로퍼티가 True이면 인쇄다이얼로그가 리포트가 준비되기 전에 표시될 것입니다.


4.13.25. event onEndPage : TNotifyEvent


OnEndPage 이벤트는 QuickReport가 새로운 페이지로 이동하기 직전에 호출됩니다.


4.13.26. event AfterDetail : TNotifyEvent


AfterDetail 이벤트는 레코드에 대한 디테일밴드가 출력될 때 호출됩니다.


4.13.27. event AfterPrint : TNotifyEvent


AfterPrint 이벤트는 리포트 생성이 끝날 때 호출됩니다. 이것을 사용하여 BeforePrint이벤트 내에서 열려진 데이터 셋트를 닫는데 사용할 수 있습니다.


4.13.28. event BeforeDetail : TNotifyEvent


BeforeDetail 이벤트는 레코드에 대한 디테일 밴드가 출력되기 직전에 호출됩니다.


4.13.29. event BeforePrint : procedure (var PrintReport : Boolean)


BeforePrint 이벤트는 리포트의 준비작업이 시작되기 직전에 호출됩니다. 실제로, 이 조작은 PrintReport인수를 False로 설정함으로써 취소할 수가 있습니다.


4.13.30. event onFilter : procedure (PrintRecord : Boolean) of object


OnFilter 이벤트는 테이블의 로컬 필터링(local filtering, 지역 필터)에 사용됩니다. 이벤트처리기는 레코드 포인터가 데이터셋트를 진행할 때마다 호출될 것이며 이렇게 함으로써 PrintRecord인수를 False로 설정하여 레코드를 인쇄되지 않게 할 수가 있는 것입니다. QRDetailLink콤포넌트는 자신의 고유 onFilter이벤트가 있어서 리포트의 디테일밴드 내의 레코드를 필터할 수 있음을 명심하십시오. 자세한 내용은 레코드 필터방법에 대한 장을 참고하십시오.


4.13.31. event onNeedData : procedure (MoreData : Boolean) of object


OnNeedData 이벤트는 델파이 DataSource외의 소스로부터 데이터를 출력하고자 할 때 사용합니다. 이러한 레포트를 출력하려면 QuickReport.DataSource프로퍼티를 빈 것으로두고 이 이벤트에 대한 처리기를 제공하십시오. 이 이벤트 처리기는 원하는 소스로부터 데이터를 찾아내어 그 결과를 QRLabels의 Caption프로퍼티에 넣어줍니다. 더 이상의 인쇄할 데이터가 없을 때 MoreData인수를 False로 설정합니다.

QRDetailLink콤포넌트는 또한 onNeedData이벤트를 가지고 있어서 리포트의 디테일 섹션 내의 이벤트 지향 데이터를 인쇄하는데 사용할 수 있음을 명심하십시오.

더 자세한 내용은 비 BDE데이터소스로부터의 리포트 생성법 장을 참고하십시오.


5.  QuickReport 등록양식


16비트 버전의 퀵리포트와 16비트 및 32비트 버전의 퀵리포트의 소스코드를 구입하고자한다면 아래의 등록양식을 채우고 우송하거나 팩스로 QSD AS로 보내주십시오.


PLEASE USE CAPTIAL LETTERS. DONT USE A RED PEN IF YOU INTEND TO FAX THE FORM.


________________

Date


______________________________________________________

Company Name


______________________________________________________

Contact


______________________________________________________

Postal address


______________________________________________________

Zip Code


______________________________________________________

State, Country



Send by Postal mail (Add $10) :____     E-mail :____



E-mail address :___________________________________


Payment method:


Included Check :____   Included Cash/Money Order :____  



Visa :____     MasterCard :____        CompuServe SWREG :____



Credit Card number :_________________________________ Exp. Date :________



Signature :____________________________


등록비용은 $79.00 US이며 등록은 이 양식을 보냄으로써 가능합니다. 등록된 사용자는 등록버전과 소스코드를 인터넷으로부터 다운로드받거나 추가 US $10으로 우편으로 받을 수도 있습니다.


콤퓨서브 퀵리포트의 SWREG번호는 8644입니다.

신용카드로 지불하거나 SWREG를 통해하는 경우 이 등록양식을 QSD팩스: +47 77 41 74 91로 보내실 수 있습니다.

현금 주문인 경우에는 동봉하여 다음 주소로 보내야합니다:

QSD AS, Radhusgt. 9, 0151 Oslo, Norway

우리의 웹 사이트에서 완전한 등록 정보와 온라인 등록 양식을 보실 수 있을 것입니다.


6.  QuickReport Mailing List


퀵리포트 새 버전이 발표될 때 e-mail로 그 사실을 받고자한다면 qmail@qsd.no로 SUBSCRIBE QUICKREPORT라는 메시지 서브젝트로 e-mail을 보내십시오. 이 주소를 질문이나 퀵리포트에 대한 코멘트로는 사용하지 마십시오.



7.  인터넷으로부터 다운받을 수 있는 파일


수주 내로 다음의 파일들은 우리의 웹 사이트인 http://www.qsd.no로부터 다움 받을 수 있을 것입니다:


○ 국제판 도움말파일 및 자원파일(German, French, Italian)

○ QuickReport FAQ

○ 갱신된 퀵리포트 16비트 및 32비트 버전

○ Word와 HTML형식의 문서



8.  제 3자 퀵리포트 인쇄가능 콤포넌트


일부 퀵리포트 사용자들은 TQRCustomControl클래스에 기초한 훌륭한 인쇄가능 콤포넌트를 가지고 있으며 다른 퀵리포트 사용자들과 이들 콤포넌트를 공유하고자 하고 있습니다. 우리의 웹 사이트 www.qsd.no 혹은 ftp사이트 ftp.qsd.no로부터 이들 콤포넌트들을 다운로드 받을 수가 있습니다. 만약 당신이 만든 콤포넌트를 등록하고자 한다면 웹 사이트의 안내를 따르시기 바랍니다.



9.  개정 내용


9.1.  Version 1.0d


○ 다중라인 QRLabel/QRDBTxt 지원 및 탭 확장(tab expanding)이 32비트 버전에서 일시적으로 제거되었습니다. 곧 16비트 및 32비트 버전에서 다시 나타날 것입니다.

○ 버그 교정, AV/GPF상황 제거

○ 버그 교정, QRMemo는 더 이상 우측문자를 자르지 않습니다.

○ 버그 교정, 우측정렬 숫자가 제대로 출력됩니다.

○ 버그 교정, Large Fonts시스템에서 디자인 중의 미리보기가 이제는 제대로 됩니다.

○ 버그 교정, 32비트 버전에서 투명이 제대로 동작합니다.



9.2.  Version 1.0c


○ QRLabel/QRDBText는 다중라인 텍스트와 탭확장을 지원합니다.(32비트 버전만)

○ 디자인 중의 미리보기는 더 이상 리포트폼을 최소화하지않으며 단지 잠그기만 합니다.

○ 등록된 사용자가 어플리케이션의 크기를 최적화하도록하기 위하여 일부 가능한 조건 define이 추가되었습니다. QUICKREP.PAS의 첫부분을 참고하십시오.

○ QuickReport는 BDE가 링크되지 않고서도 컴파일될 수 있습니다. XBDE조건정의를 포함시킴으로써 그렇게 할 수 있습니다.(등록된 사용자만 해당). QUICKREP.PAS의 주석을 참고하십시오.

○ TQuickRport콤포넌트를 폼위에 떨어 뜨리는 것은 Form.Scaled프로퍼티를 자동으로 False로 설정해줍니다. Font는 자동적으로 MS Sans serif 혹은 System인 경우 Arial로 설정됩니다.

○ 버그 교정, Large Fonts 시스템 상에서 Small Fonts로 설계된 리포트를 가동시키는 등의 것은 더 이상 스케일 문제를 일으키지 않습니다.

○ 버그 교정, 새로운 인쇄 콘트롤 루틴과의 몇가지 문제가 고쳐졌습니다.

○ 버그 교정, QRDBText는 이제 AlignToBand프로퍼티를 가지게 되었습니다.

○ 버그 교정, 텍스트가 우측 모서리 바깥으로 출력되면 미리보기의 그림자를 겹쳐쓰지 않을 것입니다.

○ 버그 교정, 모든 템플릿들이 16비트 버전에서 올바로 작동됩니다.

○ 버그 교정, AlignToBand=True를 사용하면 더 이상 다른 콘트롤들을 동일 선상에 혼란스럽게 하지 않습니다.

○ 버그 교정, 밴드 배경은 QRBand.BeforePrint이벤트 내에서 밴드 인쇄가 불가능하게 되었을 때 더 이상 칠해지지 앟습니다.

초기 버전으로 생성된 제3자 인쇄가능 콤포넌트들은 새로운 Large font 시스템에서 작동되게 하기 위하여 작은 변경을 필요로 할 것입니다. 이 문서 내의 자세한 내용들을 참고하시기 바랍니다.


9.3.  Version 1.0b


버전 1.0b는 16비트와 32비트 모두 이용가능합니다. 완전한 32비트 버전은 델파이 2.0사용자의 경우 무료로 업그레이드됩니다. 16비트 버전은 쉐어웨어이며 이전 버전을 등록한 사용자들은 무료로 업그레이드 할 수 있습니다.

○ 새로운 프로퍼티 QRPrinter.PaperWidth, QRPrinter.PaperLength, QRPringer.PaperSize, QRPrinter.Copies, QRPrinter.PaperBin

○ 새로운 프로퍼티 QuickReport.PaperSize, QuickReport.PaperWidth, QuickReport.PaperLength

○ 테두리의 부분을 조절하는 새로운 프로퍼티 QRBand.Frame.DrawTop, DrawBottom, DrawLeft, DrawRight

○ 새로운 프로퍼티 QuickReport.PageFrame는 전체 페이지 주위의 상하좌우테두리를 출력할 수 있게해줍니다.

○ 버그 교정, 마지막 그룹 꼬리말에서 항상 올바른 데이터 레코드가 인쇄됩니다.

○ 버그 교정, 프린트마스크가 이제 QRDBCalc에서 정수 필드와 함께 올바로 작동합니다.

○ 버그 교정, 오버레이 밴드를 사용할 때 더 이상 불필요한 페이지가 인쇄되지 않지 않게 합니다.

○ 버그 교정, QuickReport.NewPage를 사용하면 새로운 페이지에 텍스트를 올바로 위치시킵니다.

○ 버그 교정, 밴드 프레임이 좌측마진 설정 및 또한 pen width=1로 제대로 작동합니다

○ 버그 교정, landscape리포트의 저장과 로딩이 올바로 됩니다.

○ 버그 교정, 그룹 머리말/꼬리말은 첫 번재 그룹 데이터가 빈 것이라도 올바로 인쇄됩니다.

○ 표준 미리보기 폼 상의 도구막대한 대한 외관적인 갱신


9.4.  Version 1.0a


이것은 일반적으로 배포된 16비트 버전입니다. 델파이 2.0용 32비트 버전은 없었습니다.

○ 버그 교정, QRLabel, QRDBText, QRDBCalc의 onPrint이벤트가 제대로 동작합니다.


9.5.  Version 1.0


이 버전은 델파이 2.0과 함께 배포된 것입니다. 16비트버전으로는 배포되지 않았습니다.


9.6.  Beta versions


베타버전에 대한 버전 역사는 혼동을 피하기 위하여 포함시키지 않았습니다.



10.  Credits


QuickReport 와 그 문서는 Allan Lochert에 의해서 작성된 것입니다.

이 문서를 번역한 사람은 김금석(HiTEL : ilyangks)입니다.

출처 : Tong - 바_람개비님의 델파이공부방통