PB 電子会議室

コメント

発言No. 更新日 題名(クリックすると発言内容と関連するコメントが表示されます)
19048 03/03/13 14:05:56 RE(3):PB7.0: MS標準のフォルダ指定ダイアログからの指定フォルダ取得について By なかやん
19045 03/03/13 00:19:39 RE(2):PB7.0: MS標準のフォルダ指定ダイアログからの指定フォルダ取得について By Taka
19041 03/03/12 19:02:58 RE(1):PB7.0: MS標準のフォルダ指定ダイアログからの指定フォルダ取得について By Chicchi
19040 03/03/12 18:21:20 PB7.0: MS標準のフォルダ指定ダイアログからの指定フォルダ取得について By なかやん

カテゴリ:スクリプトの記述
日付:2003年03月12日 19:02 発信者:Chicchi
題名:RE(1):PB7.0: MS標準のフォルダ指定ダイアログからの指定フォルダ取得について

なかやんさん、こんばんは。

次のように関数定義をしてみたらどうでしょうか。

FUNCTION BOOLEAN SHGetPathFromIDList( long pidl, ref string pszPath ) LIBRARY \"shell32.dll\"

この API は使ったことがありませんが、pszPath に値が格納されるのであれば、ref 指定が必要です。

※追伸
半角カタカナはやめましょう。

>みなさん、初心者ですが宜しくお願いします。

>題名の通り、MS標準のフォルダ指定ダイアログを表示するところまでは出来たのですが、そこで指定したフォルダ名を
>取得するにはどうすれば良いのか分からずに困っています。

>グローバル外部関数の宣言で、
>FUNCTION long SHBrowseForFolder( BROWSEINFO browseinfo ) LIBRARY \"shell32.dll\"
>FUNCTION BOOLEAN SHGetPathFromIDList( long pidl, string pszPath ) LIBRARY \"shell32.dll\"

>を記述しておき、スクリプト上では、
>BROWSEINFO l_BI
>long ll_ret
>string ls_path = \"\"

>l_BI.hwndOwner = Handle(this)
>l_BI.lpszTitle = \"フォルダの選択\"
>l_BI.pidlRoot  = 0
>l_BI.ulFlags   = 1 

>ls_path = \"\"

>ll_ret = SHBrowseForFolder( l_BI )     //フォルダ指定ダイアログ表示
>SHGetPathFromIDList( l_ID, ls_path )   //返り値を、フォルダ名に変換
>Messagebox( \"OK\", ls_path )

>としてみたのですが、どうしてもls_pathに選択フォルダが入ってきません。

>どうか、良いアドバイスをお願いいたします。


付加情報:

PowerBuilder Version (記載なし)

Client SoftWare

OS Windows 2000
DBMS (記載なし)
Browser (記載なし)

Server SoftWare

OS (記載なし)
DBMS (記載なし)
WebServer (記載なし)

PowerSpaceの運営は、パワーフューチャー株式会社が行っております。
Copyright © 2013 Power Future Co., Ltd.