喫茶XRAYトップページ

[スレッド全体
]

[988] ドキュメントを印刷する最初の最初は?返信 削除
2006/11/4 (土) 01:56:04
皆さん、お茶をお楽しみのところご無礼します。
環境はWindowsXP Delphi6 Personalです。
印刷の初歩の初歩の入り口が解らずうろうろしています。
RichEditでメモ帳を作成していますが、印刷の段階で
はたとたたずんでいます。
印刷といえば
    if PrintDialog1.Execute then
    begin
        RichEdit1.Print(Caption);
    end;
位しか知りません。これでは間が抜けているので、XRAYさんの
plSetPrinterをインストールして、Demo、説明を読んでいるのですが
解りません。
RichEditに表示しているテキスト文を印刷しようとして
       Printer.Title:='印刷のテスト';
       Printer.Canvas.Font.Name:='MS ゴシック';
       Printer.Canvas.Font.Size:=10;
       Printer.Canvas.TextOut(1000,1000,TabSheetEx.RichEdit1.Text);
とやってみるのですが一行しか印刷しません。
つまり、高機能を使う以前のお馬鹿な質問ですがご指導ください
ませんか。
よろしくお願いします。




[989] Re:RichEditの印刷方法返信 削除
2006/11/4 (土) 03:13:06 Mr.XRAY
▼ 宮さん

> RichEditでメモ帳を作成していますが、印刷の段階で
> はたとたたずんでいます。


RichEditは寸法の単位が特殊です。換算と工夫が必要です。
以下を参考にして下さい。

http://homepage2.nifty.com/Mr_XRAY/Delphi/plSamples/T_RichEdit1.htm
http://homepage2.nifty.com/Mr_XRAY/Delphi/plSamples/T_RichEdit2.htm


[990] Re2:RichEditの印刷方法返信 削除
2006/11/4 (土) 10:44:24
▼ Mr.XRAYさん

さっそく教えて頂きありがとうございます。
プリンタの世界は別世界ですね。(#ビン?なにこれ?
やっと給紙装置だと知りました)
すぐには理解できませんのでじっくり勉強します。
エディタは奥が深いから勉強になるとどこかに書いてあるのを見て
タブ式の簡易エディタを作成しようと取りかかったのですが
やはり、プリンタとルーラーが肝ですね。

RichEditが特殊と聞いてがっくりです。
実はTMemo、TRichEdit、SonEditなどどれをペースにするか
迷っていました。ネット検索すると、はっきり言って
TMemo、TRichEditなどぼろくそに書いてあります。
SonEditは個人コンポーネントで情報不足、どうせやるなら
RichEditがいいだろうと決めた次第です。

自分は、昔からエディタ関係はFitzNoteを理想のツールとして使って
います。もう10年近くアップデートはありませんが
いまでも十分通用します。
http://hp.vector.co.jp/authors/VA009019/
これを目指しています。

また、ローレベルな質問ですが、よろしくお願いします。

[992] Re3:RichEditの印刷方法返信 削除
2006/11/4 (土) 13:00:44 Mr.XRAY
▼ 宮さん

> SonEditは個人コンポーネントで情報不足、どうせやるなら
> RichEditがいいだろうと決めた次第です。

SynEditというものあります。
http://synedit.sourceforge.net/
なぜ、他の方がTRichEditでなく、他のコンポを、というかと、いろいろ機能
を拡張していくと、TRichEditに拡張していく必要があります。
これを自分でやるとなると大変だからではないでしょうか。

私自身、自分が開発しているアプリにはTMemo,TRichEditのかわりにSynEditを
使用しています。

[993] Re4:RichEditの印刷方法返信 削除
2006/11/4 (土) 14:27:37
▼ Mr.XRAYさんいろいろ教えて頂いてありがとうございます。
 
> 私自身、自分が開発しているアプリにはTMemo,TRichEditのかわりにSynEditを
> 使用しています。


基礎となるエディットコンポーネントを選ぶのは大事なことだと思います。
ちょうど自動車を買い換える時どれにしようかなと考えている時のような
わくわくした気分になります。
それでTMemo、TRichEdit、SonEdit、AFEdit、SynEdit、TEditor、TNotePadを
見て回りました。
自分はそもそもなぜ簡易エディタを作ってみるのかと何度も自問自答しています。
TeraPadやNoEditorがあるではないか。何が不足なのか?・・・と。
TeraPadは行頭、行末の一括変換、追加、削除、空行/同一行削除ソート、
特に矩形範囲選択などに使っています。
NoEditorは、二つの文書の比較がいろいろ試して壱番気に入って使っています。
あとないのが書式でした。ワープロは一太郎を使っていますが、
最近はごちゃごちゃ機能がついて複雑で重い。
今は、正式文書を書くことはないですから、
もうちょっと軽めののが欲しいとは思っていました。
それで検討を始めました。

TMemo、TRichEditは、どこを見てもぼろくそ。
拡張性がない、バグが多いなどなど・・・。
ただし、RichEditは書式を保存できる点が最大の魅力だと考えます。
ただ、作成したファイルサイズは腰を抜かすほどのファイルサイズになるのが
最大の欠点。
SonEditは、ソースは有料、フリーのパッケージ版は説明不足。
(プリンタの件、フォントの件はまるで書いてない)
TEditorは有料で論外。
TNotePadは、解説ページ http://mana.ikuto.com/tnotepad.php
ユニコード関連の処理が難しそう。
それにDelphiでアプリを作成するのが空恐ろしくなるようなことを
書いてあり近寄りがたい。
SynEditもHPを見ましたが苦手な英語・・でパスしました。

そのようなわけで、今なら何でもいいんですが、できることなら道を誤りたくない(^_^;)。
Mr.XRAYさんがSynEditがいいとおっしゃるのだからいいと思います。
ただ、とっかかりページを読むのに1週間くらいはかかるでしょう
(理解できるかどうかは別(笑))。

そこで「ずる」して質問ですが
(1)SynEditは、テキストエディタですか、それともリッチエディタ(書式の保存)ですか?
(2)TplSetPrinterで完成した暁には、WebBrowserのWebページも印刷できますか?
(3)TplPrevは、ペアで使うものですか?過去ログで頻繁に出てくるものですから。
恐れ入りますが、以上お願いいたします。
では。

[994] Re5:RichEditの印刷方法返信 削除
2006/11/4 (土) 14:45:00 Mr.XRAY

> (1)SynEditは、テキストエディタですか、それともリッチエディタ(書式の保存)ですか?
パッケージにはTMemo,TRichEditに相当する両方が含まれています。

> (2)TplSetPrinterで完成した暁には、WebBrowserのWebページも印刷できますか?
WebBrowserのページの印刷は、自力ですね。
どこかのBBSにサンプルがあったような...

> (3)TplPrevは、ペアで使うものですか?過去ログで頻繁に出てくるものですから。
plSetPrinterということですしたら、以下を参考にして下さい。
http://homepage2.nifty.com/Mr_XRAY/Delphi/plPrev/B_SomePrinters.htm

[996] WebBrowserに表示しているページを印刷返信 削除
2006/11/4 (土) 15:14:17 Mr.XRAY
> WebBrowserのページの印刷は、自力ですね。
> どこかのBBSにサンプルがあったような...

こんな感じでしょうか。

//=============================================================================
//  とあるページをTWebBrowserに表示
//============================================================================
procedure TForm1.FormShow(Sender: TObject);
var
     AURL : String;
begin
     AURL:='http://homepage2.nifty.com/Mr_XRAY/index.htm';
     WebBrowser1.Navigate(AURL);
end;
//=============================================================================
//  TWebBrowserのページを印刷 ExecWBメソッドを使用する
// ・印刷を示すOLECMDID_PRINT
// ・プロンプトを出さないことを示すOLECMDEXECOPT_DONTPROMPTUSER
//   IEデフォルトの印刷・#95;イアログを用いる場合はOLECMDEXECOPT_DODEFAULT
// ・戻り値はいらないので次の最後の2つは無意味な変数
//============================================================================
procedure TForm1.Button1Click(Sender: TObject);
var
     Tmp:OleVariant;
begin
     WebBrowser1.ExecWB(OLECMDID_PRINT,
                        OLECMDEXECOPT_DONTPROMPTUSER ,
                        Tmp,
                        Tmp);
end;


[998] Re:WebBrowserに表示しているページを印刷返信 削除
2006/11/4 (土) 16:00:51
▼ Mr.XRAYさんありがとうございます。
> > WebBrowserのページの印刷は、自力ですね。
> > どこかのBBSにサンプルがあったような...
> こんな感じでしょうか。


返信が行き違いになったようですね。
今すぐ実験できませんが可能性はあるということですね。
なら、希望がもてます。
では。

[▼次のスレッド]
INCM/CMT
Cyclamen v3.82