ImageVerifierCode 换一换
格式:DOCX , 页数:21 ,大小:27.27KB ,
资源ID:16145839      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-16145839.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(VF表单编程例题详解.docx)为本站会员(b****6)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

VF表单编程例题详解.docx

1、VF表单编程例题详解11.1 表单的建立与运行 创建表单的过程,就是定义控件的属性,确定事件或方法、代码的过程。 表单就是一个容器,它可以容纳多个控件。 11.1.2 用表单设计器创建表单 打开表单设计器: Create form 文件/新建/表单/新建文件11.1 表单的建立与运行 2.表单设计器环境 (1)属性窗口 表单及其控件均称为对象,每个对象都有自己属性,事件和方法。 有的属性值可以在设置框中输入,有的需要从系统所提供的一组属性值中指定 有的属性是只读的,用户不能修改,斜体显示 要为属性设置一个字符值,可以在设置框中直接输入,不要加定界符。(2)表单控件工具栏要求会使用的控件:标签、

2、文本框、编辑框、命令按钮、组合框、列表框和表格(3)表单设计器工具栏(4)表单菜单表单中的对象设计过程:向表单添加控件-设置属性-设计代码11.1.3 表单的运行 有2种方法可以运行表单: (1)直接使用命令 DO FORM 表单名(2)在表单设计器窗口,选择“表单”菜单中的“运 行”命令,或直接单击工具栏中的红色惊叹号。 保存表单时,表单将被保存为一个表单文件(扩展名是.scx)和一个表单备注文件(扩展名是.sct)(P196)11.2 表单的操作 11.2.1表单的属性 1.常用表单属性 表单属性很多,但绝大多数很少用到。 表11.3中列出了有关表单的一些重要属性,这些属性规定了表单的外观

3、和行为,经常在表单设计时用到。 请大家参考表11.3。11.2.2 常用事件与方法 事件:一种系统预先定义而由用户或系统发出的动作2.表单事件 以下3个事件用于表单和表单集: (1)Load事件:该事件代码从表单装入内存至表单被释放期间仅被运行一次。 (2)UnLoad事件:在表单被释放时发生,是释放表单或表单集的最后一个事件。 (3)Activate事件:常用设置表单上控件的初值和初始属性。 3.鼠标事件 Click事件:鼠标左键单击对象时发生的事件。4.键盘事件 InteractiveChange事件。7.常用方法 Release方法:从内存中释放表单 Refresh方法:刷新表单数据11

4、.2.3 控件的操作与布局 1.控件的基本操作 (1)选定控件:要用鼠标单击该控件即可。 (2)移动控件:先选定控件,然后用鼠标将控件 拖动到所需要的位置即可。 (3)调整控件大小 (4)复制控件 (5)删除控件 11.2.4 表单的数据环境 4.打开数据环境设计器 单击表单设计器工具栏上的“数据环境”按钮 选择“显示”菜单中的“数据环境”命令 5.向数据环境添加表或视图 6.从数据环境移去表或视图 7.在数据环境中设置关系 8.在数据环境中编辑关系 9.向表单添加字段 11.3 常用表单控件 11.3.1 添加表单控件 表单中添加什么样的控件是根据需求决定的,一旦确定了控件的类型,就要定义控

5、件的属性、确定事件和方法代码。11.3.2 表单控件及其属性1标签控件(Lable) “标签”控件是按一定格式显示在表单上的文本信息,用来显示表单中各种说明和提示信息。一旦“标签”控件的属性、事件和方法被定义,输出信息将根据这些定义,按指定的格式输出。 “标签”控件的属性主要包括:Caption,Name,FontName,FontSize例子11.3表单中有3个标签。当鼠标单击任何一个标签时,其他两个标签的标题文本互换。T=thisform.label2.captionThisform.label.caption=thisform.label3.captionThisform.label.c

6、aptio=T11.3.2 命令按钮控件 “命令按钮”控件主要用来控制程序的执行过程,以及对表中数据的操作等。 “命令按钮”控件的属性主要包括:caption,name “命令按钮”控件的事件:click11.3.3 文本框控件 “文本框”控件主要用于表中非备注型和通用型字段值的输入、输出,以及内存变量赋值和输出等操作。 “文本框”控件与“标签”控件最主要的区别在于它们使用的数据源是不同的。 常用属性:Value, ControlSource “标签”控件的数据源来自于其“Caption”属性,“文本框”控件的数据源来自于其“ControlSource”属性,可以是表中的非备注型、通用型字段和

7、内存变量。 “文本框”控件的属性主要包括:“文本框”的大小,“文本框”中输入、输出信息字体的大小、风格和颜色等。11.3.3 编辑框控件 和文本框相似,也是用来输入用户的数据,但编辑框的内容只能是文本数据。例子11.4 求100到1000间能被37整除的数。要求在编辑框中显示输出结果,并通过命令按钮来控制输出。k=0for x=100 to 1000 if x%37=0thisform.edit1.value=thisform.edit1.value+str(x,5)k=k+1if k%5=0thisform.edit1.value=thisform.edit1.value+chr(13)en

8、difendifendfor11.3.6 列表框与组合框控件 列表框(listbox)控件提供一组选项,用户可以从中选择一个或者多个选项。 列表框显示其中的若干选项,用户可以通过滚动条浏览其他选项。 要求掌握的属性: ControlSource、RowSource、RowSourceType 任意时刻用户都能看到多个项11.3.6 列表框与组合框控件 “组合框”控件由一个列表框和一个编辑框组成。两种类型:1、下拉组合框 style属性为0的组合框 可以通过滚动条查看也可以在框中直接输入查看2、下拉列表框 style属性为2的组合框 只能通过滚动条查看,任意时刻只能看见一项11.3.7 表格控件

9、(Grid) 表格是一个容器对象,包含列(Column)。 每个列对象包含一个标头(Header)和若干控件。 “表格”控件的主要属性是:Columncount,用来定义表格的列数。 标头的主要属性:CaptionC2-类型1-例子1设计表单form1,表单中有命令按钮command1和编辑框edit1,单击命令按钮时将计算下面数列前n项(设n=50)中偶数项的和(结果取4位小数),并将结果显示在edit1中。 1/(123),1/(234),1/(345),1/(n(n+1)(n+2),结果:0.0568C2-类型2-例2设计表单form1,表单中有命令按钮command1、一个编辑框edi

10、t1和一个文本框text1,在edit1中输入下面内容:“The authors would like to sincerely thank series editor David Chappellfor his invaluable assistance in reviewing several early drafts of the manuscript and providing unwavering clarity and vision during major rewrites to guide the book toward its current form. We would a

11、lso like to thank Rich Bonneau for his help during the initial planning stages.”, 单击命令按钮统计满足下面条件的字符的ASCII码值的和:字符的ASCII码值能被3整除;并将结果显示在text1中。注意:内容中不包含任意回车换行符。C2-类型2-例3设计表单form1,表单中有命令按钮command1、两个编辑框edit1和edit2,在edit1中输内容:54636346342421439843 9583252341243452350932059549786546845684509345348368346803

12、4665893498954343894394346832894387233849683496783486306830669343954359309346834893436438683496346346348765324234234235459487634534345345324345634634631513534534634323867867846474,单击按钮分别统计出1、2和3在上面字符串中出现的次数,并将统计结果分三行显示在edit2中。结果:4 15 60C2-类型2-例4设计表单form1,表单中有命令按钮command1和两个文本框text1及text2,在text1中输入字符串

13、How and why Web services provide the ideal foundation for SOA, 单击命令按钮计算该字符串奇数位置中每个字符的ASCII码值的和,即H、W、a等,并将结果显示在text2框中。结果:2906 有关日期的函数 Ctod 将字符串转换成日期 Dtoc 将日期转换为字符串 set century on Set date to ymd Set stri to 0 Dow(日期表达式):返回每周的第几天,即星期几 Cdow(日期表达式):返回英文星期几 将数值转换成字符串函数:str STR(数值型表达式1,数值型表达式2,数值型表达式3 )

14、功能:将表达式1的值转换成字符串,转换成字符串的长度 由表达式2决定,保留的小数位数由表达式3决定。 省略表达式3时,转换后无小数部分;省略表达式2和 表达式3时,字符串长度为10,无小数部分几点有用的规律1.文本框的value属性可以是文本也可以是数值2.编辑框的value属性只能是文本3.向列表框list或者组合框combo添加一项的格式: Thisform.list1.additem(添加内容) Tbo1.additem(添加内容)其中,添加内容必须是文本格式,若不是请进行转换4.将结果现在文本框或者是编辑框中,可以表示为:Thisform.text1.value=内容Thisform.

15、edit1.value=内容(必须是文本)5.将结果显示在标签label中,可以表示为:Thisform.label1.caption=内容(必须是文本)6.单击命令按钮退出,使用如下代码:thisform.releaseC2-类型3-日期设计表单form1,表单中有命令按钮command1、一个文本框text1和一个组合框combo1, 单击命令按钮将1910年到2254年间的国庆节添加到combo1中,然后计算出1910年到2254年间的每个国庆节是星期日的次数,并将计算结果显示在text1中。参考答案:49 set cent on set date to ymd set stri to

16、0 n=0 for i=1910 to 2254 d=str(i)+/10/01 bo1.additem(alltrim(d) t=ctod(alltrim(d) xq=cdow(t) if xq=Sunday |if cdow(ctod(alltrim(d)=“Sunday” n=n+1 endif Endfor thisform.text1.value=n c2-类型3-日期 设计表单form1,表单中有命令按钮command1、一个文本框text1和一个列表框list1, 单击命令按钮将1800年到1900年间的元旦日添加到list1中,然后利用函数计算出1800年到1900年间的每个元

17、旦日是星期几,并将该函数值累加,将计算结果显示在text1中。 参考答案:403 set century on set date to ymd Set stri to 0 (p37) n=0 for i=1800 to 1900 d=str(i)+/1/1 thisform.list1.additem(alltrim(d) dd=ctod(d) n=n+dow(dd) |n=n + dow( ctod(d) ) endfor thisform.text1.value=在做题之前,应对题中所用到表有所熟悉:自由表t3.dbf包含如下字段:bianhao 字符型,宽度8xingming 字符型,宽

18、度8mima 字符型,宽度6chusny 日期型,宽度8gongzsj 日期型,宽度8hunfo 逻辑型,宽度1jiangjin 数值型,宽度7,小数位数2gongzi 数值型,宽度7,小数位数2C3-例题1 查找姓名或编号类 请将自由表下载到你的考试文件夹中,并按下面的要求完成程序设计: 1. 设计一个表单,表单的标题为“最大年龄人数和编号查询”,名称为tjform,表单中有三个命令按钮 和三个编辑框edit1、edit2和edit3 ,三个按钮的标题分别为“编号查询”,“最大年龄人数”和 “退出”。 2. 在edit1中输入编号(bianhao),单击“编号查询”按钮将在文本框edit2中

19、显示该编号的姓名(xingming)。 如果没有找到该编号,将在edit2中显示NO FOUND。 3. 单击“最大年龄人数”按钮统计出年龄等于所有记录最大年龄的记录个数,并将它显示在文本框edit3中。 (注:年龄=2005出生年份+1,出生年月字段为chusny)。 4. 单击“退出”按钮将关闭表单。C3-例2 处理密码类现有自由表, 按下面要求完成程序设计: 1. 设计一个表单,表单的标题为“密码处理”,名称为tjform,表单中有三个命令按钮和两个标签, 三个按钮的标题分别为“处理密码”,“最高位统计”和“退出”。 2. 单击“处理密码”按钮将每个记录的密码(mima)最左边的位加1(

20、如果加1后大于9,则取9),其它位不变,并将处理后密码写入表中。 update t3 set mima=; str(val(substr(mima,1,1)+1,1)+substr(mima,2,5); where substr(mima,1,1)!=9“ ( 注意:在调试之前必须将t3.DBF文件备份,因为每次调试可能要改变原始表中的数据)。结果:667 93. 单击“最高位统计”按钮将统计所有记录的密码中最左边数字的和以及它们中的最大值,并将结果分别显示在两个标签中。 select sum(val(substr(mima,1,1) as he, max(val(substr(mima,1,

21、1) as zuida from t3 into cursor t31 thisform.label1.caption=str(he,10) thisform.label2.caption=str(zuida,1) 4. 单击“退出”按钮将关闭表单。 thisform.releaseC3-例3 所有记录添加组合框或者列表框 1. 设计一个表单,表单的标题为“显示姓名和统计”,名称为tjform,表单中有三个命令按钮、 两个列表框list1和list2,一个文本框text1,三个按钮的标题分别为“显示姓名”,“统计”和“退出”。 2. 单击“显示姓名”按钮将所有记录的姓名(xingming)添加

22、到list1中。 use t3 do while .not. eof() thisform.list1.additem(t3.xingming) skip enddo use 3. 单击“统计”按钮统计出参加工作时间(gongzsj与出生日期(chusny)均为星期一的人数,将人数显示在text1中,并将他们的记录号分别显示在list2中。 select count(*) as renshu from t3; where cdow(gongzsj)=Monday and cdow(chusny)=Monday into cursor t31 thisform.text1.value=t31.r

23、enshu select recno() as rec from t3; where cdow(gongzsj)=Monday and cdow(chusny)=Monday into cursor t32 do while .not. eof() thisform.list2.additem(str(t32.rec) skip enddo close allC3-例4 数据更新类现有自由表, 按下面要求完成程序设计: 1. 设计一个表单,表单的标题为“统计和减少工资”,名称为tjform,表单中有三个命令按钮和一个列表框, 三个按钮的标题分别为“减少工资”,“千元统计”和“退出”。 2. 单

24、击“减少工资”按钮将每个记录的工资(gongzi)减少原工资的10.67%。 update t3 set gongzi=gongzi-gongzi*0.10673. 单击“千元统计”按钮将统计所有记录减少后的工资(gongzi)中的千位数字的和及千位数字中的最大值,并将统计的两个数值分两行显示在列表框中。只计算千位中值,没有千位按0计算。 select sum(int(gongzi/1000) as he,max(int(gongzi/1000) as zuida from t3 into cursor t31 thisform.list1.additem(str(he) thisform.l

25、ist1.additem(chr(13) thisform.list1.additem(str(zuida) 4. 单击“退出”按钮将关闭表单。C-13 单击增加一项类 请将自由表下载到你的考试文件夹中,并按下面的要求完成程序设计: 1. 设计一个表单,表单的标题为“等于平均人数和浏览”,名称为tjform,表单中有三个按钮、一个组合框和一个文本框,三个按钮的标题分别为“下一个”,“等于平均”和“退出”。 2. 单击“下一个”按钮将在组合框中添加下一个记录的姓名(xingming)。如果到表尾,将添加第一个记录中的姓名。 设置表单的load事件:use t3 bo1.additem(t3.xi

26、ngming) skip if eof() go top endif3. 单击“等于平均”按钮统计出年龄等于所有记录平均年龄的记录个数,并将它显示在文本框中。 select count(*) as gs from t3 where 2005-year(chusny)+1=; (select avg(2005-year(chusny)+1) as pingjun from t3 ) into cursor t32 thisform.text1.value=gs (注:年龄=2005出生年份+1, 出生年月字段为chusny)。4. 单击“退出”按钮将关闭表单。 thisform.releaseC

27、-35 表格类 1. 设计一个表单,表单的标题为“调整工资和查询”,名称为tzform,表单中有三个命令按钮、一个文本框和一个窗格(grid),三个按钮的标题分别为“查询”,“调整工资”和“退出”。 2. 单击“查询”按钮将在窗格中显示所有奖金(jiangjin)不小于230的记录,窗格中显示编号 (bianhao)、姓名(xingming)、奖金(jiangjin)和出生年月(chusny)。 设置grid的属性:ColumnCount=4 RecordSourceType=4-SQL说明 thisform.grid1.recordsource=select bianhao,xingming

28、, jiangjin,chusny from t3 where jiangjin=230 into cursor t313. 单击“调整工资”按钮将按下面方法修改每个记录的工资(gongzi)数:1970年(不包括1970)以后出生的工资增加155.10,否则工资增加215.20。然后将调整前后工资总数之差显示在文本框中。select sum(gongzi) as qianhe from t3 into cursor t32update t3 set gongzi=gongzi+155.10 where year(chusny)1970update t3 set gongzi=gongzi+2

29、15.20 where year(chusny)=1970select sum(gongzi) as houhe from t3 into cursor t33thisform.text1.value=t33.houhe-t32.qianhe 4. 单击“退出”按钮将关闭表单。Thisform.releaseC3-31 请将自由表下载到你的考试文件夹中,并按下面的要求完成程序设计: 1. 设计一个表单,表单的标题为“已婚最小年龄和浏览”,名称为tjform,表单中有三个命令按钮和两个编辑框,三个按钮的标题分别为“上一个”,“最小年龄”和“退出”。 2. 单击“上一个”按钮将在一个编辑框中显示上

30、一个记录的姓名(xingming)。如果到表首,将显示最后一个记录。 (1)设置表单的load 事件:use t3 (2) thisform.edit1.value=xingming skip -1 if bof() go bottom endif3. 单击“最小年龄”按钮计算已婚(hunfo为真)的最小年龄,并将最小年龄显示在另一个编辑框中。 (注:年龄=2005出生年份+1,出生年月字段为chusny)。 select min(2005-year(chusny)+1) as zuixiao from t3 where hunfo=.t. into cursor t31 thisform.edit2.value=str(zuixiao) 4. 单击“退出”按钮将关闭表单。 thisform.releaseC3-20 记录增加一项类 请将自由表下载到你的考试文件夹中,并按下面的要求完成程序设计: 1. 设计一个表单,表单的标题为“最大

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2