ab.com コミュニティ

ActiveBasicを通したコミュニケーション
現在時刻 - 2024年3月28日(木) 18:21

全ての表示時間は UTC+09:00 です




新しいトピックを投稿する  トピックへ返信する  [ 6 件の記事 ] 
作成者 メッセージ
 記事の件名: ファイルの複数選択
投稿記事Posted: 2011年4月09日(土) 21:53 
オフライン

登録日時: 2009年3月29日(日) 15:45
記事: 106
お世話になっています。
ファイルの選択ダイアログにて、ファイルの複数選択で躓いてしまいました。

ファイルが一つの場合、lpstrFileにファイルパスが返ってきますが、
複数を選択させるとlpstrFileにそのファイルがあるフォルダーが返ってくるようです。

これはどのようにしてフルパスを取得していくのでしょうか。
すいませんがお知恵をお貸しください。
よろしくお願いします。

_________________
↓個人的ソフト置き場
http://www.software.jpn.org/
↓萌えゲー製作とかしていたい
http://www.holygate.jpn.org/


通報する
ページトップ
投稿記事Posted: 2011年4月10日(日) 19:12 
オフライン

登録日時: 2006年2月05日(日) 17:10
記事: 215
お住まい: 東京都
> ファイルの選択ダイアログにて、ファイルの複数選択で躓いてしまいました。
確認ですがそれはGetOpenFileNameですか?
できればその部分のコードを記載願います。

ちなみにもしGetOpenFileNameであれば
FlagsにOFN_ALLOWMULTISELECTを指定されましたか?


通報する
ページトップ
 記事の件名:
投稿記事Posted: 2011年4月10日(日) 20:21 
複数選択のlpstrFileの中身は

"フォルダ名\01つ目のファイル名\02つめのファイル名\03つめ...\0\0"
と\0で区切って格納されてる。

\0を区切り文字として分解し一つ一つに
wsprintf(fullpath, "%s%s", フォルダ名, ファイル名)
とでもやる


通報する
ページトップ
   
 記事の件名:
投稿記事Posted: 2011年4月10日(日) 21:45 
オフライン

登録日時: 2009年3月29日(日) 15:45
記事: 106
たかせん様、HSABP様ご回答ありがとうございます。

HSABP様の助言から、以下のようなコードを書きました。
しかし、フォルダパスは取得出来るのですがファイル名が取得できませんでした。
※wsprintf関数はいまいち使い方が分かりませんので・・・・・・
%s%sって何なのでしょうか?^^;

すいませんが、修正の方お願いします。

_________________
↓個人的ソフト置き場
http://www.software.jpn.org/
↓萌えゲー製作とかしていたい
http://www.holygate.jpn.org/


通報する
ページトップ
 記事の件名:
投稿記事Posted: 2011年4月10日(日) 23:57 
オフライン

登録日時: 2005年5月31日(火) 17:59
記事: 899
お住まい: 東京都
こんなかんじでどうでしょうか。
  • MakeStrがEx"\0"を含んだ文字列を扱えないため、FilePathをString型でZeroString使用へ変更。
  • InStr関数呼出の中のEx"\0"もZeroString(1)へ変更(MakeStrと同じようにこれもこうしないとうまくいかないのです)。
  • InStrが返すのは「何文字目であったか」なので、Mid$の「何文字?」の引数とあっていないあたりを修正。
  • 先頭を0文字目とするものと、先頭を1とするものが混在しているので、その調整をより正確にした。


通報する
ページトップ
 記事の件名:
投稿記事Posted: 2011年4月11日(月) 22:24 
オフライン

登録日時: 2009年3月29日(日) 15:45
記事: 106
>>イグトランス様
回答ありがとうございます。

コードを拝見させていただきましたが、
う~ん・・・
分かったような分からないような・・・・

とりあえずコピペさせていただきました。
少しずつ理解していきたいと思います。
ありがとうございました。


☆宣伝☆
組み込ませていただいたものを公開していますので、どうぞ。
http://www.activebasic.com/forum/viewtopic.php?t=2667

_________________
↓個人的ソフト置き場
http://www.software.jpn.org/
↓萌えゲー製作とかしていたい
http://www.holygate.jpn.org/


通報する
ページトップ
期間内表示:  ソート  
新しいトピックを投稿する  トピックへ返信する  [ 6 件の記事 ] 

全ての表示時間は UTC+09:00 です


オンラインデータ

このフォーラムを閲覧中のユーザー: Ahrefs [Bot] & ゲスト[29人]


トピック投稿:  可
返信投稿:  可
記事編集: 不可
記事削除: 不可
ファイル添付: 不可

検索:
ページ移動:  
cron
Powered by phpBB® Forum Software © phpBB Limited
Japanese translation principally by ocean