Lazarus まとめサイトをボチボチ作ろうと思い
以下のサイトを公開してみました~
https://sites.google.com/site/lazarue777/
PowerPdf にて、試しに日本語フォントの有効と文字化けの対処をしてみた
修正版をアップしてみました。
以下のページからソースをダウンロードできます。
https://sites.google.com/site/lazarue777/home/konponento-raiburari/powerpdf
オープンソースの Free Pascal Lazarus に関するブログ。 Lazarus のまとめ(備忘録)サイトも公開中♪ https://sites.google.com/site/lazarue777/
2010年9月15日水曜日
まだ、PowerPdf を調査中。。。
PowerPdf の同じようなところでハマっている人がいました~
http://tomomori.cocolog-nifty.com/blog/2009/12/powerpdfbytetyp.html
http://tomomori.cocolog-nifty.com/blog/2009/12/powerpdfbytetyp.html
Lazarus から PowerPdf を使ってみる
Lazarus から PowerPdf を使ってみることにしました。
とりあえず、以下の順でコントロールを配置してみました。
1) TPReport
2) TPRPage
3) TPRLayoutPanel
4) TPREllipse
印刷ボタンを作成し、クリックイベントでPDF出力処理を記載。
円をPDFに出力することができました。
5) TPRLabel を配置し、Caption に「アメリカ」と入力。
PDFを出力すると見事に文字化けしました~(笑)
とりあえず、以下の順でコントロールを配置してみました。
1) TPReport
2) TPRPage
3) TPRLayoutPanel
4) TPREllipse
印刷ボタンを作成し、クリックイベントでPDF出力処理を記載。
procedure TForm1.Button1Click(Sender: TObject);
begin
if SaveDialog1.Execute then
with PReport1 do
begin
FileName := SaveDialog1.FileName;
BeginDoc;
Print(PRPage1);
EndDoc;
end;
end;
円をPDFに出力することができました。
5) TPRLabel を配置し、Caption に「アメリカ」と入力。
PDFを出力すると見事に文字化けしました~(笑)
2010年9月14日火曜日
2010年9月12日日曜日
PowerPDF の Lazarus 移植版をパッケージインストールしてみる♪
PowerPDF を SVN からエクスポートし、
http://wiki.lazarus.freepascal.org/PowerPDF
インストールしてみることにしました~
とりあえず、コンパイルとインストールはできたみたい♪
http://wiki.lazarus.freepascal.org/PowerPDF
インストールしてみることにしました~
とりあえず、コンパイルとインストールはできたみたい♪
TExtendedNotebook の子コントロールが変更されたのかな?
TExtendedNotebook を使用していて、SVN 更新したら、
子コントロールの TPage 読み込みでエラーになってしまった。。。
試しに TExtendedNotebook 上でページの追加の操作をしてみたら
TTabSheet で子コントロールが作成されている~
あれれ??仕様が変わった??
子コントロールの TPage 読み込みでエラーになってしまった。。。
試しに TExtendedNotebook 上でページの追加の操作をしてみたら
TTabSheet で子コントロールが作成されている~
あれれ??仕様が変わった??
2010年8月19日木曜日
interface(インターフェース)を持っている(実装されている)か?の判定
親クラスを持っているか?を判定するには、is を使用するればいいけど、
interface(インターフェース)を自分で作成して、
クラスに持っているかを判定したい場合、GetInterfaceEntry を
使用します。
as を使用したい場合には、interface に GUID を埋め込んで置く必要があります。
IDEのソース上で GUID を埋め込みするには、[Ctrlキー] + [Shiftキー] + [Gキー] を
キー入力します。
interface(インターフェース)を自分で作成して、
クラスに持っているかを判定したい場合、GetInterfaceEntry を
使用します。
as を使用したい場合には、interface に GUID を埋め込んで置く必要があります。
IDEのソース上で GUID を埋め込みするには、[Ctrlキー] + [Shiftキー] + [Gキー] を
キー入力します。
type
IDWSShapeContainer = interface
['{8D26C9EF-AD7A-4A6F-B145-BBEBC2D85240}']
function IsShapeFocused():Boolean;
end;
TDWSBoxFlowDiagram = class(TPanel, IDWSShapeContainer)
:
end;
procedure TDWSShape.PaintSelectFocus(ACanvas: TCanvas);
var
container: IDWSShapeContainer;
begin
// nil 以外なら持っている。nil なら持っていない
if Self.Parent.GetInterfaceEntry(IDWSShapeContainer) <> nil then
begin
container := Self.Parent as IDWSShapeContainer;
if not container.IsShapeFocused() then
begin
exit;
end;
end;
:
end;
登録:
投稿 (Atom)