提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
翻译|使用教程|编辑:李显亮|2020-09-10 11:01:02.073|阅读 313 次
概述:在本文中,将学习如何在没有MS Project的情况下将项目管理活动嵌入到C ++应用程序中。在代码示例的帮助下,将学习如何使用C ++以编程方式创建MS Project文件(.mpp / .xml),添加任务,资源和日历。此外,还将演示将任务分配给项目中的资源的方法。
# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>
MS Project是一种广泛使用的项目管理软件,可帮助管理人员有效地管理其项目。它允许创建任务,添加资源,将任务分配给资源,监视进度以及管理与预算相关的操作。
Aspose.Tasks for .NET是功能丰富的API,可让您使用C#或VB.NET通过编程方式创建MS Project文件(.mpp / .xml)。 此外,它提供了各种功能来处理任务,资源和日历。在本文中,将学习如何在没有MS Project的情况下将项目管理活动嵌入到C ++应用程序中。在代码示例的帮助下,将学习如何使用C ++以编程方式创建MS Project文件(.mpp / .xml),添加任务,资源和日历。此外,还将演示将任务分配给项目中的资源的方法。
Aspose.Tasks for .NET已升级至V20.7,如果你还没有用过Aspose.Tasks可以点击这里下载最新版测试。
整合所有格式API处理控件Aspose永久授权正在慧都网火热销售中,新购乐享85折起!立马1分钟了解全部咨询!
首先创建一个空项目。以下是使用Aspose.Tasks for C ++从头开始创建MS Project(.mpp)文件的步骤。
下面的代码示例演示如何使用C ++ 创建MS Project的.mpp文件。
将MS项目文件另存为MPP
// Create project System::SharedPtrproject = System::MakeObject(); // Set project information project->Set(Prj::Author(), u"Author"); project->Set(Prj::LastAuthor(), u"Last Author"); project->Set(Prj::Revision(), 15); project->Set(Prj::Keywords(), u"MSP Aspose"); project->Set(Prj::Comments(), u"Comments"); // Save project as .mpp file project->Save(u"project.mpp", Aspose::Tasks::Saving::SaveFileFormat::MPP);
创建项目后,可以继续向其中添加任务。可以创建一个新项目,也可以加载现有的MS Project文件来添加任务。以下是创建任务或将子任务添加到项目中的步骤。
下面的代码示例演示如何使用C ++创建任务并将任务添加到项目中。
// Create project instance System::SharedPtr<Project> project = System::MakeObject<Project>(u"project.mpp"); // Add task, sub task and save project 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"); // Save project project->Save(dataDir + u"CreateTasks_out.mpp", Aspose::Tasks::Saving::SaveFileFormat::MPP);
资源是应该完成项目的实体。通常,人们被称为项目的资源。以下是创建资源并将资源添加到项目的步骤。
下面的代码示例演示如何使用C ++在项目中添加资源。
// Create project instance System::SharedPtrproject = System::MakeObject(); // Add resources System::SharedPtrrsc1 = project->get_Resources()->Add(u"Rsc"); // Set resource properties, Resource properties are represented by static class Rsc rsc1->Set(Rsc::StandardRate(), static_cast(15)); rsc1->Set(Rsc::OvertimeRate(), static_cast(20)); // Save project as XML project->Save(u"CreateResources_out.xml", Aspose::Tasks::Saving::SaveFileFormat::XML);
创建任务和资源后,下一步就是将每个任务分配给负责完成任务的资源。以下是将任务分配给资源的步骤。
下面的代码示例演示如何使用C ++将任务分配给项目中的资源。
// Create empty project System::SharedPtrproject1 = System::MakeObject(); // Add new task and resource System::SharedPtrtask1 = project1->get_RootTask()->get_Children()->Add(u"Task"); System::SharedPtrrsc1 = project1->get_Resources()->Add(u"Rsc"); // Assign the resource desired task System::SharedPtrassn = project1->get_ResourceAssignments()->Add(task1, rsc1);
日历用于为MS Project中的项目创建时间表。C ++的Aspose.Tasks使创建项目日历变得非常简单。以下是创建日历,添加工作日并指定工作时间的步骤。
还可以在日历中设置工作日的工作时间。为此,您可以在添加工作日后按照以下步骤操作。
下面的代码示例演示如何使用C ++在项目中创建日历。
// Create a project instance System::SharedPtrproject = System::MakeObject(); // Define Calendar System::SharedPtrcal = project->get_Calendars()->Add(u"Calendar1"); // Add working days monday through thursday with default timings 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(Aspose::Tasks::DayType::Saturday)); cal->get_WeekDays()->Add(System::MakeObject(Aspose::Tasks::DayType::Sunday)); // Set friday as short working day System::SharedPtrmyWeekDay = System::MakeObject(Aspose::Tasks::DayType::Friday); // Sets working time. Only time part of DateTime is important System::SharedPtrwt1 = System::MakeObject(); 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::SharedPtrwt2 = System::MakeObject(); 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); // Save the Project 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);
还想要更多吗?您可以点击阅读【2020 · Aspose最新资源整合】,查找需要的教程资源。如果您有任何疑问或需求,请随时加入Aspose技术交流群(642018183),我们很高兴为您提供查询和咨询。
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@cahobeh.cn
本文探讨 SQL Server 中 NULL 和空值之间的区别,并讨论如何有效地处理它们。
Unity 是一款功能极其丰富的游戏引擎,允许开发人员将各种媒体集成到他们的项目中。但是,它缺少最令人兴奋的功能之一 - 将 Web 内容(例如 HTML、CSS 和 JavaScript)直接渲染到 3D 场景中的纹理上的能力。在本文中,我们将介绍如何使用 DotNetBrowser 在 Unity3D 中将 Web 内容渲染为纹理。
DevExpress v24.2帮助文档正式发布上线了,请按版本按需下载~
本教程将向您展示如何用MyEclipse构建一个Web项目,欢迎下载最新版IDE体验!
无需Microsoft Project也可以读写和管理Microsoft Project文件
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@cahobeh.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢