إنشاء ملفات مشروع MS في C++

مشروع MS هو برنامج لإدارة المشاريع يستخدم على نطاق واسع يساعد المديرين في إدارة مشاريعهم بكفاءة. يسمح بإنشاء المهام وإضافة الموارد وتخصيص المهام للموارد ومراقبة التقدم وإدارة العمليات المتعلقة بالميزانية. في هذه المقالة ، ستتعلم كيفية تضمين أنشطة إدارة المشروع في تطبيقات C++ الخاصة بك بدون MS Project. بمساعدة نماذج التعليمات البرمجية ، ستتعلم كيفية إنشاء ملفات MS Project (.mpp / .xml) وإضافة المهام والموارد والتقويمات برمجيًا باستخدام C++. علاوة على ذلك ، سيتم أيضًا عرض تعيين المهام إلى الموارد في المشروع.

C++ MS مشروع معالجة ملف API

Aspose.Tasks for C++ هي واجهة برمجة تطبيقات لإدارة المشاريع بلغة ++ C تتيح لك إنشاء ملفات MS Project ومعالجتها وتصديرها وتحويلها برمجيًا. توفر لك واجهة برمجة التطبيقات مجموعة كاملة من الميزات لإنشاء المشاريع والمهام والموارد والتقويمات وتنفيذ أنشطة إدارة المشاريع الأخرى بدون MS Project. يمكنك تنزيل الحزمة الكاملة لواجهة برمجة التطبيقات من هنا أو تثبيتها باستخدام NuGet.

إنشاء ملفات مشروع MS (.mpp) باستخدام C++

لنبدأ أولاً بإنشاء مشروع فارغ. فيما يلي خطوات إنشاء ملف MS Project (.mpp) من البداية باستخدام Aspose.Tasks لـ C++.

يُظهر نموذج التعليمات البرمجية التالي كيفية إنشاء ملف .mpp الخاص بـ MS Project باستخدام 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);

أضف المهام إلى Project باستخدام C++

بمجرد إنشاء المشروع ، يمكنك المتابعة لإضافة المهام إليه. يمكنك إما إنشاء مشروع جديد أو تحميل ملف MS Project موجود لإضافة المهام. فيما يلي خطوات إنشاء المهام أو المهام الفرعية وإضافتها إلى المشروع.

يُظهر نموذج التعليمات البرمجية التالي كيفية إنشاء المهام وإضافتها إلى مشروع باستخدام 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);

اقرأ المزيد حول الميزات الموسعة المتعلقة بالمهام.

أضف موارد إلى Project باستخدام 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-> getResourceAssignments() -> Add (مهمة ، مورد).
  • احفظ المشروع باستخدام طريقة 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);

أضف التقويمات في Project باستخدام C++

تُستخدم التقويمات لإنشاء جدول زمني للمشروع ضمن مشروع MS. Aspose.Tasks جعلت من السهل جدا إنشاء تقويم لمشروع. فيما يلي خطوات إنشاء التقويم وإضافة أيام الأسبوع وتحديد وقت العمل.

يمكنك أيضًا ضبط وقت العمل ليوم من أيام الأسبوع في التقويم. لهذا يمكنك اتباع الخطوات التالية بعد إضافة أيام العمل.

يُظهر نموذج التعليمات البرمجية التالي كيفية إنشاء تقويم في مشروع باستخدام 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++ لتعزيز قدرات إدارة المشروع داخل تطبيقاتك.

أنظر أيضا