筆者は(おぉ いつから偉くなった?)
ぺたぺたコード集という名のもとに
フォルダによく使うルーチンをテキストでバラバラに登録している。
ファイル名ですぐみつかるのは、
いいけど、
最近 プロジェクトごとに貼り付けるのが面倒になってきた。
やはり 汎用ユニット化しておくべきのような気がしてきた。
でも。無駄コードが混じってEXEが巨大化するもの避けたい。
分類分けが難しく面倒なので ユニット化しない要因なんだが。。。
かなり悩むな。。。
DOC吐き出しツールを拾ってきてから検討しよう。
自分で書いたコード 1年みないと解読に4〜5日かかるし・・・
そのとき理解していても、コメント記入は重要だな
書いているとき頭に全部あるのでコメントつけないのがいけないな。
気を付けよう
ここ数年は、読みやすい関数名つけるようにしているけど
どうせ海外にだすわけでもないし、だれでもよめる可読性重視で
ここ数ヶ月は、英語名付けるのはやめて、よく使われる
デフォルトのプロパティ名以外はローマ字にしてみた。
そのへんでいうと 一太郎は、ローマ字で関数名作っているきがする。
海外無視、誰でも読めるが一番かな。
Delphi/Rave Report/覚え書き「01」
最近、忙しいので忘れたときのためにメモを書こう。
書くのはいいけど・・・・
でも、ここって メニューが一個しか作れないからメモにはむいてないなぁって
探すのが大変なんだよね量が増えると・・・
アクセスのデータメモ使いにくいし、
ローカルのXOOPSかHTMLにでも保存するかな・・
えっ 関係ない言葉がおおいって だってメモだもん ショワッチ・・・
ここ更新失敗すると全部消えるしなぁ・・・ XOOPSにメモいれようかな
表示するときPC重くなるけど・・・でもデータ紛失よりましかな・・・
更新したページだけHMTLを新規に吐き出す、サイトツールのだだなのがあれば
閲覧時はサーバー不要になるし メモ帳がわりになるんだけどなぁ
では本題へ。。。コンポーネントの登録
詳しくはこちら http://www.nevrona.com/files/rant.txt
・RAVEデザイナへの登録(デザイナから登録する)
? まず、Delphiの新規パッケージを開き下記の作ったunitを追加登録して
コンパイルする。
? ?でできた、パッケージファイル(D:My DocumentsBorland Studio ProjectsBpl
taRvJp.bpl)を
RAVEデザイナの
Edit -> Tool -> Preferences -> Packages -> Add
を押して 指定し登録します。
・RAVEデザイナへの登録コマンド
procedure RaveRegister;
begin { RaveRegister }
RegisterRaveGroup('JPStandard','日本 Standard Components');
RegisterRaveComponents('JPStandard',[TRaveJpMemo]);
RegisterRaveProperties(TRaveJpMemo,
{Beginner} '',
{Intermediate} '',
{Developer} '',
{Hidden} '');
end; { RaveRegister }
・デザイナへの描画(印刷とは無関係)
procedure TRaveJpMemo.Paint(Canvas: TCanvas);
begin
inherited;
// 面倒なので放置。
end;
・印刷デバイスへの描画
procedure TRaveJpMemo.Print(Report: TBaseReport);
begin
If not AllowPrint then
begin
FillChar(Buf, SizeOf(Buf), #0);
MemoBuf.SetData(Buf,0);
Exit;
end;
MemoBuf.Pos := MemoBuf.Pos+書き込んだ文字数
// 最終的に
// MemoBuf.Pos := MemoBuf.Size;
// になるまで、ループが入るので注意
// いらなくなったら、バッファクリアしておくといい
end;
単位変換
//レポート単位?(units)からインチへ
Report.YU2I(FHeight);
逆
Report.YI2U(Left);
unMM : MoziHaba_XSpace := Convert(FMozikann,duMillimeters,duInches);
unCM : MoziHaba_XSpace := Convert(FMozikann,duCentimeters,duInches);
unPoint : MoziHaba_XSpace := Convert(FMozikann,duPoints,duInches);
文字出力
Report.PrintXY(X,Y, TempStr);
// × Report.Canvas.TextOut
あとは、VCLと同じかな
【パレット用の画像の設定】 リンク参照
raveには、プロパティエディタにSet型が無いと言うことに気がついた
自分で作ってみた
Ravってつかえないやつ・・・
いまいちやるきがしない。
【Raveプロパティエディタ】
・Instance[i]
コンポーネント
・InstCount
コンポーネントの個数
例:編集しているコンポーネント
Instance[InstCount-1]
一個しかないのなら Instance[0]でいい
・Name :プロパティ名
・Set型のプロパティの場合の値の取り方
GetOrdProp(Instance[0],Name)
さらば、Rave
Delphi2005には、みきりをつけた
ばかばかしいので旧バージョンの Delphiでレポート作ろう
匙がないのでふぉーくなげよう
という気分だろうな 普通は・・・
まぁ ここまできたから なんとか自力で解決したが。。。
このままでは、登録したコンポーネントは、ソフトからは利用できない。
フォーム のCreateなどに
そのRaveユニット名.RaveRegister;
を呼び出す。
これを書いていないと、.rav ファイルを呼び出した時点で例外が発生する。