สร้างไฟล์โครงการ MS ใน C++

MS Project เป็นซอฟต์แวร์การจัดการโครงการที่ใช้กันอย่างแพร่หลายซึ่งช่วยผู้จัดการในการจัดการโครงการได้อย่างมีประสิทธิภาพ อนุญาตให้สร้างงาน เพิ่มทรัพยากร จัดสรรงานให้กับทรัพยากร ติดตามความคืบหน้า และจัดการการดำเนินงานที่เกี่ยวข้องกับงบประมาณ ในบทความนี้ คุณจะได้เรียนรู้วิธีฝังกิจกรรมการจัดการโครงการภายในแอปพลิเคชัน C++ ของคุณโดยไม่ต้องใช้ MS Project ด้วยความช่วยเหลือของตัวอย่างโค้ด คุณจะได้เรียนรู้วิธีสร้างไฟล์ MS Project (.mpp/.xml) เพิ่มงาน ทรัพยากร และปฏิทินโดยใช้โปรแกรมโดยใช้ 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++

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการสร้างไฟล์ .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 ที่มีอยู่เพื่อเพิ่มงาน ต่อไปนี้เป็นขั้นตอนในการสร้างและเพิ่มงานหรืองานย่อยในโครงการ

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการสร้างและเพิ่มงานในโครงการโดยใช้ 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 ++

ทรัพยากรคือเอนทิตีที่ควรจะทำให้โครงการเสร็จสมบูรณ์ โดยปกติแล้ว ผู้คนจะถูกเรียกว่าเป็นทรัพยากรของโครงการ ต่อไปนี้เป็นขั้นตอนในการสร้างและเพิ่มทรัพยากรในโครงการ

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการเพิ่มทรัพยากรในโครงการโดยใช้ 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()
  • บันทึกโครงการ

คุณยังสามารถตั้งเวลาทำงานสำหรับวันธรรมดาในปฏิทินได้อีกด้วย สำหรับสิ่งนี้ คุณสามารถทำตามขั้นตอนด้านล่างหลังจากเพิ่มวันทำการ

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการสร้างปฏิทินในโครงการโดยใช้ 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++ เพื่อปรับปรุงความสามารถในการจัดการโครงการภายในแอปพลิเคชันของคุณ

ดูสิ่งนี้ด้วย