MS Project, yöneticilerin projelerini verimli bir şekilde yönetmelerine yardımcı olan, yaygın olarak kullanılan bir proje yönetimi yazılımıdır. Görevlerin oluşturulmasına, kaynakların eklenmesine, görevlerin kaynaklara tahsis edilmesine, ilerlemenin izlenmesine ve bütçe ile ilgili işlemlerin yönetilmesine olanak tanır. Bu makalede, proje yönetimi aktivitelerini MS Project olmadan C++ uygulamalarınıza nasıl ekleyeceğinizi öğreneceksiniz. Kod örneklerinin yardımıyla, MS Project dosyalarını (.mpp/.xml) oluşturmayı, C++ kullanarak programlı olarak görevler, kaynaklar ve takvimler eklemeyi öğreneceksiniz. Ayrıca, bir projede kaynaklara görevlerin atanması da gösterilecektir.
- C++ MS Proje Dosyası İşleme API’sı
- C++ kullanarak Sıfırdan MS Proje Dosyaları Oluşturun
- C++ kullanarak Projeye Görevler Ekleme
- C++ kullanarak Projeye Kaynak Ekleme
- C++ kullanarak Proje Görevini Kaynağa Ata
- C++ kullanarak Project’te Takvimler Ekleme
C++ MS Proje Dosyası İşleme API’sı
Aspose.Tasks for C++, MS Project dosyalarını program aracılığıyla oluşturmanıza, değiştirmenize, dışa aktarmanıza ve dönüştürmenize olanak tanıyan bir C++ proje yönetimi API’sidir. API, MS Project olmadan projeler, görevler, kaynaklar, takvimler oluşturmanız ve diğer proje yönetimi etkinliklerini gerçekleştirmeniz için size eksiksiz bir özellikler seti sağlar. API paketinin tamamını buradan indirebilir veya NuGet kullanarak yükleyebilirsiniz.
C++ kullanarak MS Proje Dosyaları (.mpp) oluşturun
Öncelikle boş bir proje oluşturarak başlayalım. Aspose.Tasks for C++ kullanarak sıfırdan bir MS Project (.mpp) dosyası oluşturma adımları aşağıdadır.
- Project sınıfından bir nesne oluşturun.
- Projenin özelliklerini ayarlayın.
- Project->Save(u"project.mpp", Aspose::Tasks::Saving::SaveFileFormat::MPP) yöntemini kullanarak projeyi .mpp dosyası olarak kaydedin.
Aşağıdaki kod örneği, C++ kullanarak bir MS Project’in .mpp dosyasının nasıl oluşturulacağını gösterir.
// proje oluştur
System::SharedPtr<Project> project = System::MakeObject<Project>();
// Proje bilgilerini ayarla
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");
// Projeyi .mpp dosyası olarak kaydet
project->Save(u"project.mpp", Aspose::Tasks::Saving::SaveFileFormat::MPP);
C++ kullanarak Projeye Görevler Ekleme
Bir proje oluşturduktan sonra, projeye görevler eklemeye devam edebilirsiniz. Görevleri eklemek için yeni bir proje oluşturabilir veya mevcut bir MS Project dosyasını yükleyebilirsiniz. Aşağıda, bir projeye görevler veya alt görevler oluşturma ve ekleme adımları yer almaktadır.
- Project sınıfını kullanarak yeni bir proje oluşturun veya .mpp dosyasından yükleyin.
- Project->getRootTask()->getChildren()->Add(u"Summary1") yöntemini kullanarak projeye görev ekleyin ve yeni oluşturulan görevi bir Task nesnesinde depolayın.
- (İsteğe bağlı) Task->getChildren()->Add(u"Subtask1") yöntemini kullanarak yeni oluşturulan göreve bir alt görev ekleyin.
- Project->Save(u"project.mpp", Aspose::Tasks::Saving::SaveFileFormat::MPP) yöntemini kullanarak projeyi .mpp dosyası olarak kaydedin.
Aşağıdaki kod örneği, C++ kullanarak bir projeye görevlerin nasıl oluşturulacağını ve ekleneceğini gösterir.
// Proje örneği oluştur
System::SharedPtr<Project> project = System::MakeObject<Project>(u"project.mpp");
// Görev, alt görev ekleyin ve projeyi kaydedin
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");
// Projeyi kaydet
project->Save(dataDir + u"CreateTasks_out.mpp", Aspose::Tasks::Saving::SaveFileFormat::MPP);
Görevlerle ilgili genişletilmiş özellikler hakkında Daha fazlasını okuyun.
C++ kullanarak Projeye Kaynak Ekleme
Kaynaklar, projeyi tamamlaması beklenen varlıklardır. Genellikle, insanlardan bir projenin kaynakları olarak bahsedilir. Aşağıda, bir projeye kaynak oluşturma ve ekleme adımları yer almaktadır.
- Project sınıfını kullanarak yeni bir proje oluşturun veya bir .mpp dosyasından yükleyin.
- Project->getResources()->Add(u"Rsc") yöntemini kullanarak yeni bir kaynak ekleyin.
- Project->Save(u"project.mpp", Aspose::Tasks::Saving::SaveFileFormat::MPP) yöntemini kullanarak projeyi kaydedin.
Aşağıdaki kod örneği, C++ kullanarak bir projeye nasıl kaynak ekleneceğini gösterir.
// Proje örneği oluştur
System::SharedPtr<Project> project = System::MakeObject<Project>();
// Kaynak ekle
System::SharedPtr<Resource> rsc1 = project->get_Resources()->Add(u"Rsc");
// Kaynak özelliklerini ayarlayın, Kaynak özellikleri statik sınıf Rsc ile temsil edilir
rsc1->Set<System::Decimal>(Rsc::StandardRate(), static_cast<System::Decimal>(15));
rsc1->Set<System::Decimal>(Rsc::OvertimeRate(), static_cast<System::Decimal>(20));
// Projeyi XML olarak kaydet
project->Save(u"CreateResources_out.xml", Aspose::Tasks::Saving::SaveFileFormat::XML);
Kaynaklarla ilgili genişletilmiş özellikler hakkında daha fazlasını okuyun.
C++ kullanarak Proje Görevini Kaynağa Ata
Görevleri ve kaynakları oluşturduktan sonraki adım, her görevi, tamamlanmasından sorumlu olan bir kaynağa atamaktır. Bir kaynağa görev atama adımları aşağıdadır.
- Project sınıfını kullanarak yeni bir proje oluşturun veya bir .mpp dosyasından yükleyin.
- Proje boşsa yeni görevler ve kaynaklar ekleyin.
- İstenen göreve ve kaynağa sırasıyla Görev ve Kaynak nesnesine erişin.
- Project->getResourceAssignments()->Add(Task, Resource) yöntemini kullanarak kaynağa görev atayın.
- Project.Save() yöntemini kullanarak projeyi kaydedin.
Aşağıdaki kod örneği, C++ kullanarak bir projede bir kaynağa görev atamayı gösterir.
// Boş proje oluştur
System::SharedPtr<Project> project1 = System::MakeObject<Project>();
// Yeni görev ve kaynak ekle
System::SharedPtr<Task> task1 = project1->get_RootTask()->get_Children()->Add(u"Task");
System::SharedPtr<Resource> rsc1 = project1->get_Resources()->Add(u"Rsc");
// Kaynak istenen görevi atayın
System::SharedPtr<ResourceAssignment> assn = project1->get_ResourceAssignments()->Add(task1, rsc1);
C++ kullanarak Project’te Takvimler Ekleme
Takvimler, MS Project içinde proje için bir program oluşturmak için kullanılır. Aspose.Tasks for C++, bir proje için takvim oluşturmayı çok basit hale getirdi. Takvim oluşturma, hafta içi gün ekleme ve çalışma saatini belirleme adımları aşağıdadır.
- Project sınıfını kullanarak yeni bir proje oluşturun veya bir .mpp dosyasından yükleyin.
- Project->getCalendars()->Add(u"Calendar1") kullanarak projeye bir takvim ekleyin ve döndürülen değeri Calendar nesnesinde saklayın.
- Calendar->getWeekDays()->Add() yöntemini kullanarak iş günlerini takvime ekleyin.
- Projeyi kaydedin.
Takvimde hafta içi bir günün çalışma saatini de ayarlayabilirsiniz. Bunun için iş günlerini ekledikten sonra aşağıdaki adımları takip edebilirsiniz.
- WeekDay sınıfından bir nesne oluşturun.
- WorkingTime sınıfından bir nesne oluşturun.
- WorkingTime->setFromTime() ve WorkingTime->setToTime() yöntemlerini kullanarak zamanlamayı ayarlayın.
- WeekDay->getWorkingTimes()->Add(WorkingTime) yöntemini kullanarak hafta içi çalışma saatini ekleyin.
- Calendar->getWeekDays()->Add(WeekDay) yöntemini kullanarak takvime haftanın gününü ekleyin.
- Projeyi kaydedin.
Aşağıdaki kod örneği, C++ kullanarak bir projede nasıl takvim oluşturulacağını gösterir.
// Bir proje örneği oluşturun
System::SharedPtr<Project> project = System::MakeObject<Project>();
// Takvimi Tanımla
System::SharedPtr<Aspose::Tasks::Calendar> cal = project->get_Calendars()->Add(u"Calendar1");
// Varsayılan zamanlamalarla pazartesiden perşembeye çalışma günleri ekleyin
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));
// Cuma gününü kısa çalışma günü olarak ayarla
System::SharedPtr<WeekDay> myWeekDay = System::MakeObject<WeekDay>(Aspose::Tasks::DayType::Friday);
// Çalışma süresini ayarlar. DateTime'ın yalnızca zaman kısmı önemlidir
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);
// Projeyi Kaydet
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);
Takvimlerle ilgili genişletilmiş özellikler hakkında daha fazlasını okuyun.
Çözüm
Bu makalede, MS Project dosyalarının nasıl oluşturulacağını ve C++ kullanılarak .mpp veya .xml olarak nasıl kaydedileceğini öğrendiniz. Ayrıca, bir proje içinde programlı olarak görevleri, kaynakları, kaynak atamalarını ve takvimleri nasıl ekleyeceğinizi öğrendiniz. Aspose.Tasks for C++‘ın genişletilmiş özellikleri için dokümantasyonu da keşfederek uygulamalarınızdaki proje yönetimi yeteneklerini daha da geliştirebilirsiniz.