【DO!BOOK・ページリンク】
2010_migaro_techreport_001   46 / 84

BOOKをみる

10秒後にBOOKのページに移動します


44 DataSet に変換したい項目をダブルク リックしていく。すべての項目を選択し たら、[作成]→[XML からデータパケッ ト]を選択しよう。すると、XML の各 項目がデータパケット欄に表示されるは ずだ。これでマッピングが完了である。  最後に「変換の作成とテスト」をクリッ クすると、図に示すように、データセッ トが表示されるのが分かる。(画面は、 XML ファイルを、実際にDataSet に変 換した結果である)。【図10】  変換が完了したら、「保存」より変換ファ イル(拡張子.xtr)の保存を行う。これ で変換ファイルの作成は終了である。  あとは、TXMLTransformProvider のXMLDataFile プロパティに処理対象 となるXML ファイルを指定し、Trans formRead プロパティにあるTransform ationFile に変換ファイルを指定の上、 TClientDataSet のProviderName プロ パティに対象のTXMLTransformProvi der を指定すれば完成である。  このように、XML ファイルは簡単に DataSet に変換できるため、Rave Repo rts において、XML ファイルを使用し た帳票出力が容易であるということもご 理解いただけるだろう。 6. PDFファイルの作成  Rave Reports には、「PDF ファイル」 出力機能が用意されている。しかし残念 ながら、日本語環境化での動作はサポー トされていないのが実情だ。では、 Delphi/400 からPDF ファイルを作成 するには、どうすればよいだろうか?  最も簡単な方法は、PDF プリンタド ライバを使用する方法であろう。本家の Adobe Acrobat のみならず、近年は PDF 出力可能なフリーソフトも多数リ リースされているので、これらを出力先 プリンタに指定すれば手軽にPDF 出力 が可能である(※)。 ※前述の「4. 出力先プリンタの指定」で解説した技 法を使用すれば、PDF プリンタの出力先指定も行 える。  ただし、この手法の欠点は、クライア ントPC 上にPDF プリンタドライバの インストールが必須となることである。 企業内のGUI アプリケーション等であ れば統一環境の構築も検討できるであろ うが、そうでない場合、クライアント PC の環境を固定化するのは困難であろ う。そういった場合は別の手法を検討す る必要が出てくる。  そこで今回ご紹介する方法は、Delphi で使用可能な、PDF 出力コンポーネン トである「PowerPDF」を使用する方法 だ。PowerPDF は、LGPL ライブラリと してソースコード付で公開されている。 PowerPDF0.91 for Delphi 2009 (Delphi/400 Ver2009 以降) http://mam.dnsalias.net/download/ delphi_powerpdf.html PowerPDF0.9 (Delphi/400 Ver2007 以前) http://www.est.hi-ho.ne.jp/takeshi_ kanno/powerpdf/  PowerPDF を使用すると、クライア ントPC のプリンタドライバ導入状況に かかわらず、PDF ファイルの出力が可 能になる。(作成されたPDF ファイル の確認には、専用の閲覧ソフトが必要で あることはいうまでもないだろう)。  本ツールは、QuickReport のように、 Delphi フォーム上に帳票レイアウト設 計が可能なコンポーネント群となってい る。【図11】  このPowerPDF の基本的な使用方法 は、次の通りである。【図12】 @ プロジェクトに帳票用フォームを新 規作成する。 A 下記コンポーネントを貼り付ける。 ・ TPReport:PDF 出力を管理するコン ポーネント ・ TPRPage:PDF ファイルの1 ページ を表わすコンポーネント ・ TPRLayoutPanel:単票形式のパネル コンポーネント B TPRLayoutPanel 内に出力用コンポー ネントを貼り付ける。 ・ TPRLabel:タイトル(表題)を表わす コンポーネント ・ TPRText:複数行表示可能なコンポー ネント C ソース4 のようなプログラムを記述 する。【ソース4】 ・ FileName:出力先PDF ファイル名 を指定 ・ BeginDoc:PDF 作成の開始 ・ Print:指定したページのPDF を出力 ・ EndDoc:PDF 作成の終了  なお、PDF1 ページを表わすTPRPa ge は、コンポーネントサイズが大きい ため、TScrollBox に置いて使用すると 便利であろう。  このように、PowerPDF を使用すれば 帳票のPDF 化も容易である。ただし、 Rave Reports とは互換性はないため、 従来のプリンタ出力とPDF 出力と両方 が必要となる場合は、2 種類の作り込み が必要となることにご注意いただきたい。 7. 最後に  今回は、Delphi/400 から作成する帳 票として、Rave Reports およびPower PDF という2 つの帳票ツールのトピッ クスを紹介した。  特に、これまでIBM i のOUTQ(ス プール)を使用していた方は、画面の GUI 化同様、帳票の表現力が向上する ので、ぜひ一度これらのツールを使用し てみてほしい。Delphi/400 からの帳票 出力が、容易でかつ効果的あることを実 感いただけるであろう。  また、ミガロ. ホームページには帳票 に関するトピックスも多数掲載している ので、参考になれば幸いである。 M