喫茶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は正常です。


[5316] Re3:疑問2返信 削除
2011/9/27 (火) 15:54:58 Mr.XRAY
▼ アンディさん

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

あらっ!?
頑張っていただいて,廃人の仲間になってくださらないと...

>もう1つ、今日パソコンが届きましたので早速セットしましたが

おおっ! 新しいPCですか.いいですね.
差し支えなかったら,性能(CPUとかメモリ量等)を教えていただきますか?
もちろん,Windows 7 64bitですよね.
Windows 7にVirtualPC(マイクロソフトでしたっけ?)をインストールですか.

> 起動すると、test - windows VirtualPCで真っ黒な画面が出て

VirtualPCは使ってないです.ちょっと分かりません.
当方VMwareです.他の方にバトンタッチ.


[5317] Re4:疑問2返信 削除
2011/9/27 (火) 16:02:16 Mr.XRAY
> Windows 7にVirtualPC(マイクロソフトでしたっけ?)をインストールですか.

あっ,Windows 7には,XPモードする何かがあったんでしたっけ?

これ?
Windows XP モード
http://windows.microsoft.com/ja-JP/windows7/products/features/windows-xp-mode


[5318] Re3:疑問2返信 削除
2011/9/27 (火) 16:45:55 igy
▼ アンディさん
> 仮想マシンの新規作成をしてみると(例:test)できましたが

これには、OSはインストールされましたか?


[5320] Windows XP ModeとWindows Virtual PC返信 削除
2011/9/27 (火) 22:24:24 Mr.XRAY
> > 仮想マシンの新規作成をしてみると(例:test)できましたが
>
> これには、OSはインストールされましたか?


Microsoftの記事を読むと,どうもWindows XP ModeとVirtualPCとの違いが
理解しにくいですね.
機能のすばらしさの記事の大事ですが,トップページで違いをもう少し解説
してもいいような気がします.

たとえば,このページは,
Windows XP Mode および Windows Virtual PC
となっていますが,表のカラムは,Windows Virtual PC,Virtual PC 2007
です.じゃぁ,Windows XP Modeは? と考えてしまいます.
http://www.microsoft.com/japan/windows/virtual-pc/features/compare.aspx

[5319] Re3:疑問2返信 削除
2011/9/27 (火) 22:19:56 たてぐや
▼ アンディさん

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

 言語が違えば表現方法も違いますよね。
 VBと同じように表現できる関数を一つつくっておいたらいかがでしょう?


[5321] Re4:疑問2返信 削除
2011/9/27 (火) 22:26:11 Mr.XRAY
>  言語が違えば表現方法も違いますよね。
>  VBと同じように表現できる関数を一つつくっておいたらいかがでしょう?


仕様が分かって,汎用性があれば,関数としての追加も考えます.ハイ.


[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の設定で表示,
または印刷されるとか?
区切りのカンマは表示,印刷しないのかな?
表示または印刷するとしたら,そのフォントは?


[5358] Re:カンマ単位返信 削除
2011/10/3 (月) 16:27:23 アンディ
▼ Mr.XRAYさん

悩ましてどうもすみません。
VBとdelphiの使用の違いだと思いますので忘れてください。
VBが使えるようになったらコードなど書きます。

話が変わりますが、ちょっとお聞きしたいのですが
win7pro 64bitにdelphi7をインストールしましたが
パスを入れたいのですが保存ができないようなので
直接書き込みたいのですがファイルをご存じないでしょうか。
vistaでは環境設定で普通にやっていましたがwin7ではうまくいきません。

宮さんのスクラップブックを昨日までは普通に使っていましたが
今日は起動しなくなりました。(cpuが100%になる)
ふぁいるが破損したかと思いましてほかのパソコンでやると使えますし
どうしたものかと、こうなったら自分専用のものを作るしかないですね。
XPをインストールしようと思ったらspなしのCDはインストールできないし
中古パソコンでも駆ってこようかな。
いろいろトラブルを抱えて愚痴ってしまいました。


[5359] Re2:カンマ単位返信 削除
2011/10/3 (月) 16:54:11 Sara
▼ アンディさん

> win7pro 64bitにdelphi7をインストールしましたが
> パスを入れたいのですが保存ができないようなので
> 直接書き込みたいのですがファイルをご存じないでしょうか。
> vistaでは環境設定で普通にやっていましたがwin7ではうまくいきません。

UACがらみでしょうが、詳しくないのでマスターにお任せで・・・(^^;

> XPをインストールしようと思ったらspなしのCDはインストールできないし
SP+メーカー(フリーソフト)を使えば、サービスパック対応済みのインストールCDを
作成可能です。
(正確には、ISOイメージです。必要に応じて焼いてください)

サービスパックどころか、WindowsUpdateのモジュールも含めてインストールCDに出来ます。
ただし、SP3を入れたところでCDに入りきらなくなりますのでDVDで・・・(^^;
(WindowsUpdateの更新モジュールを含めなければCDでも・・・)


同様なソフトでnLiteもありますが、最近正常なインストールイメージを作れなくなっている
ようなので、SP+メーカーをお薦めします。

http://www.forest.impress.co.jp/lib/sys/instmng/instsupt/spmaker.html


[5361] Windows 7でDelphi 7返信 削除
2011/10/3 (月) 20:07:21 Mr.XRAY
▼ Saraさん
▼ アンディさん

> UACがらみでしょうが、詳しくないのでマスターにお任せで・・・(^^;

多分.だとするとやっかいです.
どこかに保存されている可能性がありかも知れません.
Vsita以降,システム関係フォルダの操作には要注意です.
レジストリに直接書き込んでしまとか.もちろんシステム関係フォルダは除外.

Windows Vista以降のOSでの使用
http://mrxray.on.coocan.jp/Delphi/Info/OtherInfo17_VistaD2007.htm#00

Dephiはサポート終了ですし,Vista以降には対応していませんし...
このぐらいしか言えませんです.

> (正確には、ISOイメージです。必要に応じて焼いてください)

こんなのもあります.
http://mrxray.on.coocan.jp/Delphi/Others/DVD.htm

$(DELPHI)等は極力設定しないようにする

[5363] Re:Windows 7でDelphi 7返信 削除
2011/10/3 (月) 21:01:17 Sara
▼ Mr.XRAYさん

> > (正確には、ISOイメージです。必要に応じて焼いてください)
>
> こんなのもあります.
> http://mrxray.on.coocan.jp/Delphi/Others/DVD.htm


おぉ、DAEMON Tools Lite ですね。以前は使っていました。

Windows7 64Bitの環境で使えたり使えなかったりしたので、
(インストールできたり、できなかったりだったかな・・・)
今は、Virtual Clone Driveを使っています。
(面倒で原因究明はしていません・・・(^^; )

http://www.forest.impress.co.jp/lib/sys/hardcust/virtualdrv/vclonedrive.html

でも、OSインストールの話ですから・・・(^^; やっぱり焼かないと・・・
(仮想環境なら、ISOイメージをマウントできるから仮想DVDソフトはいらないし)

ISO焼きには、ImgBurnを使っています。
昔はBHAのB's Recorder Onlyだったのですが、BHAはB's Recorderをソースネクスト
に売った後、潰れてしまったし・・・ソースネクストは嫌いだし・・・

いろいろ使ってみたけど、今はImgBurnに落ち着いています。(フリーだし)

最近は、いろいろな高性能ソフトがフリーソフトで出回っているので、ありがたい限りですが、
ソフトを作って売る方は、付加価値なり、性能なりが より優れていないと購入してもらえない
のですから、大変ですね・・・

[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