ページ 11

VC++.netでディレクトリの取得

Posted: 2009年12月29日(火) 20:21
by .net初心者
こちらで聞くことではないのはわかっております。
現在VC++.netについて勉強しております。
今まで組み込み系のCの経験はあったのでfor文など基本的な使い方はわかります。

VC++.netで特定のディレクトリにあるファイル名の取得を行いたいです。
ただし全く見当がつきません・・・。

例えば
dir.exe
┠aaa.txt
┠bbb.txt
┠ccc.txt
┠ddd.txt
┗フォルダ
┗eee.txt

この様な構成があったらaaa~ddd.txtまで取ってきたいです。
どのようにすればよいのでしょうか。

また今後のためにフォルダ以下にあるeee.txt等も取ってこれるのでしたら
両方教えていただけますと助かります。

Re:VC++.netでディレクトリの取得

Posted: 2009年12月29日(火) 21:12
by .net初心者
すみません。
しばらく検索してましたら出来ました。
しかし取得したものをforeachで取得するやり方がわかりません。
下記のソースだとコメントを消してしまうとエラーが出てしまいます。
filesの分だけ回したいです。

// ディレクトリのサーチ
array<String^>^ files = System::IO::Directory::GetFiles(path);
// for each(array<String^>^ files in files){
//  ここに処理
// this->comboBoxItem->Items->Add(files);
// }

Re:VC++.netでディレクトリの取得

Posted: 2009年12月29日(火) 22:11
by バグ
// for each(array<String^>^ files in files){

この部分、おかしくないですか?

filesという同じ変数名が使用されていますし、コピーされる側まで配列にしてしまっては駄目です。

Re:VC++.netでディレクトリの取得

Posted: 2009年12月29日(火) 22:15
by pooka
>for&#160;each(array<String^>^&#160;files&#160;in&#160;files){
これは
for&#160;each(String^&#160;file&#160;in&#160;files){
ですね。

>フォルダ以下にあるeee.txt
array<String^>^&#160;files&#160;=&#160;System::IO::Directory::GetFiles(path,&#160;"*",&#160;System::IO::SearchOption::AllDirectories);
このように引数を指定することでサブフォルダのファイルも取得できます。
テキストファイルのみ取得するのであれば、"*"&#160;を&#160;"*.txt"&#160;にすればできます。

Re:VC++.netでディレクトリの取得

Posted: 2009年12月29日(火) 22:44
by .net初心者
ありがとうございます。
使い方が何となく理解できました。
問題なく表示もできました。

Re:VC++.netでディレクトリの取得

Posted: 2009年12月30日(水) 21:32
by .net初心者
何度もお尋ねしてすみません。
foreachを使ってcheckedListBoxで選択されているアイテムを取得したいです。
とりあえずテキストボックスに表示しようと頑張ってみました。
しかしいくらやってもforeachでエラーが返ってきてしまいます。

どの様にすれば取得できるでしょうか?

this->checkedListBoxItem->

Re:VC++.netでディレクトリの取得

Posted: 2009年12月30日(水) 22:42
by net初心者
一回締めさせてください。