喫茶XRAYトップページ

[スレッド全体
]

[5313] 疑問返信 削除
2011/9/27 (火) 10:46:37 アンディ
みなさん、おはようございます。

いまさらですが、Delphiに移行したときに感じたことですが
印刷時やフォームのフォントやサイズなどがVBやアクセスなどはコンマで
指定できていましたが、Delphiはどうしてできないでしょうか。
どこにも、そのようなことが書いていませんのでお聞きしたいのですが。
ご存知の方がありましたらお教えください。

Mr.XRAYの印刷コンポーネントは非常に便利に使わせていただいて
感謝していますがフォントだけはコンマ単位にならないので
小さい字のときに困ってしまっています。



[5314] Re:疑問返信 削除
2011/9/27 (火) 11:51:29 Mr.XRAY
▼ アンディさん.こんちには.

> 印刷時やフォームのフォントやサイズなどがVBやアクセスなどはコンマで
> 指定できていましたが、Delphiはどうしてできないでしょうか。


VBではそういう機能があるんですか.
全く知りませんでした.どんなんだろう?


[5315] Re2:疑問2返信 削除
2011/9/27 (火) 15:36:44 アンディ
▼ Mr.XRAYさん

こんなものだとあきらめました。

もう1つ、今日パソコンが届きましたので早速セットしましたが
XPモードをインストールして、XPモードの画面が出ましたが
仮想マシンの新規作成をしてみると(例:test)できましたが
起動すると、test - windows VirtualPCで真っ黒な画面が出て
DHCP.../の文字が出てXPが現れません、どこが悪いんでしょうか。
リストに,testとwindows XP Modeが出ていますが、Xpmodeは正常です。


[5322] Re3:疑問2返信 削除
2011/9/27 (火) 23:45:31 Sara
▼ アンディさん

> XPモードをインストールして、XPモードの画面が出ましたが
> 仮想マシンの新規作成をしてみると(例:test)できましたが
> 起動すると、test - windows VirtualPCで真っ黒な画面が出て
> DHCP.../の文字が出てXPが現れません、どこが悪いんでしょうか。
> リストに,testとwindows XP Modeが出ていますが、Xpmodeは正常です。


新規作成をしたと言うことは、VirtualPCで空(カラ)の仮想マシンを1つ作ったということです。
ですので、OSが入っていないという・・・(自分でLinuxでもWindowsでも入れる)

XP Modeは、Microsoftで用意したWindowsXPのインストールされている仮想マシンの
ファイルですので、XPが起動します。



[5323] WindowsXP モード返信 削除
2011/9/28 (水) 07:59:34 Mr.XRAY
> XP Modeは、Microsoftで用意したWindowsXPのインストールされている仮想マシンの
> ファイルですので、XPが起動します。


これですね.

Windows 7 で Windows XP モードをインストールして使用する
http://windows.microsoft.com/ja-JP/windows7/install-and-use-windows-xp-mode-in-windows-7

一番下の方から引用(改行付加)

≪Windows XP モードを使用するには、Windows XP Service Pack 3 のフル
ライセンス バージョンの Windows XP モードをダウンロードしてインスト
ールする必要があります。また、Windows Virtual PC も合わせてダウンロ
ードおよびインストールする必要があります。これは、ご使用のコンピュー
ターの仮想オペレーティング システムを実行するためのプログラムです。≫


[5324] Re:WindowsXP モード返信 削除
2011/9/28 (水) 09:37:23 アンディ
みなさん おはようございます。

いろいろなご指摘ありがとうございます。
自分の勘違いでXPModeがあれば仮想マシンの作成でXPが複数作成され
使い分けができると思っていました。
使い分けをするのは、テストに使用するのとソフトを入れたXPを
使うのとかに分けようかなと思っていました。
最初にXPモードを用意していて1つだけXPがライセンスされているのですね。

パソコンのスペックですが
i5-2430M 2.4G ターボブースト最大3G
Win7-pro 64bit memory 4G 最大8G迄(後で増やす予定)

win7のインストールは2〜3分で完了
XPMODEは5分位で終わりました。

カンマ指定の件ですが、VBで作っていたときはフォームの設定で
普通に微調整をしていましたがDelphiですごく大まかになってしまい
最初は戸惑っていましたがマイクロソフトの製品以外はこのように
とているのだと思います。

[5325] Re2:WindowsXP モード返信 削除
2011/9/28 (水) 10:10:08 Mr.XRAY
> Win7-pro 64bit memory 4G 最大8G迄(後で増やす予定)

メモリは多いほど快適かも知れません.
以下の図は,バーチャルマシンを2台起動している時のメモリ使用量です.
http://mrxray.on.coocan.jp/Delphi/plSamples/473_MemoryInfo.htm#fig2

>
> win7のインストールは2〜3分で完了


> カンマ指定の件ですが、VBで作っていたときはフォームの設定で
> 普通に微調整をしていましたがDelphiですごく大まかになってしまい
> 最初は戸惑っていましたがマイクロソフトの製品以外はこのように
> とているのだと思います。


VBのカンマのことは知らないのですが,VBに限らず,Delphiでも,描画は
WindowsのAPIを用いています.インチ単位で言えば,最小描画単位はは0.001
インチです.ただし,印刷プレビュー制御コンポでは,0.1mmに制限しています.
意味を勘違いしていたらゴメンなさい.


[5326] Re3:WindowsXP モード返信 削除
2011/9/28 (水) 14:46:04 アンディ
▼ Mr.XRAYさん

> VBのカンマのことは知らないのですが,VBに限らず,Delphiでも,描画は
> WindowsのAPIを用いています.インチ単位で言えば,最小描画単位はは0.001
> インチです.ただし,印刷プレビュー制御コンポでは,0.1mmに制限しています.
> 意味を勘違いしていたらゴメンなさい.

印刷の時に描画は細かくできますがフォントはカンマ単位にならないと思いますが
それとフォームを作成するときにコンポーネントを張って高さや幅をカンマ
単位で調整できないです。

今日はやっとネットワークの設定ができました。
ネットワークの設定をすべて把握していないのですんなりと設定ができません
1時間くらいかかりました。


[5327] 印刷プレビューコンポのフォントサイズ?返信 削除
2011/9/28 (水) 15:20:58 Mr.XRAY
▼ アンディさん

> 印刷の時に描画は細かくできますがフォントはカンマ単位にならないと思いますが

もしかして,フォントサイズのことですか?
そうだとしたら,DelphiのCanvasのFont.Sizeは整数値ですが,
印刷プレビュー制御コンポは,専用の関数があり,10.5とかの設定も可能
です.
ちなみに,FireMonkeyでは,Font.SizeのSizeの型はSingleですので,
小数点以下の値の設定も可能です.

外していたら失礼.

http://mrxray.on.coocan.jp/Delphi/plPrev/M_Font.htm#01

[5345] フラストレーションが...返信 削除
2011/9/30 (金) 18:03:20 Mr.XRAY
> 外していたら失礼.

う〜む,外れか... 残念!!
「VB フォント カンマ」等でググったけど分からず.

> こんなものだとあきらめました。

と言っているので,いいんですが,何かフラストレーションが...
VBでの具体的なコード例があるといいんですが.
(あきらめが悪い?)


[5346] カンマ単位返信 削除
2011/9/30 (金) 20:22:44 Mr.XRAY
こんな感じかな?

日本,東京都,中国.

というカンマ区切りの文字列があったとして,

SetFont(Font1, Font2, Font3, ...)

とすると,日本はFont1で,東京都はFont2で,中国はFont3の設定で表示,
または印刷されるとか?
区切りのカンマは表示,印刷しないのかな?
表示または印刷するとしたら,そのフォントは?


[5360] Re:カンマ単位返信 削除
2011/10/3 (月) 18:28:35 たてぐや
▼ Mr.XRAYさん

> SetFont(Font1, Font2, Font3, ...)
>
> とすると,日本はFont1で,東京都はFont2で,中国はFont3の設定で表示,
> または印刷されるとか?


 こんなのだと思っていました。

procedure Textprint(x, y , p : integer; s : string);
begin
  with plprev1.Canvas do begin
    Font.Size := p;
    Textout(x, y , s)
  end;
end;

を作っておいて

Textprint(x座標,y座標,フォントサイズ,文字列);

 外してたらごめんなさい。


[5362] Re2:カンマ単位返信 削除
2011/10/3 (月) 20:10:52 Mr.XRAY
▼ たてぐやさん

おおっ,なるほど.こんなんですか.
以下のようにした方がいいと思います.
この程度なら,TplPrevに組み込む必要はないでしょう.

procedure Textprint(x, y: Integer; p : Double; s : string);
begin
  with plprev1 do begin
    FontSize := p;
    Canvas.Textout(x, y , s)
  end;
end;


[5364] Re3:カンマ単位返信 削除
2011/10/4 (火) 09:23:38 アンディ
▼ Mr.XRAYさん
> ▼ たてぐやさん
>

たくさんのアドバイスありがとうございます。


Mr.XRAYさんのフォントサイズのコンマ指定ですがソースを見らして
いただきましたがHeightにはいってしますので厳密にはコンマ単位に
なっていないような。前に実験して確かめました。

FCanvas.Font.Height:=-RoundOff(S*254.0/72.0);

VBではたしかフォント、penサイズも1/1000単位でなっていたと思います。
画面では解像度の問題で間隔が狭くなるとつぶれますが印刷では
できていました。
同じAPIでもマイクソフト仕様と違うんではないでしょうか。

それから、パス設定ですが今日は管理者権限でdelphiを起動してやって見ます。
インストールするコンポーネントは自動でパスが入るようですが
手動で入れても警告も出ずに保存されずパス画面を開くと出てきませんでした。
また報告します。

昨日、パソコンの機嫌が悪かったのか動作が鈍かったのが、今日は
快適に動いています。
もう、どうしてかと考えるのはやめてパソコンの機嫌をとるようにします。


Saraさん XPのCD情報ありがとうございます。
最初どういうことかわからなくてインターネットで調べてnLiteを
ダウンロードしましたがXPまでとありましたので、また調べると
SPというのがあると知っていましたが疲れてまだやっていませんでした
この情報は助かります。

[5365] Windows APIでの寸法指定返信 削除
2011/10/4 (火) 12:38:48 Mr.XRAY
▼ アンディさん

> Mr.XRAYさんのフォントサイズのコンマ指定ですがソースを見らして
> いただきましたがHeightにはいってしますので厳密にはコンマ単位に
> なっていないような。前に実験して確かめました。
>
> FCanvas.Font.Height:=-RoundOff(S*254.0/72.0);


まだカンマ単位の意味がよく理解できていませんが (^^;
もし,小数点以下の意味であれば,Windows APIではそのような扱いの関数類
はありません.
以下のリストのScallingのように,

   SetMapMode
   SetWindowExtEx
   SetViewPortExtEx
http://mrxray.on.coocan.jp/Delphi/plSetPrinter/ScallingDraw.htm#list1

をどう設定するかによります.
小数点以下の値で設定可能にするかは,そのアプリのコーディングによります.
したがって,前にたてぐやさんが書かれたように,関数類のルーチンを作成すれば,
大元はWindowsのAPIを使用しているのですから,いくらでも仕様は変更できます.
もちろん,実力と経験と知識にもよるでしょうけど (^^;

VBは遥か昔にか使ったことしかないですが,
VBにできて,Delphiにできないということは基本的にはないと思います.
またその逆も.ただし,非常に面倒な場合があるということは事実でしょう.

VBA(VB for Applicatio),これは主にワードやエクセル用にありますが,
こちらには,特にワードは文書をmm単位(mmの小数点以下の指定も含めて)で
扱う必要があるので,そのような指定が可能となっているハズです.
(内部でWindows APIをそのように使用可能にしている)

まっ,ここは喫茶店ですので気軽に.


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