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
- Buat File Proyek MS dari Awal menggunakan C++
- Tambahkan Tugas ke Proyek menggunakan C++
- Tambahkan Sumber Daya ke Proyek menggunakan C++
- Tetapkan Tugas Proyek ke Sumber Daya menggunakan C++
- Tambahkan Kalender di Proyek menggunakan C++
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++.
- Buat objek dari kelas Proyek.
- Tetapkan properti proyek.
- Simpan proyek sebagai file .mpp menggunakan metode Project->Save(u"project.mpp", Aspose::Tasks::Saving::SaveFileFormat::MPP).
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.
- Buat proyek baru atau muat dari file .mpp menggunakan kelas Proyek.
- Tambahkan tugas ke proyek menggunakan metode Project->getRootTask()->getChildren()->Add(u"Summary1") dan simpan tugas yang baru dibuat ke dalam objek Tugas.
- (Opsional) Tambahkan subtugas ke tugas yang baru dibuat menggunakan metode Task->getChildren()->Add(u"Subtask1").
- Simpan proyek sebagai file .mpp menggunakan metode Project->Save(u"project.mpp", Aspose::Tasks::Saving::SaveFileFormat::MPP).
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.
- Buat proyek baru atau muat dari file .mpp menggunakan kelas Proyek.
- Tambahkan sumber daya baru menggunakan metode Project->getResources()->Add(u"Rsc").
- Simpan proyek menggunakan metode Project->Save(u"project.mpp", Aspose::Tasks::Saving::SaveFileFormat::MPP).
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.
- Buat proyek baru atau muat dari file .mpp menggunakan kelas Proyek.
- Tambahkan tugas dan sumber daya baru jika proyek kosong.
- Akses tugas dan sumber daya yang diinginkan masing-masing ke objek Tugas dan Sumber Daya.
- Tetapkan tugas ke sumber daya menggunakan metode Project->getResourceAssignments()->Add(Task, Resource).
- Simpan proyek menggunakan metode Project.Save().
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.
- Buat proyek baru atau muat dari file .mpp menggunakan kelas Proyek.
- Tambahkan kalender ke proyek menggunakan Project->getCalendars()->Add(u"Calendar1") dan simpan nilai yang dikembalikan di objek Calendar.
- Tambahkan hari kerja ke kalender menggunakan metode Calendar->getWeekDays()->Add().
- Simpan proyek.
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.
- Buat objek kelas WeekDay.
- Buat objek kelas Waktu Kerja.
- Setel waktu menggunakan metode WorkingTime->setFromTime() dan WorkingTime->setToTime().
- Tambahkan waktu kerja ke hari kerja menggunakan metode WeekDay->getWorkingTimes()->Add(WorkingTime).
- Tambahkan hari kerja ke kalender menggunakan metode Calendar->getWeekDays()->Add(WeekDay).
- Simpan proyek.
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.