ab.com コミュニティ

ActiveBasicを通したコミュニケーション
現在時刻 - 2024年4月28日(日) 00:50

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




返信する
ユーザー名:
件名:
メッセージ本文:
メッセージを入力してください。60000 字まで入力できます。 

フォントサイズ:
フォントカラー
オプション:
BBCode: ON
[img]: ON
[flash]: OFF
[url]: ON
スマイリー: OFF
BBCode を無効にする
URL を自動的にパースしない
クイズ
お手数ですがカタカナで「エービー」と4文字を入力してください。:
答えを正確に入力してください。答えられるかどうかでスパムボットか否かを判定します。
   

トピックのレビュー - ファイルの複数選択
作成者 メッセージ
  記事の件名:   引用付きで返信する
>>イグトランス様
回答ありがとうございます。

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

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


☆宣伝☆
組み込ませていただいたものを公開していますので、どうぞ。
http://www.activebasic.com/forum/viewtopic.php?t=2667
投稿記事 Posted: 2011年4月11日(月) 22:24
  記事の件名:   引用付きで返信する
こんなかんじでどうでしょうか。
  • MakeStrがEx"\0"を含んだ文字列を扱えないため、FilePathをString型でZeroString使用へ変更。
  • InStr関数呼出の中のEx"\0"もZeroString(1)へ変更(MakeStrと同じようにこれもこうしないとうまくいかないのです)。
  • InStrが返すのは「何文字目であったか」なので、Mid$の「何文字?」の引数とあっていないあたりを修正。
  • 先頭を0文字目とするものと、先頭を1とするものが混在しているので、その調整をより正確にした。
投稿記事 Posted: 2011年4月10日(日) 23:57
  記事の件名:   引用付きで返信する
たかせん様、HSABP様ご回答ありがとうございます。

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

すいませんが、修正の方お願いします。
投稿記事 Posted: 2011年4月10日(日) 21:45
  記事の件名:   引用付きで返信する
複数選択のlpstrFileの中身は

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

\0を区切り文字として分解し一つ一つに
wsprintf(fullpath, "%s%s", フォルダ名, ファイル名)
とでもやる
投稿記事 Posted: 2011年4月10日(日) 20:21
  記事の件名:  Re: ファイルの複数選択  引用付きで返信する
> ファイルの選択ダイアログにて、ファイルの複数選択で躓いてしまいました。
確認ですがそれはGetOpenFileNameですか?
できればその部分のコードを記載願います。

ちなみにもしGetOpenFileNameであれば
FlagsにOFN_ALLOWMULTISELECTを指定されましたか?
投稿記事 Posted: 2011年4月10日(日) 19:12
  記事の件名:  ファイルの複数選択  引用付きで返信する
お世話になっています。
ファイルの選択ダイアログにて、ファイルの複数選択で躓いてしまいました。

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

これはどのようにしてフルパスを取得していくのでしょうか。
すいませんがお知恵をお貸しください。
よろしくお願いします。
投稿記事 Posted: 2011年4月09日(土) 21:53

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


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