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

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
2005.06.17

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」
カテゴリー: ごみいれ/Rave
2005.06.14

Rave レポートを ゼロからはじめてみよう[2]




いじると 簡単だった。

そのままだとMemoで日本語が化けるので、Memoを日本語対応化
そのままバッファいじっても芸がないので独自に描画。
文字間と行間も指定できるようにしようかな。
あと、書式文字にも対応できるといいな。
禁則処理と・・・

とりあえず、日本語が化けなくなったのでOK
面倒なので設計時のpaintはそのまま放置。


今日もいい感じに味付けできました
パクリ





デバック機能モードのテスト画面。 デバックモードだと線を引くので
間違っているところがすぐに目に付く。 まぁ 今回はOK? ん? デバッグ用の線が短い。
文字の長さぶんもう一本引こう
今日は、行間と文字間隔を指定できるように付け加えました。
mm,インチ、ポイント、1、2行と 好きな単位で隙間をあけれるようにしました。
とりあえず、規定値を、0.2行プラス、0.1文字プラスにしました。
1行よりつめて かさねるときは、-をするといいかな。
0だと補正なし(すぐ1行したって感じ)。
あと水平と垂直方向の切り捨て(インデント)機能をつけるとおしまいかな。
内部的には、簡単に実装できるので 今度いるときに足そうかな。


続く・・・>>
Delphi/Rave Report/はじめてみよう
「0」 「1」 「2」 「3」 「4」
カテゴリー: ごみいれ/Rave
2005.05.01

Rave レポートを ゼロからはじめてみよう[1]
設定をしてみましょう



1.Delphi側の設定
とりあえず。
DataSource1
Table1
RvProject1
RvDataSetConnection1
RvRenderPreview1
をフォームに配置します
オブジェクトインスペクタで設定をします。
【DataSource1の設定】
 DataSet : Table1
【Table1の設定】
 DatabaseName : dbdemos
 TableName : country.db
【RvDataSetConnection1の設定】
 DataSet : Table1
RvProject1を右クリックして、
Raveビジュアルデザイナを開きます。
 保存でどこか保存します。
【RvProject1の設定】
ProjectFile : いま保存したファイル名を設定します
ボタンを配置して。
procedure TForm1.Button1Click(Sender: TObject);
begin
   RvProject1.Execute;
end;
とします。
2.Raveビジュアルデザイナ設定
(Reportウイザードを選択して、Simpleをクリックしていって、最後に保存でもいいです。
 とりあえずなれるために 下の操作をしてみましょう)
ReportタグからRegion1を選択していれます。
DataBand1をそのなかにいれます。
DataMemo1をそのなかにいれます。
新規作成DataObjectで、Direct DataViewを選びます。
右側のリストでDataView1を右クリックして、更新(Refresh)を選びます
項目が追加されたと思います。
DataMemo1をくりっくして。プロパティに代入します。
 DataView : DataView1
 DataField : Name
Region1
 DataView : DataView1
保存します。
3.Delphiに戻ります
Delphiで実行します。
ボタンを押し プレビューを押すと
国の名前がでてきたと思います。
雰囲気はなんとなく つかめてきました。

続く・・・
Delphi2005についていたのは、
試していたら、 

すぐには、PDF出力つかわないけど
PDFの出力バグがあったので、なおるまで使えないな。
fillstyleかえるとPDFが読めない。
あと、
日本語を1バイトで折り返すので、
まともにレポートつくれないよぉ。
データ渡すときに 枠にはいるように
こっちで改行してあげてないといけないっぽい。
 面倒!! かなり料理してあげないと使えないなぁ
ということで、
Rave レポートは、 おわり。
最悪、旧バージョンで データとレポート部分をQreportで処理して
DLLで、操作するしかないな・・・
そうなると、Delphi2005を買った意味がない気がしてきた・・・{/face_z/}
次は .Net の Cristalレポートを使ってみるかな・・・

Cristalレポート9は斜線も引くことができない。 なんてソフトだ。

お話にならない (・_・ )ノ"" ゜ ポイッ

うぁーーん Delphi2005買って損したよぉー 
返品したいよぉー。
えーん
しくしく。

続く・・・

Raveの続きはこちら「2」
Delphi/Rave Report/はじめてみよう
「0」 「1」 「2」 「3」 「4」



リンク
Rave Reports入門
 Part I: Code Based Reports
 Part II: Visual Designer
 Part III: Data Aware Reports
 Part IV: More Data Aware Reports
カテゴリー: ごみいれ/Rave
2005.04.16

Rave Reportを ゼロからはじめてみよう[0]
設定をしてみましょう


まず、ヘルプをざっと読んでみます。
ほんとに、全くしらないんで(^_^;)
緊張しますね・・・
しばらくお待ち下さい・・・
(リアルタイム・・・ ほんとにいま読んでます)
<�2分経過>
なんだか、一個のアプリケーションを操作するって感じ
の雰囲気が漂ってきました。
<�3分経過>
おぉ、バーコードも出力できるのですね。
すごいなぁ。 ついでにQRも出せるともっていいのになぁ
<10分後>
デザイナー起動 ぶーーーーーん ぶんぶんぶん。
あれ〜 よくわかんない。。。
とりあえず、何かつくってみよう
Delphi2005起動、 ぶー〜ん? ぼこん ぼこん ぼこん」
・・・ ・・・ しばらくお待ち下さい・・・

サンプルを試してみる・・・
ん? RAVファイルがないとつかえないのかぁ
Q_Repoのほうがましかなぁ・・・
EXEと別につくるの面倒だし。
今日はおしまい。

 とりあえず、DBと連携・・・ invalid
・・・ 効率わるいので使うのやめよう・・デザイナも使いにくいし。
Quickレポ今度のバージョンついてないし、しかたない
今度はCristal レポートに挑戦しよう

土曜
DataView1を右クリックして更新を選んで保存をすると動きました
Raveデザイナがバカだったんだぁ

続く・・・>>
Delphi/Rave Report/はじめてみよう
「0」 「1」 「2」 「3」 「4」


リンク
Rave Reports入門
 Part I: Code Based Reports
 Part II: Visual Designer
 Part III: Data Aware Reports
 Part IV: More Data Aware Reports
カテゴリー: ごみいれ/Rave
2005.04.05



PR

[PR]