Робота з проектами в C ++
Aspose.Tasks для C ++ дозволяє працювати з файлами Microsoft Project (MPP/XML), не встановлюючи Microsoft Project, або за допомогою автоматизації Microsoft Office. Потужний та гнучкий API, Aspose.Tasks ЗБЕРЕГАЄТЬСЯ ВАШІ ЧАС І СВІТЛИ, Даючи вам інструменти, необхідні для написання ефективного коду для маніпулювання файлами проектів у ваших програмах C ++.
Aspose.Tasks можна використовувати для відкриття існуючих файлів або створення нових файлів. Ця стаття пояснює, як створити новий і порожній файл проекту з потоку за допомогою класу проекту, а також відкрити існуючі файли.
Створення порожнього файлу проекту
Клас проект - це головний клас у Aspope.Tasks, що використовується для встановлення та отримання властивостей, пов’язаних з проектом, а також поведінки проекту. Метод збереження, запропонований цим класом, дає змогу надати проект до різних форматів виходу, таких як XML, MPP, PDF, HTML тощо з одним викликом API. Цей метод приймає потік файлу або ім’я файлу та одне із значень, наданих типом перерахування SaveFileFormat.
В даний час Aspose.Tasks надає можливість створити лише файли проекту XML. Наступні рядки коду створюють простий файл проекту у форматі XML.
Файл проекту XML можна відкрити в Microsoft Project:
- У меню **** виберіть відкрити.
- Виберіть параметр XML (*.xml) з типів файлів та перегляньте у вихідний XML -файл.
- У меню **** виберіть Інформація про проект
Створіть порожній проект та збереження як XML -файл
1// Create empty project
2System::SharedPtr<Project> project = System::MakeObject<Project>();
3
4// Save project as xml
5project->Save(dataDir + u"EmptyProjectSaveXML_out.xml", Aspose::Tasks::Saving::SaveFileFormat::XML);
Create an Empty Project and Save to Stream
1// Create a project instance
2System::SharedPtr<Project> newProject = System::MakeObject<Project>();
3
4// Create a file stream
5{
6 System::SharedPtr<System::IO::FileStream> projectStream = System::MakeObject<System::IO::FileStream>(dataDir + u"EmptyProjectSaveStream_out.xml", System::IO::FileMode::Create, System::IO::FileAccess::Write);
7 // Clearing resources under 'using' statement
8 System::Details::DisposeGuard<1> __dispose_guard_0({ projectStream});
9 // ------------------------------------------
10
11 try
12 {
13 // Write the stream into XML format
14 newProject->Save(projectStream, Aspose::Tasks::Saving::SaveFileFormat::XML);
15 }
16 catch(...)
17 {
18 __dispose_guard_0.SetCurrentException(std::current_exception());
19 }
20}
Create an Empty Project and Save to MPP
1// Create empty project
2System::SharedPtr<Project> project = System::MakeObject<Project>();
3
4// Save project as MPP
5project->Save(dataDir + u"project.mpp", Aspose::Tasks::Saving::SaveFileFormat::MPP);