HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2015
0906
わんこんdialog命令のタイプ16でファイルを最初に開く際、必ず指定したフォルダで処理が始まるようにしたい2解決


わんこん

リンク

2015/9/6(Sun) 05:38:27|NO.71396

すみません、解決方法を検索したり、
丸一日、自分でも色々な記述を試したりしたりしたのですが、
どうしても解決方法が分からなかったので教えてください。

dialog命令のタイプ16でファイルを最初に開く際、
カレントディレクトリ(カレントフォルダ)を
自分の指定したフォルダにしたいのですが、
dialog命令のタイプ16でファイルを開く処理の前に
chdir命令でカレントディレクトリを変更しても、
実際にdialog命令のタイプ16でファイルを開く処理が行われると、
カレントフォルダが以前に他のプログラムなどで
ファイルを指定したフォルダになって立ち上がってしまいます。

文章の説明がヘタですみません。
以下、希望通りに動作しないソース例です。



pos 10,10 objsize 200,30 button "画像を指定する", *open stop *open ;確認用 dialog "現在のカレントディレクトリ:" + dir_cur chdir "images" ;カレントディレクトリを変更 ;ちゃんと変わったか確認用 dialog "現在のカレントディレクトリ:" + dir_cur dialog "jpg", 16, "画像ファイル" ;←「images」フォルダで立ち上がって欲しいのですが… if stat = 0 { dialog "キャンセルしました。" stop } dialog "選択したパス:" + refstr stop

やりたいことは、「画像を指定する」ボタンを押すと、
ファイルを開く処理が始まるのですが、
必ず、「images」フォルダを開いて処理が始まって欲しいのです。



dialog "jpg", 16, "画像ファイル"
の命令の前に


chdir "images" ;カレントディレクトリを変更
で、カレントディレクトリを変更して、

dialog "jpg", 16, "画像ファイル"
命令の処理のところで、「images」フォルダで始まって欲しいのですが、
カレントフォルダが以前に他のプログラムなどでファイルを
指定したフォルダになってしまいます。

いま作っているゲームでプレイヤーに「images」フォルダ内にある
画像を選んでもらう処理を作っているのですが、
ファイルを開く際にカレントフォルダが自分の希望する
「images」フォルダになっていないと毎回そこのフォルダまで
プレイヤーにフォルダをマウス操作で移動してもらわなくてはならず、
困っています。



chdir "images" ;カレントディレクトリを変更
の記述の仕方も絶対パスとか、「\\images」とか、色々と試してみたのですが、
それでもダメでした。そもそも個々のパソコン内のフォルダ階層は
必ずしもみんな同じじゃないと思うので、
基本的には相対パスで指定したいのですが・・・

もしかして、dialog命令のタイプ16でファイルを開く処理のときの
カレントフォルダは指定できないのでしょうか?
どなたか解決策が分かる方がいたら教えてもらえないでしょうか。
宜しくお願いします。



この記事に返信する


toto

リンク

2015/9/6(Sun) 07:06:39|NO.71397

通常「ファイルを開く」のダイアログは実行ファイルごとに前回選択したフォルダを覚えていますのでプログラムで固定するより
そっちのほうがユーザーには親切な気がします。
>以前に他のプログラムなどでファイルを指定したフォルダになってしまいます。
それはエディタから起動した場合の話ですよね。
実行ファイルを作ってそこから起動する場合は個別に前回選択したフォルダが記録されます。

>dialog命令のタイプ16でファイルを開く処理のときの カレントフォルダは指定できないのでしょうか?
dialog命令では無理ですがAPIを使った方法なら可能。
この過去ログの下のほう
http://hsp.tv/play/pforum.php?mode=pastwch&num=19768



わんこん

リンク

2015/9/6(Sun) 16:57:03|NO.71416

toto様、
dialog命令のタイプ16のときの仕様がよくわからなったので納得できました。
詳しいご返答どうもありがとうございました!(*⌒▽⌒*)



ONION software Copyright 1997-2021(c) All rights reserved.