Travailler avec des tâches estimées et marquées
Dans le projet Microsoft, les jalons sont utilisés pour suivre les progrès d’un projet. Les jalons sont des points cruciaux du projet. En règle générale, une étape est une tâche sans durée, mais toute tâche peut être marquée comme une étape importante. Aspose.Tasks pour l’API C ++ vous aide à gérer les jalons.
Travailler avec des jalons
La classe TSK expose les propriétés istimées et ismilestones pour gérer les tâches estimées et marquantes:
- ISSIMÉ: Définissez et obtenez si une tâche est estimée (valeur bool).
- IsmileStone: Définissez et obtenez si une tâche est une étape importante (valeur bool).
Voir les tâches estimées et marquées dans Microsoft Project
Pour voir si une tâche est des estimations de marqué comme une étape importante dans le projet Microsoft, on peut double-cliquer sur une tâche dans le formulaire de saisie des tâches:
Découvrir si une tâche est estimée ou une étape importante
L’exemple de code suivant montre comment savoir si une tâche est estimée ou une étape importante à l’aide d’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}