Arrêter et reprendre une tâche
La date d’arrêt des tâches est la date à laquelle elle devrait (ou a fait) fin. Parfois, une tâche doit être arrêtée temporairement et a ensuite repris plus tard. Le projet Microsoft peut calculer les dates d’arrêt ou permettre aux utilisateurs de les saisir manuellement.
Travailler avec des tâches arrêtées et reprise
Les propriétés d’arrêt et de curriculum vitae exposées par la classe TSK sont utilisées pour lire ou rédiger la date d’arrêt d’une tâche:
- Arrêt: la date d’une tâche s’arrête (DateTime).
- CV: la date et l’heure qu’une tâche redémarre (DateTime).
View du projet Microsoft des dates d’arrêt et de curriculum vitae
Pour voir les dates d’arrêt d’une tâche:
- Dans le formulaire d’entrée de tâche, dans le menu INSERT, sélectionnez Colonne.
- Ajoutez les colonnes d’arrêt et de reprise.
Obtenir des dates d’arrêt et de reprise
Les dates d’arrêt et de curriculum vitae sont NA si la tâche ne s’est jamais arrêtée. Pour les valeurs de date égales à NA, Aspose.Tasks pour l’API C ++ prend la valeur “1/1/2000” si vous utilisez la version d’évaluation. Lorsqu’il est entièrement sous licence, Aspose.Tasks pour l’API C ++ utilise DateTime.minvalue pour les valeurs NA. L’exemple de code suivant démontre les dates d’arrêt et de curriculum vitae pour toutes les tâches d’un projet.
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"StopResumeDates.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// Check Stop and Resume dates for all 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 if (tsk1->Get<System::DateTime>(Tsk::Stop()).ToShortDateString() == u"1/1/2000")
21 {
22 System::Console::WriteLine(u"Stop: NA");
23 }
24 else
25 {
26 System::Console::WriteLine(System::String(u"Stop: ") + tsk1->Get<System::DateTime>(Tsk::Stop()).ToShortDateString());
27 }
28
29 if (tsk1->Get<System::DateTime>(Tsk::Resume()).ToShortDateString() == u"1/1/2000")
30 {
31 System::Console::WriteLine(u"Resume: NA");
32 }
33 else
34 {
35 System::Console::WriteLine(System::String(u"Resume: ") + tsk1->Get<System::DateTime>(Tsk::Resume()).ToShortDateString());
36 }
37 }
38}