设计思想如下: 用HasRecordableDrive扫描系统内可写的CD驱动器,找到的话返回TRUE。使用GetRecorderDriveLetter返回可写驱动器的盘符。最后刻录指令通知Windows从“集结区”向可写CD拷贝数据。“集结区”是一个专用的文件夹,通常是"%userprofile%\Local Settings\Application Data\Microsoft\CD Burning", 但还是应该调用SHGetFolderPath和参数CSIDL_CDBURN_AREA获得准确的目录名。本模块将需要刻录的报表文件集中写入指定临时目录并赋值给SHGetFolderPath,从而完成刻录工作。实现的核心代码如下:
CCDBurn burner_report;
if (!burner_report.HasRecordableDrive())
{
……
}
else
{
CString do_report = burner.GetRecorderDriveLetter();
……
//备份报表
……
FILE* fp;
if((fp=fopen(stringbbpath,"r"))!=NULL)
{
CString ti="正在备份存储";
ti+=stringbbpath;
m_ti.SetWindowText(ti);
fclose(fp);
}
CopyFile(stringbbpath,stringcdrompath,false);
}
……
6. 辅助功能设计
文件日志备份:可按给定时间段生成或清理邮储及后督报表文件的传输日志,以检查报表文件传输是否完全,对系统的各类生产文件进行详细备份。
电子报表备份:可按用户自定义的各类条件提取备份需要的报表文件到存储介质上,以电子文档的方式可长期保存历史数据,并通过模糊查询功能快速查询需要的报表资料。
运行设备监控:对邮政信息网的各类设备及终端网络进行跟踪监控,实时反映网内设备运行状况,方便数据分析。
辅助设置:其他辅助功能,如计算器、刻录工具链接等.
系统模块设计充分考虑可扩展性,所有的模块均可自由重组挂接第三方组件,由于篇幅原因不详细赘述各模块设计方法.
|