Delphi题库系统及试卷生成(任务书+英文文献+答辩PPT) 第8页
//建立一个新文档
NewDocument:=SJ_WA.Documents.Add(EmptyParam,EmptyParam,EmptyParam,EmptyParam);
RateProcess_F.CZ_P.Caption:='正在新建Microsoft Office Word 文档......';
RateProcess_F.Rate_Gauge.Progress:=RateProcess_F.Rate_Gauge.Progress+5;
RateProcess_F.Repaint;
//建立WordDocument连接, 用第二种方法不容易出错
//SJ_WD.ConnectTo(SJ_WA.Documents.Item(ItemIndex));
SJ_WD.ConnectTo(NewDocument);
SJ_WD.Windows.Item(ItemIndex).Caption:='数据库原理与应用期末试卷';
//此文档的第一个窗口的标题
RateProcess_F.Rate_Gauge.Progress:=RateProcess_F.Rate_Gauge.Progress+5;
RateProcess_F.Repaint;
//因为Word进行拼写检查需要很多时间,所以首先关闭检查
SJ_WA.Options.CheckSpellingAsYouType := False;
SJ_WA.Options.CheckGrammarAsYouType := False;
//设置Word的字体
SetFont(1,0,0,22);
//设置段落对齐方式
SJ_WD.Range.InsertAfter('数据库原理与应用期末试卷'+#13);
RateProcess_F.Rate_Gauge.Progress:=RateProcess_F.Rate_Gauge.Progress+5;
RateProcess_F.Repaint;
//SJ_WA.Documents.Item(ItemIndex).Paragraphs.Alignment:=wdAlignParagraphLeft;
SJ_WD.Range.InsertAfter('学校___________ 班级________ 姓名___________ 得分_____ ' +#13);
SetFont(0,0,0,14);
2.TCheckTree控件的修改。
由于Delphi自带的TTreeView里并没有复选框的功能。因此,必须重新设计控件。
在设计时因TTreeView里有一个StateIndex和StateImages,而纵观TTreeView的代码可以知道它只是发布了一下TCustomTreeView定义并实现好的属性和方法而已。因此我们也选择TCustomTreeView为TCheckTree控件的祖先类。
重要的实现技术为:
procedure TCheckTree.WMPaint( var Msg: TWMPaint );
var
I: Integer;
begin
for I := 0 to Items.Count - 1 do
begin
if not(Items[ I ].StateIndex in [Ord(csUnknown)..Ord(csPartiallyChecked)]) then
Items[ I ].StateIndex := Ord(csUnchecked) //这里我修改了
end;
inherited;
end;
function TCheckTree.GetItemState( Node:TTreeNode ): TCheckCheckState;
begin
Result := TCheckCheckState( Node.StateIndex );
end;
procedure TCheckTree.SetItemState( Node:TTreeNode; Value: TCheckCheckState );
begin
if TCheckCheckState( Node.StateIndex ) <> Value then
ChangeNodeCheckState( Node, Value );
end;
procedure TCheckTree.StateChange( Node: TTreeNode; NewState: TCheckCheckState );
begin
if Assigned( FOnStateChange ) then
FOnStateChange( Self, Node, NewState );
end;5 . 软件测试及其文护
5.1 系统测试平台简介
硬件平台
CPU Intel P4 1.5G
主板 Intel 850芯片组的GA-8TX-C
内存 2×128M的三星Rambus内存
硬盘 Seagate Barracuda 7200.7 80G
显卡 Unika 小妖G9800
显示器 美格770PF,17寸纯平显示器
软件环境
操作系统 Microsoft WindowsXP简体中文专业版+SP1
办公软件 Microsoft Office 2003
显卡驱动 nVIDIA ForceWare驱动56.72版For Win2000/XP
5.2 测试方法
测试在软件开发过程中一直都是备受关注的,即使在传统的软件工程中,也有一个明确、独立的测试阶段。随着软件危机的频频出现以及人们对于软件本质的进一步认识,测试的地位得到了前所未有的提高。测试已经不仅仅局限于软件开发中的一个阶段,它已经开始贯穿于整个软件开发过程,人们已经开始认识到:测试开始的时间越早,测试执行的越频繁,所带来的整个软件开发成本的下降就会越多。Extreme Programming更是把测试推到了极限的位置,一切软件开发活动都要从首先编写测试代码开始。
为了使本软件运行更加稳定,我对它进行了全面的测试,测试分为二部分来进行,一是:界面测试;二是功能测试。
首先是界面测试,为了使软件在不同的的操作系统平台上运行界面能保持原来的风格。我的开发平台如上介绍。我把完整程序拷贝到我同学的机子,同学机子的相关配置如下:Windows2000+15寸显示器;程序运行界面正常,但由于我同学的显示器是15寸的显示的范围比较小外,界面上的字体等设置都保持得相当好。没有出现类似字体变形的情况!第二个平台:Windows Me +17显示器,测试结果:字体有些不正常了。后来在网查找了很多相关的资料,得出这是由于Window Me或Windows 98和我的开发平台的操作系统Window XP的字体集不一样造成的。解决方案是:把软件的字体设置成:宋体+9号,字符集使用:CHINASE_GB2312。至此软件的界面测试顺利完成。
二是进行功能的测试。我的功能模块主要是试卷生成。而试卷生成后都是输出到Microsoft Office Word里。而Office的版本又那么的多,因此,我一直很担心在不同的Office平台下软件会有不同的运行结果!!实际测试结果如下:在Windows 2000+Microsoft Office 2000的平台下,试卷功能里的预览功能不能用了。界面停留在“正在链接Microsoft Office Word ......”这里,一看就知道没有办法和Microsoft Office Word链接了。换平台测试,这回是在Windows 2000+Office XP,程序正常运行了包括试卷预览等功能都正常运行。再换平台:Windows XP+Office 2003程序同样完全正常运行,由此可以总结出在低于Office XP的平台下程序无法和办公软件交互。本来我想把程序换成能支持Office 2000的,可后来一想Office 2000距离现在已经有4年之久了。支持了它反而支持不了最新的Office平台,所以决定让程序运行在Office XP 或是Office 2003平台上。至此到这里在功能的测试上也已经比较圆满的完成了!
5.3 系统文护
由于在开发本程序的时候我就特别注意软件的后续文护和再开发上。因此极努力的想把它开发成一个强内聚、弱耦合、接口明确、意图明晰的软件。对于程序里的功能我尽力把它们封装在类的私有过程或私有函数里,这样可以大大提高软件的内聚性,在各个功能模块和窗体之间尽可能减少它们之间的调用关系,以减少软件的耦合性。在软件设计初期我就预留了接口用于调用另一个同学的模块。为了保证两人开发出的功能模块能在最后能顺利地联合。在一开始我就预先编了一个公共的“数据模块”以提高软件连接数据库能高效共享。并且给他规定一些如控件的命名规则,代码的规范等。这些都大大提高了软件后续的可文护性。
上一页 [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] ... 下一页 >>
Delphi题库系统及试卷生成(任务书+英文文献+答辩PPT) 第8页下载如图片无法显示或论文不完整,请联系qq752018766