Arbeiten mit geschätzten und Meilensteinaufgaben
Im Microsoft -Projekt werden Meilensteine verwendet, um den Fortschritt eines Projekts zu überwachen. Meilensteine sind entscheidende Punkte im Projekt. In der Regel ist ein Meilenstein eine Aufgabe ohne Dauer, aber jede Aufgabe kann als Meilenstein gekennzeichnet werden. Aspose.Tasks FÜR C ++ API hilft Ihnen, Meilensteine zu verwalten.
Mit Meilensteinen arbeiten
Die TSK -Klasse enthält die isestimierten und Ismilestone -Eigenschaften, um geschätzte und Meilensteinaufgaben zu verwalten:
- Isestimiert: Setzen Sie und erhalten Sie, ob eine Aufgabe geschätzt wird (BOOL -Wert).
- Ismilestone: Setzen Sie und erhalten Sie, ob eine Aufgabe ein Meilenstein ist (BOOL -Wert).
Anzeigen geschätzter und Meilensteinaufgaben in Microsoft Project
Um festzustellen, ob eine Aufgabe Schätzungen von als Meilenstein im Microsoft Project markiert ist, können Sie eine Aufgabe im Task-Anpassungsformular verdoppeln:
herauszufinden, ob eine Aufgabe geschätzt wird oder ein Meilenstein
Das folgende Codebeispiel zeigt, wie man herausfindet, ob eine Aufgabe geschätzt wird, oder ein Meilenstein mit Aspose.Tasks.
1// Read project from file stream
2System::String dataDir = RunExamples::GetDataDir(System::Reflection::MethodBase::GetCurrentMethod(ASPOSE_CURRENT_FUNCTION)->get_DeclaringType().get_FullName());
3System::SharedPtr<System::IO::FileStream> fs = System::MakeObject<System::IO::FileStream>(dataDir + u"EstimatedMilestoneTasks.mpp", System::IO::FileMode::Open);
4System::SharedPtr<Project> prj = System::MakeObject<Project>(fs);
5fs->Close();
6
7// Create a ChildTasksCollector instance
8System::SharedPtr<ChildTasksCollector> collector = System::MakeObject<ChildTasksCollector>();
9
10// Collect all the tasks from RootTask using TaskUtils
11TaskUtils::Apply(prj->get_RootTask(), collector, 0);
12
13// Parse through all the collected tasks
14
15{
16 auto tsk1_enumerator = (collector->get_Tasks())->GetEnumerator();
17 decltype(tsk1_enumerator->get_Current()) tsk1;
18 while (tsk1_enumerator->MoveNext() && (tsk1 = tsk1_enumerator->get_Current(), true))
19 {
20 System::String strEst = tsk1->Get<NullableBool>(Tsk::IsEstimated()).get_Value() ? System::String(u"Estimated") : System::String(u"Non-Estimated");
21 System::String strMileStone = tsk1->Get<NullableBool>(Tsk::IsMilestone()).get_Value() ? System::String(u"Milestone") : System::String(u"Non-Milestone");
22 System::Console::WriteLine(tsk1->Get(Tsk::Name()) + u" : " + strEst);
23 System::Console::WriteLine(tsk1->Get(Tsk::Name()) + u" : " + strMileStone);
24 }
25}