这就是我的任务,
我创建了一个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,依此类推?任何人都可以帮忙提出一些想法吗?
我希望将其作为自动化系统。
提前全部谢谢。
答案 0 :(得分:0)
您需要为System::Threading::ThreadPool
定义一个工作方法,并在分析一行时将项目排队到ThreadPool
。
for each (String^ line in lines)
{
System::Threading::ThreadPool::QueueUserWorkItem( gcnew WaitCallback(YourMethod), dataToPass);
}
ThreadPool
查看{{1}}。