翻譯|使用教程|編輯:李顯亮|2020-09-10 11:01:02.073|閱讀 402 次
概述:在本文中,將學習如何在沒有MS Project的情況下將項目管理活動嵌入到C ++應用程序中。在代碼示例的幫助下,將學習如何使用C ++以編程方式創建MS Project文件(.mpp / .xml),添加任務,資源和日歷。此外,還將演示將任務分配給項目中的資源的方法。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
MS Project是一種廣泛使用的項目管理軟件,可幫助管理人員有效地管理其項目。它允許創建任務,添加資源,將任務分配給資源,監視進度以及管理與預算相關的操作。
Aspose.Tasks for .NET是功能豐富的API,可讓您使用C?;騐B.NET通過編程方式創建MS Project文件(.mpp / .xml)。 此外,它提供了各種功能來處理任務,資源和日歷。在本文中,將學習如何在沒有MS Project的情況下將項目管理活動嵌入到C ++應用程序中。在代碼示例的幫助下,將學習如何使用C ++以編程方式創建MS Project文件(.mpp / .xml),添加任務,資源和日歷。此外,還將演示將任務分配給項目中的資源的方法。
Aspose.Tasks for .NET已升級至V20.7,如果你還沒有用過Aspose.Tasks可以點擊這里下載最新版測試。
整合所有格式API處理控件Aspose永久授權正在慧都網火熱銷售中,新購樂享85折起!立馬1分鐘了解全部咨詢!
首先創建一個空項目。以下是使用Aspose.Tasks for C ++從頭開始創建MS Project(.mpp)文件的步驟。
下面的代碼示例演示如何使用C ++ 創建MS Project的.mpp文件。
將MS項目文件另存為MPP
// Create project System::SharedPtrproject = System::MakeObject(); // Set project information project->Set(Prj::Author(), u"Author"); project->Set(Prj::LastAuthor(), u"Last Author"); project->Set(Prj::Revision(), 15); project->Set(Prj::Keywords(), u"MSP Aspose"); project->Set(Prj::Comments(), u"Comments"); // Save project as .mpp file project->Save(u"project.mpp", Aspose::Tasks::Saving::SaveFileFormat::MPP);
創建項目后,可以繼續向其中添加任務。可以創建一個新項目,也可以加載現有的MS Project文件來添加任務。以下是創建任務或將子任務添加到項目中的步驟。
下面的代碼示例演示如何使用C ++創建任務并將任務添加到項目中。
// Create project instance System::SharedPtr<Project> project = System::MakeObject<Project>(u"project.mpp"); // Add task, sub task and save project System::SharedPtr<Task> task = project->get_RootTask()->get_Children()->Add(u"Summary1"); task->Set(Tsk::Start(), project->get_RootTask()->Get<System::DateTime>(Tsk::Start()).AddDays(1)); task->Set<System::String>(Tsk::Name(), u"new name"); System::SharedPtr<Task> subtask = task->get_Children()->Add(u"Subtask1"); // Save project project->Save(dataDir + u"CreateTasks_out.mpp", Aspose::Tasks::Saving::SaveFileFormat::MPP);
資源是應該完成項目的實體。通常,人們被稱為項目的資源。以下是創建資源并將資源添加到項目的步驟。
下面的代碼示例演示如何使用C ++在項目中添加資源。
// Create project instance System::SharedPtrproject = System::MakeObject(); // Add resources System::SharedPtrrsc1 = project->get_Resources()->Add(u"Rsc"); // Set resource properties, Resource properties are represented by static class Rsc rsc1->Set(Rsc::StandardRate(), static_cast(15)); rsc1->Set(Rsc::OvertimeRate(), static_cast(20)); // Save project as XML project->Save(u"CreateResources_out.xml", Aspose::Tasks::Saving::SaveFileFormat::XML);
創建任務和資源后,下一步就是將每個任務分配給負責完成任務的資源。以下是將任務分配給資源的步驟。
下面的代碼示例演示如何使用C ++將任務分配給項目中的資源。
// Create empty project System::SharedPtrproject1 = System::MakeObject(); // Add new task and resource System::SharedPtrtask1 = project1->get_RootTask()->get_Children()->Add(u"Task"); System::SharedPtrrsc1 = project1->get_Resources()->Add(u"Rsc"); // Assign the resource desired task System::SharedPtrassn = project1->get_ResourceAssignments()->Add(task1, rsc1);
日歷用于為MS Project中的項目創建時間表。C ++的Aspose.Tasks使創建項目日歷變得非常簡單。以下是創建日歷,添加工作日并指定工作時間的步驟。
還可以在日歷中設置工作日的工作時間。為此,您可以在添加工作日后按照以下步驟操作。
下面的代碼示例演示如何使用C ++在項目中創建日歷。
// Create a project instance System::SharedPtrproject = System::MakeObject(); // Define Calendar System::SharedPtrcal = project->get_Calendars()->Add(u"Calendar1"); // Add working days monday through thursday with default timings cal->get_WeekDays()->Add(WeekDay::CreateDefaultWorkingDay(Aspose::Tasks::DayType::Monday)); cal->get_WeekDays()->Add(WeekDay::CreateDefaultWorkingDay(Aspose::Tasks::DayType::Tuesday)); cal->get_WeekDays()->Add(WeekDay::CreateDefaultWorkingDay(Aspose::Tasks::DayType::Wednesday)); cal->get_WeekDays()->Add(WeekDay::CreateDefaultWorkingDay(Aspose::Tasks::DayType::Thursday)); cal->get_WeekDays()->Add(System::MakeObject(Aspose::Tasks::DayType::Saturday)); cal->get_WeekDays()->Add(System::MakeObject(Aspose::Tasks::DayType::Sunday)); // Set friday as short working day System::SharedPtrmyWeekDay = System::MakeObject(Aspose::Tasks::DayType::Friday); // Sets working time. Only time part of DateTime is important System::SharedPtrwt1 = System::MakeObject(); wt1->set_FromTime(System::DateTime(1, 1, 1, 9, 0, 0, 0)); wt1->set_ToTime(System::DateTime(1, 1, 1, 12, 0, 0, 0)); System::SharedPtrwt2 = System::MakeObject(); wt2->set_FromTime(System::DateTime(1, 1, 1, 13, 0, 0, 0)); wt2->set_ToTime(System::DateTime(1, 1, 1, 16, 0, 0, 0)); myWeekDay->get_WorkingTimes()->Add(wt1); myWeekDay->get_WorkingTimes()->Add(wt2); myWeekDay->set_DayWorking(true); cal->get_WeekDays()->Add(myWeekDay); // Save the Project System::String dataDir = Examples::CPP::RunExamples::GetDataDir(System::Reflection::MethodBase::GetCurrentMethod(ASPOSE_CURRENT_FUNCTION)->get_DeclaringType().get_FullName()); project->Save(u"Project_DefineCalendarWeekdays_out.mpp", Aspose::Tasks::Saving::SaveFileFormat::MPP);
還想要更多嗎?您可以點擊閱讀【2020 · Aspose最新資源整合】,查找需要的教程資源。如果您有任何疑問或需求,請隨時加入Aspose技術交流群(642018183),我們很高興為您提供查詢和咨詢。
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn