MS Project เป็นซอฟต์แวร์การจัดการโครงการที่ใช้กันอย่างแพร่หลายซึ่งช่วยผู้จัดการในการจัดการโครงการได้อย่างมีประสิทธิภาพ อนุญาตให้สร้างงาน เพิ่มทรัพยากร จัดสรรงานให้กับทรัพยากร ติดตามความคืบหน้า และจัดการการดำเนินงานที่เกี่ยวข้องกับงบประมาณ ในบทความนี้ คุณจะได้เรียนรู้วิธีฝังกิจกรรมการจัดการโครงการภายในแอปพลิเคชัน C++ ของคุณโดยไม่ต้องใช้ MS Project ด้วยความช่วยเหลือของตัวอย่างโค้ด คุณจะได้เรียนรู้วิธีสร้างไฟล์ MS Project (.mpp/.xml) เพิ่มงาน ทรัพยากร และปฏิทินโดยใช้โปรแกรมโดยใช้ C++ นอกจากนี้ จะมีการสาธิตการมอบหมายงานให้กับทรัพยากรในโครงการด้วย
- API การจัดการไฟล์โครงการ C ++ MS
- สร้างไฟล์โครงการ MS จาก Scratch โดยใช้ C++
- เพิ่มงานในโครงการโดยใช้ C ++
- เพิ่มทรัพยากรในโครงการโดยใช้ C ++
- กำหนดงานของโครงการให้กับทรัพยากรโดยใช้ C ++
- เพิ่มปฏิทินในโครงการโดยใช้ C++
API การจัดการไฟล์โครงการ C ++ MS
Aspose.Tasks for C++ เป็น API การจัดการโครงการ C++ ที่ให้คุณสร้าง จัดการ ส่งออก และแปลงไฟล์ MS Project โดยทางโปรแกรม API ให้คุณมีชุดคุณลักษณะที่สมบูรณ์เพื่อสร้างโครงการ งาน ทรัพยากร ปฏิทิน และดำเนินกิจกรรมการจัดการโครงการอื่นๆ โดยไม่ต้องใช้ MS Project คุณสามารถดาวน์โหลดแพ็คเกจที่สมบูรณ์ของ API ได้จาก ที่นี่ หรือติดตั้งโดยใช้ NuGet
สร้างไฟล์โครงการ MS (.mpp) โดยใช้ C++
ก่อนอื่นให้เริ่มต้นด้วยการสร้างโครงการเปล่า ต่อไปนี้เป็นขั้นตอนในการสร้างไฟล์ MS Project (.mpp) ตั้งแต่เริ่มต้นโดยใช้ Aspose.Tasks for C++
- สร้างวัตถุของคลาส Project
- ตั้งค่าคุณสมบัติของโครงการ
- บันทึกโครงการเป็นไฟล์ .mpp โดยใช้วิธี Project->Save(u"project.mpp", Aspose::Tasks::Saving::SaveFileFormat::MPP)
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการสร้างไฟล์ .mpp ของโครงการ MS โดยใช้ C++
// สร้างโครงการ
System::SharedPtr<Project> project = System::MakeObject<Project>();
// กำหนดข้อมูลโครงการ
project->Set<System::String>(Prj::Author(), u"Author");
project->Set<System::String>(Prj::LastAuthor(), u"Last Author");
project->Set<int32_t>(Prj::Revision(), 15);
project->Set<System::String>(Prj::Keywords(), u"MSP Aspose");
project->Set<System::String>(Prj::Comments(), u"Comments");
// บันทึกโครงการเป็นไฟล์ .mpp
project->Save(u"project.mpp", Aspose::Tasks::Saving::SaveFileFormat::MPP);
เพิ่มงานในโครงการโดยใช้ C ++
เมื่อคุณสร้างโครงการแล้ว คุณสามารถดำเนินการเพิ่มงานเข้าไปได้ คุณสามารถสร้างโครงการใหม่หรือโหลดไฟล์โครงการ MS ที่มีอยู่เพื่อเพิ่มงาน ต่อไปนี้เป็นขั้นตอนในการสร้างและเพิ่มงานหรืองานย่อยในโครงการ
- สร้างโครงการใหม่หรือโหลดจากไฟล์ .mpp โดยใช้คลาส Project
- เพิ่มงานในโครงการโดยใช้เมธอด Project->getRootTask()->get Children()->Add(u"Summary1") และจัดเก็บงานที่สร้างขึ้นใหม่ลงในวัตถุ Task
- (ไม่บังคับ) เพิ่มงานย่อยให้กับงานที่สร้างขึ้นใหม่โดยใช้เมธอด Task->get Children()->Add(u"Subtask1")
- บันทึกโครงการเป็นไฟล์ .mpp โดยใช้วิธี Project->Save(u"project.mpp", Aspose::Tasks::Saving::SaveFileFormat::MPP)
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการสร้างและเพิ่มงานในโครงการโดยใช้ C++
// สร้างตัวอย่างโครงการ
System::SharedPtr<Project> project = System::MakeObject<Project>(u"project.mpp");
// เพิ่มงาน งานย่อย และบันทึกโครงการ
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");
// บันทึกโครงการ
project->Save(dataDir + u"CreateTasks_out.mpp", Aspose::Tasks::Saving::SaveFileFormat::MPP);
อ่านเพิ่มเติม เกี่ยวกับคุณสมบัติเพิ่มเติมที่เกี่ยวข้องกับงาน
เพิ่มทรัพยากรในโครงการโดยใช้ C ++
ทรัพยากรคือเอนทิตีที่ควรจะทำให้โครงการเสร็จสมบูรณ์ โดยปกติแล้ว ผู้คนจะถูกเรียกว่าเป็นทรัพยากรของโครงการ ต่อไปนี้เป็นขั้นตอนในการสร้างและเพิ่มทรัพยากรในโครงการ
- สร้างโปรเจ็กต์ใหม่หรือโหลดจากไฟล์ .mpp โดยใช้คลาส Project
- เพิ่มทรัพยากรใหม่โดยใช้เมธอด Project->getResources()->Add(u"Rsc")
- บันทึกโครงการโดยใช้เมธอด Project->Save(u"project.mpp", Aspose::Tasks::Saving::SaveFileFormat::MPP)
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการเพิ่มทรัพยากรในโครงการโดยใช้ C++
// สร้างตัวอย่างโครงการ
System::SharedPtr<Project> project = System::MakeObject<Project>();
// เพิ่มทรัพยากร
System::SharedPtr<Resource> rsc1 = project->get_Resources()->Add(u"Rsc");
// ตั้งค่าคุณสมบัติทรัพยากร คุณสมบัติทรัพยากรแสดงโดยคลาสคงที่ Rsc
rsc1->Set<System::Decimal>(Rsc::StandardRate(), static_cast<System::Decimal>(15));
rsc1->Set<System::Decimal>(Rsc::OvertimeRate(), static_cast<System::Decimal>(20));
// บันทึกโครงการเป็น XML
project->Save(u"CreateResources_out.xml", Aspose::Tasks::Saving::SaveFileFormat::XML);
อ่านเพิ่มเติม เกี่ยวกับคุณสมบัติเพิ่มเติมที่เกี่ยวข้องกับทรัพยากร
กำหนดงานของโครงการให้กับทรัพยากรโดยใช้ C ++
เมื่อคุณสร้างงานและทรัพยากรแล้ว ขั้นตอนต่อไปคือการมอบหมายงานแต่ละงานให้กับทรัพยากรที่รับผิดชอบในการดำเนินการให้เสร็จสิ้น ต่อไปนี้เป็นขั้นตอนในการมอบหมายงานให้กับทรัพยากร
- สร้างโครงการใหม่หรือโหลดจากไฟล์ .mpp โดยใช้คลาส Project
- เพิ่มงานและทรัพยากรใหม่หากโครงการว่างเปล่า
- เข้าถึงงานและทรัพยากรที่ต้องการในวัตถุ งาน และ ทรัพยากร ตามลำดับ
- มอบหมายงานให้กับทรัพยากรโดยใช้เมธอด Project->getResourceAssignments()->Add(Task, Resource)
- บันทึกโครงการโดยใช้เมธอด Project.Save()
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการมอบหมายงานให้กับทรัพยากรในโครงการโดยใช้ C++
// สร้างโครงการเปล่า
System::SharedPtr<Project> project1 = System::MakeObject<Project>();
// เพิ่มงานและทรัพยากรใหม่
System::SharedPtr<Task> task1 = project1->get_RootTask()->get_Children()->Add(u"Task");
System::SharedPtr<Resource> rsc1 = project1->get_Resources()->Add(u"Rsc");
// กำหนดทรัพยากรงานที่ต้องการ
System::SharedPtr<ResourceAssignment> assn = project1->get_ResourceAssignments()->Add(task1, rsc1);
เพิ่มปฏิทินในโครงการโดยใช้ C++
ปฏิทินใช้เพื่อสร้างกำหนดการสำหรับโครงการภายใน MS Project Aspose.Tasks for C++ ทำให้การสร้างปฏิทินสำหรับโครงการเป็นเรื่องง่ายมาก ต่อไปนี้เป็นขั้นตอนในการสร้างปฏิทิน เพิ่มวันทำงาน และระบุเวลาทำงาน
- สร้างโครงการใหม่หรือโหลดจากไฟล์ .mpp โดยใช้คลาส Project
- เพิ่มปฏิทินในโครงการโดยใช้ Project->getCalendars()->Add(u"Calendar1") และจัดเก็บค่าที่ส่งคืนในวัตถุ Calendar
- เพิ่มวันทำงานในปฏิทินโดยใช้เมธอด Calendar->getWeekDays()->Add()
- บันทึกโครงการ
คุณยังสามารถตั้งเวลาทำงานสำหรับวันธรรมดาในปฏิทินได้อีกด้วย สำหรับสิ่งนี้ คุณสามารถทำตามขั้นตอนด้านล่างหลังจากเพิ่มวันทำการ
- สร้างวัตถุของคลาส วันธรรมดา
- สร้างวัตถุของคลาส WorkingTime
- ตั้งเวลาโดยใช้เมธอด WorkingTime->setFromTime() และ WorkingTime->setToTime()
- เพิ่มเวลาทำงานให้กับวันทำงานโดยใช้เมธอด WeekDay->getWorkingTimes()->Add(WorkingTime)
- เพิ่มวันธรรมดาในปฏิทินโดยใช้เมธอด Calendar->getWeekDays()->Add(WeekDay)
- บันทึกโครงการ
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการสร้างปฏิทินในโครงการโดยใช้ C++
// สร้างตัวอย่างโครงการ
System::SharedPtr<Project> project = System::MakeObject<Project>();
// กำหนดปฏิทิน
System::SharedPtr<Aspose::Tasks::Calendar> cal = project->get_Calendars()->Add(u"Calendar1");
// เพิ่มวันทำการตั้งแต่วันจันทร์ถึงวันพฤหัสบดีด้วยการกำหนดเวลาเริ่มต้น
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<WeekDay>(Aspose::Tasks::DayType::Saturday));
cal->get_WeekDays()->Add(System::MakeObject<WeekDay>(Aspose::Tasks::DayType::Sunday));
// กำหนดวันศุกร์เป็นวันทำงานสั้น
System::SharedPtr<WeekDay> myWeekDay = System::MakeObject<WeekDay>(Aspose::Tasks::DayType::Friday);
// ตั้งเวลาทำงาน เฉพาะส่วนของ DateTime เท่านั้นที่มีความสำคัญ
System::SharedPtr<WorkingTime> wt1 = System::MakeObject<WorkingTime>();
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::SharedPtr<WorkingTime> wt2 = System::MakeObject<WorkingTime>();
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);
// บันทึกโครงการ
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);
อ่านเพิ่มเติม เกี่ยวกับคุณสมบัติเพิ่มเติมที่เกี่ยวข้องกับปฏิทิน
บทสรุป
ในบทความนี้ คุณได้เรียนรู้วิธีสร้างไฟล์ MS Project และบันทึกเป็น .mpp หรือ .xml โดยใช้ C++ นอกจากนี้ คุณได้เรียนรู้วิธีเพิ่มงาน ทรัพยากร การกำหนดทรัพยากร และปฏิทินภายในโครงการโดยทางโปรแกรม คุณยังสามารถสำรวจ เอกสารประกอบ เพื่อดูคุณสมบัติเพิ่มเติมของ Aspose.Tasks for C++ เพื่อปรับปรุงความสามารถในการจัดการโครงการภายในแอปพลิเคชันของคุณ