在Visual FoxPro中开发Windows记事本Word文档格式.docx

上传人:b****6 文档编号:18388549 上传时间:2022-12-15 格式:DOCX 页数:16 大小:22.85KB
下载 相关 举报
在Visual FoxPro中开发Windows记事本Word文档格式.docx_第1页
第1页 / 共16页
在Visual FoxPro中开发Windows记事本Word文档格式.docx_第2页
第2页 / 共16页
在Visual FoxPro中开发Windows记事本Word文档格式.docx_第3页
第3页 / 共16页
在Visual FoxPro中开发Windows记事本Word文档格式.docx_第4页
第4页 / 共16页
在Visual FoxPro中开发Windows记事本Word文档格式.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

在Visual FoxPro中开发Windows记事本Word文档格式.docx

《在Visual FoxPro中开发Windows记事本Word文档格式.docx》由会员分享,可在线阅读,更多相关《在Visual FoxPro中开发Windows记事本Word文档格式.docx(16页珍藏版)》请在冰豆网上搜索。

在Visual FoxPro中开发Windows记事本Word文档格式.docx

1应用程序的功能模块

在开发应用程序之前,从记事本的功能方面考

虑,将问题分解为三个模块:

文件的存取,文本的编

辑,文本的格式化,功能模块如图1所示.

1.1文件的存取

文件的存取利用VisualFoxPro提供的相关文件

58一

图1"

记事本"

的功能模块

函数getfile(),putfile(),fopen(),fseek(),fread(),fcre—

ate(),fwrite(),fclose()及自定义方法程序实现.

1.2文本的编辑

利用自定义方法程序及有关表单实现文本的编

辑功能.在实现"

查找"

与"

替换"

功能时提出了不同

表单间引用对象的新方法,即通过"

表单文件名.对

象名"

来引用对象,此方法比定义全局变量或创建表

单集在不同表单间引用对象更方便快捷bI4].

收稿日期:

2009—07—14

作者简介:

蒲会兰(1974一),女,毕业于兰州交通大学通信与信息系

统专,讲师,硕士,主要从事计算机课程的教学与光纤

通信方面的研究.

1.3文本的格式化

利用VisualFoxPro提供的函数geffont(),getcolor()

及自定义方法程序实现文本字体及颜色的设置.

2应用程序的实现

实现上述功能的记事本,需要设计三个表单和

个菜单.首先在VisualFoxPro中创建一个项目文

件(notepad.pjx),然后依下列步骤进行设计.

2.1设计"

表单(notepad.SCX)

"

表单是应用程序的主界面,该表单包

含一个处理文本的编辑框和一个SDI菜单.

第1步:

在项目中新建表单,并在表单中添加1

个编辑框,设置其HideSelection属性为.F..

第2步:

在代码窗口编写表单的Init事件代码,

主要用来动态调整界面及调用菜单.

Init的事件代码:

PUBUCa

Thisform.Edit1.Top=0

Thisform.Edit1.Left=0

Thisform.Edit1.Height=Thisform.Height

Thisform.Edit1.Width=Thisform.Wid山

Thisform.Caption=无标题"

Thisfonn.Refresh

DOnotepad.mprwiththis..T.

第3步:

为实现记事本的功能,创建多个自定义

方法程序.

(1)文件存取的自定义方法程序及代码.

①Newfile(新建)的代码:

Thisform.Edit1.Value="

Thisform.Caption="

无标题

Thisform.Edit1.Seffocus

(~)Openfile(打开)的代码:

册le:

getfile(txt"

fp=fopen(fFile)

fsize=fseek(fp,0,2)

=

fseek(fp,0,0)

Thisfo1xn.Edit1.Value:

fread(fp,fsize)

Thisform.Caption=fFile

fclose(fp)

(~)Savefile(保存)的代码:

fFile=putfile(文件名"

*.txt,文本文档(*.

txt)"

IFThisfolrn.Caption="

无标题"

orThisform.Cap.

tion=

fp=fca~eate(fFile,0)

ELSE

fp=fopen(Wile,1)

ENDⅡ1

fwrite(fp,Thisform.Edit1.Value)

felose(fp)

@SaveAsfile(另存为)的代码:

le=putfile("

文件名"

"

*.txt"

文本文档(*

txt))

fp=fcreate(fFile,0)

fwrite(fp,ThisForm.Edit1.Value)

Thisform.Edit1.Seffoeus

Thisform.Refresh

(2)文本编辑的自定义方法程序及代码.

①Ccopy(复制)的代码:

a=Thisform.Edit1.Sehext

②Ccut(剪切)的代码:

Thisform.Edit1.Seltext=

③Cpaste(粘贴)的代码:

Thisform.Edit1.Seltext=a

(3)文本格式化的自定义方法程序及代码.

①Seffont(字体)的代码:

t=getfont()

TFontName=alhnm(1eft(TFont,AT(,,,1)一1))

Thisfonn.Edit1.Fontname=tName

nStartP=at(,,t,1)+l

nEndP=at(,,TFont,2).1.AT(,,TFont,1)

TFontSize=int(val(aUtrim(substr(Ⅱ1ont,nStartP,

nF~dP))))

Thisform.Edit1.Fontsize=,I110ntSize

TFontStyle:

alluim(subs~(TFont,at(,,Ⅱbnt,2)+1))

DOCASE

CASEⅡ10ntStyle==B"

Thisfonn.Edit1.Fontbold=.t.

Thisform.Edit1.Fontitalic:

.f.

CASETF0ntStyle=:

I"

Thisform.Edit1.Fontbold=.f.

Thisfonn.Edit1.Fontitalic=.t.

CASETFontStyle==BI

Thisform.Edit1.Fontbold=.t.

59—

Thisform.Edit1.Fontitalic=.t.

0THERWISE

Thisform.Edit1.Fontbold:

Thisform.Edit1.Fontitalic=.f.

ENDCASE

②Seteolor(颜色)的代码:

TColor=getcolor()

Thisform.Edit1.Foreeolor=TColor

第4步:

保存并关闭表单文件"

notepad.SCX"

.

2.2设计"

表单(find.SCX)

表单是在执行记事本的"

编辑l查找"

令时打开的一个操作界面,主要用于对编辑框中的

文本进行查找.

个文本框,1个标签,3个命令按钮.

设置表单及控件的属性如表l所示.

表1表单及控件的属性设置

在代码窗口编写事件代码.

(1)Comm~dl(查找)的Click事件代码:

n=at(alhrim(Thisform.Text1.Value),notepad.

Edit1.Value)

IFn&

lt;

&

gt;

notepad.Edit1.Selstart=n一1

notepad.Edit1.Sellength=len(alltrim(This-

form.Text1.Value))

messagebox("

没有找到"

+alltrim(Thisform.

Text1.Value),64,"

提示信息)

ENDIF

(2)c0mmand2(查找下一处)的Click事件代码:

m=2

DOWHILEm&

=2

n=at(alltrim(Thisform.Text1.Value),notepad.

Edit1.Value,ITI)

notepad.Edit1.Selstart=n—l

notepad.Edit1.Sellength=len(alltrim(This—

60一

m=in+1

wait"

b=messagebox("

+alltrim(This.

form.Text1.Value),64,提示信息"

ⅡIb==1

exit

END

ENDDO

(3)Comrnand3(取消)的Click事件代码:

Thisform.Release

保存表单文件"

find.sex"

其运行界面

如图2所示.

图2"

运行界面

2.3设计"

表单(replace.sex)

编辑I替换"

文本进行查找与替换.

在项目中新建表单,并在表单中添加2

个文本框,2个标签,4个命令按钮.

设置表单及控件的属性如表2所示.

表2表单及控件的属性设置

(1)Commandl(查找)和Command4(取消)的

Click事件代码与"

find.SCX"

中的相同.

(2)Command2,(替换)的Click事件代码:

IFnotepad.Edit1.Sehext=

alltrim(Thisfonn.Text1.Value)

notepad.Edit1.Seltext=

alhrim(Thisform.Text2.Value)

没有找到+alltrim(1his—

form.Text1.Value),64,"

提示信息"

(3)Command3(全部替换)的Click事件代码:

DOWHII.t.

notepad.Edit1.Selstart=n?

1

notepad.Edit1.Sellength=len(alltrim(I11is—

notepad.Edit1.Seltext=allt6m(Thisform.

text2.Value)

ENDⅢ

replace.sex"

其运行界

面如图3所示.

图3"

2.4设计"

菜单(notepad.mpr)

菜单通过设计菜单项目,调用自定义

方法程序及表单,实现记事本的基本功能.

在项目中新建SDI菜单,定义菜单各选

项的名称及结果如表3所示.

表3菜单项的设置

菜单名称结果

文件(\&

F)子菜单

新建(\&

N)过程:

CASEBAR()=1

打开(,&

O).VF1).Activeform.Newfile

CASEBAR()=2

\.一

VFP.Activeform.Openfile

CASEBAR()=4保存(,&

s)

Ⅵ甲.Activeform.Savefile

另存为(\&

A)CASEBAR()=5

VFP.Activeform.Save~%file

.CASEl{AR()=7

9trr

退出(\&

X)ENDCASE

编辑(,&

E)子菜单

剪切(\&

T)过程:

CASEBAR():

P.Activeform.Ccut复制(\&

C)

VFP.Activefonn.Ccopy

粘贴(,&

P)CASEBAR()=3

v1.Activeform.Clxaste

.CASEBAR()=5

DoFormfind查找(&

F)CASEBAR()=6

替换(,&

E)DOFormreplace

格式(,&

0)子菜单

字体(,&

F)过程:

IFBAR()=1

VFP.Acfiveform.Setfont

ESE

VFP.Activeform.Setcol~

颜色(,&

C)ENDIF

选择"

显示I常规选项"

命令,打开"

常规

选项"

对话框,选中"

顶层表单"

选项.

保存菜单文件"

notepad.nlILX"

选择"

单I生成"

命令,生成菜单程序文件"

notepad.mpr"

2.5在表单中添加菜单

打开表单文件"

notepad.scx"

设置表单

的"

ShowWindow"

属性为"

2一作为顶层表单"

将创建好的SDI菜单"

加在顶层表单中,即在顶层表单的init事件中添加

如下代码即可实现.

donotepad.mprwiththis,.T.

保存并运行表单,记事本的运行界面如

图4所示.

文件QD格式位)

—剪切哩)

在编程语f复制(c)

词二_墨鎏{粘鬻占)

的Vlq'

探讨一个

查找)

替换理)

活性.那么什么是灵活性呢?

?

几乎就等于是简单易用的反义一

大量的工作留给你自己去定制

么被称为"

数据库里的c语言一

E哪里呢?

今天我们就来共同

什么是"

对象引用"

呢?

在vFP6的时候,有时候在代码

中需要输入很长的对象层次.比如现在我f聍有一个表单

form!

.表单上有一个页攉pige~r~e1.页框的第一页上有

个表格grdView,现在.我要把第一列的标题设置为"

列"

.把背景色设置为灰色?

芷富藩况下.我们不得不输

入长长的射象屡次如:

thisform.pageframe1.page1.grdviewcolumn1.header1.

c神tion=第一列

thisformp●gefr蛐e1pelO-dviewcol,amnlBackColo

r=RGB(192192,192)

使用With……EndWith结构可以让上面麻烦的输入变樨

简单点:

图4"

以上代码均在WindowsXPProfession,VisualFox—

Pro6.0下调试通过,由于篇幅所限,其他功能有待进

步完善.(下转第64页)

61—

教学的联系.弱化光学类的课程教学,电气类课程

根据机械测控课程的进程适当调整教学计划.服务

于机械方向测控人才的培养目标,围绕机械测控课

程的教学主线,对专业教育课体系进行优化建设.

3.2教材建设

为了提高教学质量,突出我校测控专业面向全

国,服务铁路的鲜明特色,选用和编写适合的教材是

非常必要的.现已出版的教材有《测试技术》,《微机

测控系统软件设计》,《新型高速单片机原理及其应

用系统设计》,《电气控制基础与可编程控制器应用

教程》,《面向对象的测控系统软件设计技术》等重要

的机械测控技术类教材.它们都是为推进测控专业

课程体系改革而量身设计的,更能突出铁路特色,工

程特色的办学思想.目前正在编写中的教材《机械

控制工程基础》已列为国家级"

十一五"

规划教材,更

有助于测控专业课程体系的建设.还有《自动化,电

气控制及测控类专业英语》等一批有助于专业建设

的教材也正在编写中.其它的课程,也需要通过对

大量教材的调研,考虑各门课程之间的前后联系,参

考国家"

十五"

规划教材,选用优秀的,难易适度的,

涉及知识广度恰当的教材,从而为教学提供良好的

基础条件.

3.3加强实践教学

对于测控专业的培养特点而言,加强实践性教

学是非常重要的.随着理论教学内容的调整,实践

教学环节也应同步改革.创新综合训练课程开设在

检测技术课程结束后的一周,对检测技术和相关课

程的知识进行综合运用,设计实际工程中的微机测

控系统总体方案.在第7学期的检测仪表课程中例

举大量工程中使用的仪表实例,为后续课程设计,毕

业设计做好准备.

同时,相应课程的实验内容,实验形式的改革也

必须继续加强.由于测控专业课程所涉及的实验项

目,设备和仪器很多,但往往受各种条件的限制,不

能结合教材给本科生开出足够的实验,这对学生深

入理解课程和测控技术能力的培养是不利的.为解

决这一问题,可以将虚拟实验室和常规实验室相结

合,兼顾学生动手实践和对高新测控技术的感官认识

和仿真操作,使实验体系的改进得以实现.所以加强

虚拟实验的开发,不仅可以丰富实验内容,也可以带

动学生参加科研实践,提高动手能力和创新能力.

3.4加强精品课程体系建设

精品课程建设项目是学校教学质量工程的重要

内容,是深化教学改革的一项重要举措.目前校级

精品课程《机械测试技术》和省级精品课程《机械控

制工程基础》的建设已比较成熟,并且这两门课程的

师资队伍,教材建设,实验系统,电子课件以及网上

学习系统等仍在不断完善提高.充分利用这些建设

的辐射带动作用,启动其它课程全面建设的进程,带

动测控专业机械测控技术课程体系的重构,从根本

上实现测控专业课程体系的科学性改革.

4结束语

我校测控专业经多年建设,整个课程体系虽较

为完整,但在测控技术不断发展的背景下,仍需改革

以便很好地体现出特色之处.我校充分参考知名特

色测控专业的办学水准,准确定位具有鲜明特色的

测控专业办学方向;

以专业教育课的体系重构为重

点,突出铁路特色机械测控技术课程的主要脉络特

点;

通过实践体系的改革,切实提高学生的检测与控

制的动手能力和设计创新能力;

通过精品课程建设的

带动作用,加强各门课程内部的细节建设,全面提高

教学质量.这样,宏观调整与微观建设同步进行,课

程体系的重构与实践环节的配套改进,使测控专业课

程体系改革的实施最终收到良好效果.

参考文献:

[1]宋爱国,况迎辉.测控技术与仪器本科专业人才培养体系探

索【j].高等工程教育研究,2005

(1):

48—51.

[2]殷红,彭珍瑞.检测技术类课程整合教学模式研究[J].高校教

育研究,2009(7):

225—227.

[3]赵文礼.测试技术基础[M].高等教育出版社,2o09(4):

1—312.

[4]张文娜,熊飞丽,等.测控技术与仪器专业课程体系整体优化研

究[J].高等教育研究,2008,31

(2):

33—35.

责任编辑:

么丽苹

(上接第61页)

3结束语

本文介绍了如何在VisualFoxPm中开发Win.

dows记事本的方法和步骤,在实现过程中,提出了

用"

表单文件名.对象名"

在不同表单间引用对象的

新方法.从程序代码可以看出,VisualFoxPro除了用

作数据库管理软件外,它也是一种语法简单,使用灵

活的程序设计语言.

---——

64?

--——

[1]李玉龙,张永花,蒲会兰.VisualFoxPro程序设计与数据库应用

基础[M].北京:

中国铁道出版社,2O07.

[2]卢湘鸿.VisualFoxPm6.0数据库与程序设计[M].北京:

电子工

业出版社,2005.

[3]张宏丽,王海风.Vf1)程序设计中对象的引用方法[J].内蒙古

电大学刊,2003,5(57):

52—53.

[4]胡明.vjsua1Pm中表单之间的参数传递[J].电脑学习,

2009.1:

55—56.责任编辑:

肖滨

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 其它

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1