0

我的任务就是这样

我创建了一个由两个按钮组成的 GUI,如图所示,

在此处输入图像描述

因此,对于“浏览捕获的文件”按钮,我必须通过 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) 
     {          
     }
}    

}

之后,我想开始对每个文件进行实施。我打开的文件例如“1_1.cp”、“2_1.cp”和“3_1.cp”。在“开始分析”按钮,我将开始对文件进行分析,并需要分配每个文件来执行不同的任务或功能。

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

我想把它变成一个自动化系统。

提前谢谢大家。

4

1 回答 1

0

您需要为自己定义一个工作方法,System::Threading::ThreadPool并且在分析一行时,将一个项目排队到ThreadPool.

 for each (String^ line in lines) 
 {
    System::Threading::ThreadPool::QueueUserWorkItem( gcnew WaitCallback(YourMethod), dataToPass);    
 }

这里寻找ThreadPool

于 2013-03-24T09:45:37.590 回答