日記帳
本ページはプロモーションが含まれています
カテゴリー
Links
blog(ブログ)マスター
アンドロイドの巣
ゼロから始めるベランダ菜園
タイトル
2024年12月
2 3 4 5 6 7 1
9 10 11 12 13 14 8
16 17 18 19 20 21 15
23 24 25 26 27 28 22
30 31 29

アーカイブ

2005年06月 のアーカイブ

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」


PR

[PR]