2013-03-24 4 views
0

이 내 작업거야 될 어떻게, 내가 그림과 같이 두 개의 버튼으로 구성 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) 
    {   
    } 
}  

} 그 후

, 나는 각 파일에 대한 구현을 시작하고 싶습니다. 내가 열어 본 파일은 "1_1.cp", "2_1.cp"및 "3_1.cp"입니다. "Start Analysis"버튼에서 파일에 대한 분석을 시작하고 각 파일을 다른 작업이나 기능에 할당해야합니다.

이제 내 질문은 특정 작업이나 기능을 수행 할 수 있도록 각각의 열린 파일을 어떻게 할당 할 것인가입니다. 예를 들어, 1_1.cp는 A 작업을, 2_1.cp는 B 작업을 수행합니까? 누구나 아이디어를 제안 할 수 있습니까?

자동화 된 시스템으로 만들고 싶습니다.

미리 감사드립니다.

+0

"각 파일에 다른 작업 또는 기능을 수행하도록 할당"한다는 것은 정확히 무엇을 의미합니까? 왜 그렇게해야합니까? 파일을 병렬로 처리하는 방법을 묻고 있습니까? – svick

답변

0

System::Threading::ThreadPool에 대한 작업자 정의 방법을 정의하고 줄을 분석 할 때 항목을 ThreadPool에 대기열로 지정해야합니다.

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

ThreadPool을 찾아 here.

+0

이 작업의 목적은 무엇입니까? 원인 열린 파일을 "분석 시작"에 지정하고 분석 기능을 시작하고 싶습니다. 두 버튼이 서로 연결되어 있는지 알 수 있습니까? "분석 된 파일 찾아보기"에서 열린 파일을 "분석 시작"에서 읽을 수 있다는 의미입니까? 감사. – Ken

+0

이 방법을 사용하면 주어진 작업을 수행하는 스레드를 만듭니다. 나는 내부적으로 데이터의 의존성과 전달에 관해 모른다. 그래도 내가 맞으면 잘 모르겠다. –

관련 문제