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


HSPTV!掲示板


未解決 解決 停止 削除要請

2014
0502
メイリオファイルのコピー2未解決


メイリオ

リンク

2014/5/2(Fri) 00:05:09|NO.61811

引き続き質問させていただきます。

やりたいこと:
dialogでファイルを選択する(refstrに絶対パスが返る)
 ↓
選択したファイルを指定の場所にコピーする。(fxcopy?を使う?)

HSPで絶対パスを扱う際、C:\\xxxx\\xxxx のように「\\」としますが、
ここでDialogで選択したパスはrefstrに C:\xxxx\xxxx と「\」と帰ってきます。

このあたりの処理に関してもお教えいただきたいです。
ご教授のほど、よろしくお願いいたします。



この記事に返信する


YSR

リンク

2014/5/2(Fri) 00:51:08|NO.61813

HSPの仕様上、ソースコード内の文字列(「"」で囲まれた物)に「\」マークを用いる場合、
「\\」と二度書きする必要があります。これは、「"」マークやタブや改行マークなどを
ソースコードで表現するため、「\」マークをエスケープシーケンスとして用いるからです。
http://prograpark.ninja-web.net/HSP/other/escseq.html

ただ、これはあくまでソースコード内で文字列を表現する際のルールですので、例えば
input命令で入力された文字列やテキストファイルのデータなどは、そのような細工を
しなくてもいいです。具体的には、インプットボックスにいきなり「C:\xxxx\xxxx」と
書いてもきちんとHSPで扱えます。

ややこしく思えるかもしれませんが、キーボードで打ち込める「文字」と内部の「データ」
とは違う(外部表現と内部表現)ということで納得しておいて下さい。
http://www.e-bridge.jp/eb/tcontents/yasasikunai-p/chapter020501.html

ちなみに本文中「ご教授」とありますが、通常は「ご教示」と書くのが適切です。
参考:http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1311431093



T.T

リンク

2014/5/2(Fri) 19:33:42|NO.61816

YSRさんの通りrefstrの\は関係ないです。
単純なコピーはbcopy命令がいいと思います。

dialog "txt",16 bcopy refstr,dir_desktop+"\\"+getpath(refstr,8)

bcopy "コピーファイル絶対パス","コピー先ファイル絶対パス"
注意としては第二引数がコピー先ディレクトリではないことです。
ファイル名を保持するためにgetpath関数を使っています。
詳しくはF1で...



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