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


HSPTV!掲示板


未解決 解決 停止 削除要請

2011
0301
grapecolorchdirについて(至急回答おね)2解決


grapecolor

リンク

2011/3/1(Tue) 14:50:31|NO.37312

chdirは相対パスが使えますよね?
プログラムと同じフォルダにあるフォルダの中のフォルダに
画像を出力するために相対パスで指定しようとしているのですが
ループで1回目は正常に出力できるのですが
2回目のループだとError12が出てしまいます。
解決方法はありますか?

*参考*
パスを使用するときにちゃんと\\を使っている
フォルダの中のフォルダの名前が日本語



この記事に返信する


p、USAGI

リンク

2011/3/1(Tue) 15:46:34|NO.37314

私が思いついた対処法は4つです。
他にもあるかも知れません。

●対処法A
「chdir "./フォルダ名1/フォルダ名2"」
の直前にEXE(実行)ファイルのあるディレクトリに移動する。

chdir dir_exe ;エディタからの起動の場合は注意が必要 chdir "./フォルダ名1/フォルダ名2"

●対処法B
起動時にカレントディレクトリを変数に代入し、
「chdir "./フォルダ名1/フォルダ名2"」
の直前に起動時のディレクトリに移動する。

start_dir = dir_cur ;起動直後に実行 〜略〜 chdir start_dir chdir "./フォルダ名1/フォルダ名2"

●対処法C
起動時にカレントディレクトリを変数に代入し、
chdirの時に起動時のディレクトリを追加する。

start_dir = dir_cur ;起動直後に実行 〜略〜 chdir start_dir + "/フォルダ名1/フォルダ名2"

●対処法D
chdirの時にEXE(実行)ファイルのあるディレクトリを追加する。

chdir dir_exe + "/フォルダ名1/フォルダ名2" ;エディタからの起動の場合は注意が必要


対処法Cがオススメです。



grapecolor

リンク

2011/3/1(Tue) 16:05:09|NO.37315

Cの方法でいけました!
ありがとうございます。



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