こんにちわ。
今、VB6の環境で解析を行っているのですが、
Public Const CSIDL_DESKTOP = &H0
Public Const BIF_RETURNONLYFSDIRS = &H1
----
Dim Browse As BROWSEINFO
With Browse
.hwndOwner = Me.hWnd
.pidlRoot = CSIDL_DESKTOP
.lpszTitle = "フォルダを選択してください"
.ulFlags = BIF_RETURNONLYFSDIRS
End With
'「フォルダの参照」ダイアログの呼び出し
pID = SHBrowseForFolder(Browse)
上記が「フォルダ参照」のダイヤログを表示しているのはわかるのですが
”&H0 ” は何を意味しているのでしょう?
どなたかご回答よろしくお願いします。
&H○○・・・は16進数表記です。
普通に数字を書くと10進数ですね。
※望んでいる回答だっただろうか・・・
ひでらんさん、ありがとうございます。
ちなみに10進数に直すといくつになるのでしょう?
Public Const CSIDL_DESKTOP As Long = 10進の数字
と言った宣言では駄目なのでしょうか?
> ちなみに10進数に直すといくつになるのでしょう?
16進数で指定した定数の値を、MsgBox や Debug.Print などで
調べれば、どのような値かは自ずと分かりますよね。
進数変換についてご存知無いのであれば、Windowsのアクセサリの
「電卓」で、[表示]-[関数電卓]モードを試してみてください。
左上に進数変換ボタンが付いているので、それを使って進数変換できます。
> Public Const CSIDL_DESKTOP As Long = 10進の数字
> と言った宣言では駄目なのでしょうか?
意味は変わりませんので、10進表記でも8進表記でも16進表記でも構いませんが、
それらの定数を定義している、元の『ヘッダファイル』(SHLOBJ.H)では、
16進数表記が使われていますので、それにあわせて、VB側の宣言も
16進数で記述される事が多いです。
&H0なら10進数でも0ですよ
&HAなら10進数で10ですね。
16進数について知識が無いようなら、「16進数」
とかで検索かければ色々出てくると思います。
※何故かVBオンリーな人に16進数とか2進数の話すると
嫌がられ、そんなのわかり辛いとか言われ、そんなの
普通使わないよとまで言われるのは私だけなんだろうか。
お二方とも、ありがとうございました。
基本ですよね。。。
勉強しますm(_ _)m
> ※何故かVBオンリーな人に16進数とか2進数の話すると
> 嫌がられ、そんなのわかり辛いとか言われ、そんなの
> 普通使わないよとまで言われるのは私だけなんだろうか。
そういう時は、「2進数や16進数よりもっと多い60進数を
日常使っているのに、なんでわかり辛いねん?」って
言い返しましょう。(1分=60秒)
>そういう時は、「2進数や16進数よりもっと多い60進数を
>日常使っているのに、なんでわかり辛いねん?」って
>言い返しましょう。(1分=60秒)
A〜Fのところがと突っ込み返されたりしてw
こういう場合はどのように言い返せばいいのかな?
でも、VBでもHTMLにしても16進数は必ず必要になると思いますが・・・・・・・・
レスをあげてしまいすみません。
現在、暇だったもので・・・・・・・
> A〜Fのところがと突っ込み返されたりしてw
> こういう場合はどのように言い返せばいいのかな?
16進数や2進数などの概念は、中学校で習うので、
きっと質問者は、小学生か中学に入ってもまだ習っていないのかな?
>そんなのわかり辛いとか言われ
中学程度の算数が、わかり辛いかったら、
この業界ちょっと生きていくのに苦労しそうですね。
VBの仕様用途によっては16進数なんか使う機会は
無いのかと、自分を納得させています。
例えばDB操作するのに16進数必要かといわれれば
必要ない様な気もしますし。
私の周辺にはVBオンリーしかいないので、ちょっと
気になっていたんです。
既に解決済みスレなので、この辺でw
ツイート | ![]() |