Sidebar |
Rave レポートを ゼロからはじめてみよう[4]
もしかして 文字化けしないかもと 淡い期待を寄せて 公式サイト公言 RTF対応というサンプルを試してみた procedure TForm1.RvSystem1Print(Sender: TObject); var MemoBuf: TMemoBufEx; begin With Sender as TBaseReport do begin MemoBuf := TMemoBufEx.Create; MemoBuf.BaseReport := Sender as TBaseReport; try MemoBuf.RichEdit := RichEdit1; MemoBuf.PrintStart := 1.0; MemoBuf.PrintEnd := 7.0; While not MemoBuf.Empty do begin MemoBuf.PrintHeight(SectionBottom - LineTop,false); If not MemoBuf.Empty then begin NewPage; end; { if } end; { while } finally MemoBuf.Free; end; { tryf } end; { with } end; procedure TForm1.Button1Click(Sender: TObject); begin RvSystem1.Execute end; 実行画像サンプル 結論 文字化け万歳 重なり 万歳 フォント不適応万歳 ふふふ 文字の重なりならともかく、フォントくらい再現してほしいものだ ふふふ このレベルでは PDF対応なんて 夢だな・・・ RTF出力がいるときは、使えないな・・・・ 後日解読用 リンク C# .NET を使用して RichTextBox の内容を印刷する方法 RichEditを印刷プレビュー1 RichEditを印刷プレビュー2 どうやって、RaveにTRichEditの親を持たせるかが問題だな・・・ うーん。。。いい案がないので隠しフォーム作ってその上にRichEdit載せるかな・・・ 表示させるのには、成功したけど Expandとtruncateにも対応させるしかないなぁ・・・ ダミーつくってみよう♪ Rave レポートを ゼロからはじめてみよう[3]
すっかり、RaveReportのこと忘れていました(^_^;) ということで 前回の続き (設計時の画面:Paint処理に対応したので画像追加) (描画処理は、Paint、Print同じ関数で処理しているので見た目はほとんど同じになります) 文字揃えも機能するようにしました。 Tabも文字の長さとして数えているので付け方によっては真ん中にはならないけど 最初と最後のTab切り捨てて、真ん中、右寄せ、みたいな感じにしてもいいけど面倒だからしない。 デザイナからのプレビュー表示画面はこんな感じ。 右がオリジナルのRaveMemo 変則的なタブには対応していないけど まぁいいか。メモコンポだし。 タブ幅は同間隔で、mmで指定できます。 基本は左寄せ メモ Raveは、Delphiが動いていないと設計させてくれない。 Delphi2005でなくても、旧バージョンをなにか立ちあげていればいいみたいなので 2秒で立ち上がるバージョンのDelphiを起動すれば確認は簡単。 普通に機能するレベルの完成 DataMemoに対応するかは未定。 イベントで書けばDataMemoはいらない function DataBand1_OnBeforePrint(Self: TRaveDataBand); に .Text := '体長 '+DriverDataView2Length_cm.AsString + ' cm'; 日本語化けも一件落着したことだし 開発一時終了 標準のバグ ・標準コンポを特定条件に配置すると無限ループ印刷バグを発見した。(仕様?) (DataBand1の縦サイズがRegion1を越えて配置すると無限ループ) ・HTML出力 画像は絶対リンクされているのでIEでないとみれません。 (場所を変えると見えません最悪) Textで書いている文字も時々重なります。 ・PDFには全く対応できていない。(機能しない物を付けないでほしい) ・英文しか資料がない。 海外にも個人的な解説サイトがない。 結論 他のレポートツールで簡単にできることをここまでして苦労する意味はないです。 オープンソースのレポートツールに日本語パッチを当てた方が楽だし、 今回で使うのは辞めます。 作ったソースは、CD_Rにでも移してHDDから抹消してきれいさっぱり記憶から消します。 利用することはないので アンインストーラーを起動・・・ これでDelphi2005の起動が少し速くなります♪ Delphi/Rave Report/はじめてみよう 「0」 「1」 「2」 「3」 アップするのを忘れていたのを発見したので 番外編:「4」 |
Sidebar |