如何在多个文件中分配不同的功能?

时间:2013-03-24 14:27:22

标签: c++-cli

这就是我的任务,

我创建了一个GUI,它包含两个按钮,如图所示

enter image description here

因此,对于“浏览捕获文件”按钮,我必须通过OpenFIleDialog打开多个文件并读取它。这是打开和读取文件的代码。

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 )
     {

for each (String^ file in openFileDialog1->FileNames) 
{  

       array<String^>^ lines = System::IO::File::ReadAllLines(file);  

     for each (String^ line in lines) 
     {          
     }
}    

之后,在“开始分析”按钮,我想开始实现每个文件。我在OpenFileDialog中打开的文件,例如“1_1.cp”,“2_1.cp”和“3_1.cp”。我将开始对文件进行分析,每个文件都有不同的数据,这些数据将执行不同的分析。

现在我的问题是,我如何分配每个打开的文件来执行特定的任务或功能。例如,1_1.cp执行任务A,2_1.cp执行任务B,依此类推?任何人都可以帮忙提出一些想法吗?

提前全部谢谢。

1 个答案:

答案 0 :(得分:0)

我不是100%肯定你在问什么,但这就是你要找的东西吗?

if(openFileDialog1->FileNames->Length > 0)
{
    TaskA(openFileDialog1->FileNames[0]);
}

if(openFileDialog1->FileNames->Length > 1)
{
    TaskB(openFileDialog1->FileNames[1]);
}

if(openFileDialog1->FileNames->Length > 2)
{
    TaskC(openFileDialog1->FileNames[2]);
}

// etc...