喫茶XRAYトップページ

[スレッド全体
]

[125] 印刷設定の疑問返信 削除
2005/2/16 (水) 21:19:06 Texwork
いつぞやはメールにて丁寧な対応をしていただきありがとうございました。
まだまだ初心者から脱皮できません、いつになったら初心者から脱皮できるのか
苦笑いが続きます。たぶん初心者というか、基礎が出来ていないため苦笑いされることと思います。


さて、本題なのですが、印刷に関して疑問あります。

現在「プリンタ設定コンポーネント」と「印刷プレビュー制御コンポーネント」を使用させていただいているのですが、
このコンポーネントを使用して自分の開発環境で設定してしまった場合。
ほかの環境(どのようなプリンターかも不明)でソフトを動かした場合どうなるのか?が非常に疑問に思います。
どのように考慮してプログラムを作るべきなのでしょうか?
印刷プレビュー制御コンポーネントを使用させていただいて何も考えずにプログラムを作っていたのですが、プレビューされたらそれがそのまま出るのだろうか?
と一人でメビウスの輪に突入してしまいました。


自分がわかっていない部分が多すぎて(理解できていない部分がどこなのか)どのようにわかっていない部分を消化すればよいのか
糸口がつかめないでいる状態です。


[126] Re:印刷設定の疑問返信 削除
2005/2/16 (水) 22:31:49 Mr.XRAY
▼ Texworkさん

> このコンポーネントを使用して自分の開発環境で設定してしまった場合。
> ほかの環境(どのようなプリンターかも不明)でソフトを動かした場合どうなるのか?が非常に疑問に思います。
> どのように考慮してプログラムを作るべきなのでしょうか?


問題は,プリンタの設定関係(用紙,印刷方向)だと思うのですが.
なるべく稼働先のプリンタドライバと同じものを用意して開発しています.
プリンタ設定コンポで設定した値が再現しない場合は,また,安全のために

http://homepage2.nifty.com/Mr_XRAY/Delphi/plSetPrinter/SaveAndLoad.htm

を使用することもあります.

plPrev1.plSetPrinter.SaveToFile( );
plPrev1.plSetPrinter.LoadFromFile( );
(実は単票形式のものが多いので,ほとんどplTackPrevですが)

http://homepage2.nifty.com/Mr_XRAY/Delphi/plSamples/T_FormPane2.htm

にこのメソッドを使用したサンプルがあります.このサンプルコードでは,
3つのプリンタ設定コンポを使用していますが,上記のメソッドを使用すれ
ば,実際には1つで使い回しが可能です(保存ファイルで区別する).
ただし,この方法は,アプリを利用する方が一度は設定する必要があります.

また,ユーザ定義サイズの時は,LoadFormの代わりにユーザ定義のメソッド
を使っています.

http://homepage2.nifty.com/Mr_XRAY/Delphi/plSetPrinter/NetWorkIni.htm
も要注意ですね.

印刷プレビューの前にLoadFromFileではなく,用紙サイズや方向のメソッド
(NkPrinterも含めて)を使用している方もいるようです.
とにかく,実際にやってみて,自分の方法を見つけてみることだと思います.

プリンタ設定コンポ自体は,プリンタが変更になっても設定を再現させる目
的で開発しものなんですが...
テストそのものは,開発環境でプリンタ(ドライバ)を変更してみたりして
できると思います.

実際にやってみて問題があれば,また連絡下さい.
また,オンライン・マニュアルも誤字脱字が多いのですが,一生懸命作成
していますので...




[127] Re2:印刷設定の疑問返信 削除
2005/2/17 (木) 00:05:23 Texwork
▼ Mr.XRAYさん回答ありがとうございます。
整理しながら、考えて見ます。

[138] Re3:印刷設定の疑問返信 削除
2005/2/21 (月) 00:09:02 Mr.XRAY
▼ Texworkさん

疑問に対する回答にはなっていなかったかも知れません.
それに長々と書きすぎました.

印刷プレビュー制御コンポーネントの開発趣旨は,印刷状態をプレビュー
するということで開発しています.
プリンタが変更になっても,A4やB5とか,どのプリンタドライバにある
用紙であれば,設計時,つまり開発の時に設定しておけば問題はない
と考えています.

もし,そうならなければバグです.

あとは,アプリの利用者に,一度,プリンタ(用紙サイズ)などを設定
してもらい,それを保存読出しする方法を考えることができます.
これなら確実です.
これは,例えば,テストプログラムにありますが,[何々に使用するプリ
ンタの設定]等のボタンで,PritnerSetupDialogを表示するというもの
です.帳票毎に設定することも考えられます.

ただし,一部のプリンタや,ユーザ定義(カスタム)用紙などでは,OSや
プリンタドライバによっては再現できない場合があります.
Windows2000以上で,独自のドライバでない時は,大抵うまくいく様です.




[143] Re4:印刷設定の疑問返信 削除
2005/2/23 (水) 23:51:23 Texwork
▼ Mr.XRAYさん
> プリンタが変更になっても,A4やB5とか,どのプリンタドライバにある
> 用紙であれば,設計時,つまり開発の時に設定しておけば問題はない
> と考えています.
> あとは,アプリの利用者に,一度,プリンタ(用紙サイズ)などを設定
> してもらい,それを保存読出しする方法を考えることができます.
> これなら確実です.
> これは,例えば,テストプログラムにありますが,[何々に使用するプリ
> ンタの設定]等のボタンで,PritnerSetupDialogを表示するというもの
> です.帳票毎に設定することも考えられます.


「印刷プレビュー制御コンポーネント」部分はこの解説を読ませていただいて理解できました。
「プリンタ設定コンポーネント」が必要な理由がいまいち理解できません

印刷プレビュー制御コンポーネントに関して
 ★Ver4.0では,特にプレビューフォームとプリンタ設定コンポーネントを指定しなくても
  使用可能にし,より使いやすい様に改良しました.

となっているのですが、もしかして、もはや別物でよろしいのでしょうか?
http://homepage2.nifty.com/Mr_XRAY/Delphi/plPrev/index.htm
には必要コンポーネントに「プリンタ設定コンポーネント」と書かれていて
頭の悪い私には、何がなんだか・・・という状況です。

ですが、前出の説明で、「印刷プレビュー制御コンポーネント」の疑問は
解消したとおもいます。
ありがとうございました。


[147] Re5:印刷設定の疑問返信 削除
2005/2/24 (木) 07:52:39 Mr.XRAY
▼ Texworkさん

>  ★Ver4.0では,特にプレビューフォームとプリンタ設定コンポーネントを指定しなくても
>   使用可能にし,より使いやすい様に改良しました.


(該当プロパティを)指定しなくても使用できますが,
                  ^^^^
プレビューフォームの元であるplPrevfrm.pas,plPrevfrm.dfm,
plSetPrinter.pasはパスが通ったフォルダに必要です.
なくてもいいという意味ではありません.


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