Buat File Proyek MS di C++

MS Project adalah perangkat lunak manajemen proyek yang banyak digunakan yang membantu para manajer dalam mengelola proyek mereka secara efisien. Ini memungkinkan untuk membuat tugas, menambahkan sumber daya, mengalokasikan tugas ke sumber daya, memantau kemajuan, dan mengelola operasi terkait anggaran. Pada artikel ini, Anda akan mempelajari cara menyematkan aktivitas manajemen proyek dalam aplikasi C++ tanpa MS Project. Dengan bantuan contoh kode, Anda akan mempelajari cara membuat file Proyek MS (.mpp/.xml), menambahkan tugas, sumber daya, dan kalender secara terprogram menggunakan C++. Selanjutnya, penugasan tugas ke sumber daya dalam proyek juga akan ditunjukkan.

API Manipulasi File Proyek C++ MS

Aspose.Tasks for C++ adalah API manajemen proyek C++ yang memungkinkan Anda membuat, memanipulasi, mengekspor, dan mengonversi file MS Project secara terprogram. API memberi Anda serangkaian fitur lengkap untuk membuat proyek, tugas, sumber daya, kalender, dan melakukan aktivitas manajemen proyek lainnya tanpa MS Project. Anda dapat mengunduh paket lengkap API dari di sini atau menginstalnya menggunakan NuGet.

Buat File Proyek MS (.mpp) menggunakan C++

Mari kita mulai dengan membuat proyek kosong. Berikut adalah langkah-langkah untuk membuat file MS Project (.mpp) dari awal menggunakan Aspose.Tasks for C++.

Contoh kode berikut menunjukkan cara membuat file .mpp MS Project menggunakan C++.

// Buat proyek
System::SharedPtr<Project> project = System::MakeObject<Project>();

// Tetapkan informasi proyek
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");

// Simpan proyek sebagai file .mpp
project->Save(u"project.mpp", Aspose::Tasks::Saving::SaveFileFormat::MPP);

Tambahkan Tugas ke Proyek menggunakan C++

Setelah Anda membuat proyek, Anda dapat melanjutkan untuk menambahkan tugas ke dalamnya. Anda dapat membuat proyek baru atau memuat file Proyek MS yang ada untuk menambahkan tugas. Berikut adalah langkah-langkah untuk membuat dan menambahkan tugas atau subtugas ke proyek.

Contoh kode berikut menunjukkan cara membuat dan menambahkan tugas ke proyek menggunakan C++.

// Buat contoh proyek
System::SharedPtr<Project> project = System::MakeObject<Project>(u"project.mpp");

// Tambahkan tugas, subtugas, dan simpan proyek
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");

// Simpan proyek
project->Save(dataDir + u"CreateTasks_out.mpp", Aspose::Tasks::Saving::SaveFileFormat::MPP);

Baca selengkapnya tentang fitur tambahan yang terkait dengan tugas.

Tambahkan Sumber Daya ke Proyek menggunakan C++

Sumber daya adalah entitas yang seharusnya menyelesaikan proyek. Biasanya, orang disebut sebagai sumber daya proyek. Berikut adalah langkah-langkah untuk membuat dan menambahkan sumber daya ke proyek.

Contoh kode berikut menunjukkan cara menambahkan sumber daya dalam proyek menggunakan C++.

// Buat contoh proyek
System::SharedPtr<Project> project = System::MakeObject<Project>();  

// Tambahkan sumber daya
System::SharedPtr<Resource> rsc1 = project->get_Resources()->Add(u"Rsc");    

// Tetapkan properti sumber daya, Properti sumber daya diwakili oleh kelas statis Rsc
rsc1->Set<System::Decimal>(Rsc::StandardRate(), static_cast<System::Decimal>(15));
rsc1->Set<System::Decimal>(Rsc::OvertimeRate(), static_cast<System::Decimal>(20));  

// Simpan proyek sebagai XML
project->Save(u"CreateResources_out.xml", Aspose::Tasks::Saving::SaveFileFormat::XML);

Baca lebih lanjut tentang fitur tambahan yang terkait dengan sumber daya.

Tetapkan Tugas Proyek ke Sumber Daya menggunakan C++

Setelah Anda membuat tugas dan sumber daya, langkah selanjutnya adalah menetapkan setiap tugas ke sumber daya yang bertanggung jawab untuk penyelesaiannya. Berikut adalah langkah-langkah untuk menetapkan tugas ke sumber daya.

Contoh kode berikut menunjukkan cara menetapkan tugas ke sumber daya dalam proyek menggunakan C++.

// Buat proyek kosong
System::SharedPtr<Project> project1 = System::MakeObject<Project>();    

// Tambahkan tugas dan sumber daya baru
System::SharedPtr<Task> task1 = project1->get_RootTask()->get_Children()->Add(u"Task");
System::SharedPtr<Resource> rsc1 = project1->get_Resources()->Add(u"Rsc");  

// Tetapkan tugas sumber daya yang diinginkan
System::SharedPtr<ResourceAssignment> assn = project1->get_ResourceAssignments()->Add(task1, rsc1);

Tambahkan Kalender di Proyek menggunakan C++

Kalender digunakan untuk membuat jadwal proyek dalam Proyek MS. Aspose.Tasks for C++ membuatnya sangat mudah untuk membuat kalender untuk sebuah proyek. Berikut langkah-langkah membuat kalender, menambahkan hari kerja, dan menentukan jam kerja.

Anda juga dapat mengatur waktu kerja untuk hari kerja di kalender. Untuk ini, Anda dapat mengikuti langkah-langkah di bawah ini setelah menambahkan hari kerja.

Contoh kode berikut menunjukkan cara membuat kalender dalam proyek menggunakan C++.

// Buat contoh proyek
System::SharedPtr<Project> project = System::MakeObject<Project>();    

// Tentukan Kalender
System::SharedPtr<Aspose::Tasks::Calendar> cal = project->get_Calendars()->Add(u"Calendar1");    

// Tambahkan hari kerja dari Senin hingga Kamis dengan pengaturan waktu default
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));  

// Tetapkan hari Jumat sebagai hari kerja singkat
System::SharedPtr<WeekDay> myWeekDay = System::MakeObject<WeekDay>(Aspose::Tasks::DayType::Friday);  

// Mengatur waktu kerja. Hanya bagian waktu dari DateTime yang penting
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);   

// Simpan Proyek
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);

Baca selengkapnya tentang fitur tambahan yang terkait dengan kalender.

Kesimpulan

Pada artikel ini, Anda telah mempelajari cara membuat file MS Project dan menyimpannya sebagai .mpp atau .xml menggunakan C++. Selain itu, Anda telah mempelajari cara menambahkan tugas, sumber daya, penetapan sumber daya, dan kalender dalam proyek secara terprogram. Anda juga dapat menjelajahi dokumentasi untuk fitur Aspose.Tasks yang diperluas untuk C++ untuk lebih meningkatkan kemampuan manajemen proyek dalam aplikasi Anda.

Lihat juga