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


HSPTV!掲示板


未解決 解決 停止 削除要請

2017
0223
ドデカナンミン\を/に置き換えたいです6解決


ドデカナンミン

リンク

2017/2/23(Thu) 20:24:48|NO.78302

dialog で取得したファイルパスの\を/に変更したいんですが
 strrep で置き換えができないんですがどうすればいいですか?
超絶初心者でして...orz



この記事に返信する


Cheesehamburg7273

リンク

2017/2/23(Thu) 21:59:12|NO.78303

HSPでは\を\\と記述するはずだった気がします↓

a="c:\\windows\\system32\\" strrep a,"\\","/"



ドデカナンミン

リンク

2017/2/23(Thu) 22:17:11|NO.78304

えっと、dialogで取得した"C:\Windows\Media\town.mid"みたいなのを
"C:\\Windows\\Media\\town.mid"に置き換えたいです>_<



GENKI

リンク

2017/2/23(Thu) 22:33:10|NO.78305

ありがちが勘違いをしているような気がするのでまずは確認させてください。

> "C:\\Windows\\Media\\town.mid"に置き換えたいです>_<

「C:\\Windows\\Media\\town.mid」この文字列はこの後どのように使用するつもりですか?
この例だと「town.mid」ファイルを読み込むために使用するとかでしょうか?



ドデカナンミン

リンク

2017/2/23(Thu) 23:24:20|NO.78306

はい
mciで再生したいです。
(.midiやmp3などです)
(*^_^*)orz



GENKI

リンク

2017/2/24(Fri) 00:30:30|NO.78307

回答ありがとうございます。
状況がわかりました。やはりいつものよくある勘違いをされているようです。

文字列「\」を「\\」と書かなければいけないのは、HSPスクリプトの中で記述するときだけです。
実行中は文字列「\」を文字列「\\」に変換する必要はありません。

HSPスクリプトエディタ上では、「\」を特別な記号として利用しているため単に「\」と書くだけだと特別な記号としての機能が働いてしまい「\」が表せなくなってしまいます。
そこでHSPスクリプトエディタ上で「\\」と書かれたら、実行中は「\」として全て読み替えてから実行するように作られています。

あくまでエディタ上だけの話です。dialog命令などで実行中に取得された「\」を含む文字列はそのまま使うことができます。
dialog命令で取得したパス付きのファイル名をmes命令で表示してどのような動きをするか確認してみてください。

なお、「\」記号の特別な機能としては、次のようなものが有名所です。(エスケープシーケンスと言います。)
・「\n」=改行
・「\t」=タブ
・「\"」=「"」


> えっと、dialogで取得した"C:\Windows\Media\town.mid"みたいなのを
> "C:\\Windows\\Media\\town.mid"に置き換えたいです>_<

上記の回答で解決すると思いますが、一応これについても回答してみます。
Cheesehamburg7273さんのスクリプトそのままで、しかも意味のない変換ですが…。

a="c:\\windows\\system32\\" mes a strrep a,"\\","\\\\" mes a



ドデカナンミン

リンク

2017/2/24(Fri) 23:29:54|NO.78310

ありがとうございました

strrep a,"\\","/"


strrep a,"\","/"
になっていただけでした
解決できました( ..)φメモメモ



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