2

コードに複数選択機能を設定して、「.txt」形式の複数のファイルを開くことができるようにしました。ここに問題があります。OpenFileDialog で開いた後、これらの選択したファイルをすべて読み取るにはどうすればよいですか? 次のコードと「for each」行で、System::Diagnostics::Debug を使用すると、ファイルのデータのみが表示され、他のファイルのデータは欠落しています。「for each」の後のコードをどのように変更すればよいですか? 誰でも提案やアドバイスを提供できますか? 選択されたファイルは、1_1.txt、2_1.txt、3_1.txt です。お返事ありがとうございます。

ここに私の書いたコードがあります、

Stream^ myStream;  
OpenFileDialog^ openFileDialog1 = gcnew OpenFileDialog;  
openFileDialog1->InitialDirectory = "c:\\";  
openFileDialog1->Title = "open captured file";  
openFileDialog1->Filter = "CP files (*.cp)|*.cp|All files (*.*)|*.*|txt files (*.txt)|*.txt";  
openFileDialog1->FilterIndex = 2;  
openFileDialog1->Multiselect = true;  

if ( openFileDialog1->ShowDialog() == System::Windows::Forms::DialogResult::OK )  
{  
  array<String^>^ lines = System::IO::File::ReadAllLines(openFileDialog1->FileName);  
  for each (String^ line in lines) {  
    //?????  
    System::Diagnostics::Debug::WriteLine("",line);  
  }  
}  
4

3 に答える 3

1

OpenFileDialog.FileNames複数のファイルを選択できるようにする場合は、プロパティを確認する必要があります。

if ( openFileDialog1->ShowDialog() == System::Windows::Forms::DialogResult::OK )  
{  
  for each (String^ file in openFileDialog1->FileNames) 
  {  
    array<String^>^ lines = System::IO::File::ReadAllLines(file);  
    for each (String^ line in lines) 
    {  
      System::Diagnostics::Debug::WriteLine("",line);  
    }
  }  
}  
于 2013-03-22T17:42:25.960 に答える