灵活运用VFP计时器控件

合集下载

VFP中的Grid控件与日历控件的应用和编程技巧

VFP中的Grid控件与日历控件的应用和编程技巧

一 、前 言控件是面向对象可视化编程系统中 的 重 要 组 件 , 其 中 的 表 格(Gr i d)控件和日历控件是两类常用控件 。

表 格(Gr i d)控 件 通 常 有 两 类 作 用 :1.仅仅作为简单或复杂查 询结果的显示窗口 ,该 类 窗 口中的数据不可更改和删除 ;2. 作为数据库已有数据的修改或 者新记录的插入的界面 , 该 类窗口有可能先显示满足条件的记 录 信 息 ,然后由用户直接修改 指定属性的数值 ,也可能直接由用 户 输 入 新 数 据 。

基于作者多年的 VFP 开 发 经 验 , 本 文 将 就 Grid 控 件 、日 期 控件的应用提供实际案例 ,加 以 讨 论 。

二 、表 格(Gr i d)控 件1.利用表格控件显示查询结果如 图 一 所 示 ,假设应用程序的表单(Form)中 已 经 创 建 了 一 个名 为 MyGr i d 的 表 格 (Gr i d)控 件 ,用 于 显 示 表 cxb.dbf(数 据 结 构 见表 一)中的产品月进货与销售情况 。

.col um n cou nt =7 && 设置控件中显示的列数 .column1.width=70&& 依次设置各列显示宽度(单 位:像 素) .column2.width=80 …….recordsourcety pe=2 EndWiththi sfo rm.M yGri d.vi si bl e =iif (re cc()>0,.t.,.f.)&& 若 MyC ursor 游 标 中 无 记 录 ,则 MyGrid 控 件 不 可 见 thisf orm.ref resh执 行 上 述 程 序 后 ,表 cxb.dbf 中的对应的字段名将自动作为 表 格 控 件 MyGr i d 的各列的标题名 称 而 得 到 显 示 (如 图 一 所示)。

如果要改变显示列的标题名称 , 则 可 以 用 SQL 语 句 中 的 as 子 句 ,例 如 ,要将图一中的列名 "年 月 "改 为 "时 间 "时 , 对 应SQL 语句 为 :se l e ct 年 月 as "时 间 ",进 货 数 ,进 货 额 ,进 货 额 比 重 , 销 售 数 , 销 售 额,销 售 额 比 重 i nt o cursor MyCursor from cxb通过上述程序可以发现 , 表 格 控 件的该类应用实际上是先利 用 SQL 将查询结果存 放到某个游标中 (这时游标中的数据具备 只 读 属 性),然后将游标数据显示到表格控件的应用 。

VFP命令汇总讲解

VFP命令汇总讲解

VFP命令汇总讲解VFP编程常用命令第1章数据库基础与VFP编程环境基础1.专门的关系运算选择(筛选、过滤):SET FILTER TO <条件>或<命令> for <条件>命令实现。

例:SET FILTER TO 性别="男“SET FILTER TO &&取消选择投影:SET FIELDS TO <字段名表>实现。

SET FIELDS TO 姓名,性别SET FIELDS TO ALL &&取消投影连接(联接,Join) :用命令JOIN或SET RELATION实现。

2.Ctrl+F2可弹出命令窗口3. 默认路径的设置:SET DEFAULT TO D:\WH1234CURDIR() &&查看当前默认路径4.恢复数据环境CLEAR ALL从内存中移去所有对象,按顺序关闭所有私有数据工作期以及其中的临时表。

CLOSE ALL正确执行后,关闭所有打开的数据库、表以及临时表。

CLEAR PROGRAM清除最近执行程序的程序缓冲区。

第2章Visual FoxPro基础1.日期型数据规定格式:{^yyyy-mm-dd}2.日期时间型数据规定格式:{^yyyy-mm-dd hh:mm:ss}3.(1)内存变量的赋值和输出,可以使用STORE、“=”或“?”命令进行操作完成。

三个命令的格式如下:STORE <表达式> TO <内存变量表><内存变量>=<表达式><表达式>(2)如果内存变量与数据表中的字段变量同名时,用户在引用内存变量时,要在其名字前加一个m.,用以强调这一变量是内存变量。

(3)通过LOCAL、PRIVATE、PUBLIC命令规定作用域。

4.系统变量:系统变量名都以下划线开头_screen.fontsize=125.变量的释放:RELEASE 〈内存变量表〉注:〈内存变量表〉中的各个变量用逗号分隔。

vf表单控件使用详细说明

vf表单控件使用详细说明

一、标签标签能够显示多个字符构成的文本,用于设计表单上所需的文字性提示信息。

标签和大多数控件的不同点在于运行表单时不能用《tab》键来选择标签。

常用的标签属性及其作用如下。

1、Caption:确定标签处显示的文本。

2、Visible:设置标签可见还是隐藏。

3、AutoSize:确定是否根据标签上显示文本的长度,自动调整标签大小。

4、BackStyle:确定标签是否透明。

5、WordWrap:确定标签上显示的文本能否换行。

6、FontSize:确定标签上显示文本所采用的字号。

7、FontName:确定标签上显示文本所采用的字体。

8、ForeColor:确定标签上显示的文本颜色。

二、命令按钮和命令按钮组在各种窗口或对话框中几乎都要使用一个或多个命令按钮。

一旦用户单击一个命令按钮,就可实现某种规定的操作。

例如,各种对话框中的“确定”按钮,当用户单击时将结束对话框的操作。

VisualForPro中的命令按钮控件同样用于完成特定的操作。

操作的代码通常放在命令按钮的“单击”事件(即Click Event)代码中。

这样,运行表单时,当用户单击命令按钮时便会执行Click事件代码。

如果在表单运行中,某个命令按钮获得了焦点(这时,这个命令按钮上会比其他命令按钮多一个线框),则当用户按下《Enter》键或空格键时,也会执行这个命令按钮的Click时间代码。

常用的命令按钮属性及其作用如下:1、Caption:设置在按钮上显示的文本。

2、Default:在表单运行中,当命令按钮以外的某些控件(如文本框)获得焦点时,若用户按下《Enter》键,将执行Default属性值为.T.的那个命令按钮的click事件代码。

3、Cancel:如果设置该属性值为.T.,则当用户按下<Esc>键时,将执行命令按钮的click事件的代码。

4、Enabled:指明按钮是否失效,即是否被选择。

当Enabled属性值为.f.时,用户无法选择该按钮。

vfp技巧一

vfp技巧一

vfp技巧⼀在程序源代码中加上必要的注释,可以增强程序的可读性,也便于⽇后的维护。

注释语句是⼀种⾮执⾏语句,在VFP⽀持3种类型的注释格式:1、使⽤NOTE或*命令声明该⾏是⼀个注释⾏;2、使⽤&&命令在⼀个语句的末尾加⼊注释;3、直接在IF...ENDIF、DO...ENDDO、FOR...ENDFOR 等语句后⾯直接写注释⽤FUNCTION 命令可以创建⼀个⾃定义函数,其基本语法如下:FUNCTION FunctionName [LPARAMETERS parameter1[,parameter2],...] COMMAND [RETURN [eExpression]]ENDFUNC 或者FUNCTION FunctionName([parameter1[AS para1type][,parameter2 [AS para2type]],...]) [AS returntype] COMMAND [RETURN [eExpression]]ENDFUNC参数说明:FunctionName 是要建⽴的函数名称;LPARAMETERS parameter1⽤于定义接收参数;COMMAND 是命令语句;eExpression 是返回给调⽤程序的表达式。

第⼆种AS para2type⼦句⽤于定义参数的数值类型;AS returntype⼦句⽤于定义返回给调⽤程序表达式的数值类型。

贴个简单的查重语句:SELECT * FROM 表1 INTO TABLE new.dbf GROUP BY KEY HAVING COUNT(KEY) > 1将把表1中key关键字重复的记录检索出来放到表:new.dbf中!1、表单调⽤最⼩化!如果希望表单在调⽤时以最⼩化运⾏,可以向表单的Init 事件传递⼀个参数:1例: DO FORM formname WITH 12、想在按钮中加⼊快捷键,可在标题(Caption)属性加⼊"\<"符号。

利用VFP制作可设定时间的倒计时器

利用VFP制作可设定时间的倒计时器

利用VFP制作可设定时间的倒计时器作者:范春辉来源:《商情》2010年第28期[摘要]利用VFP软件中计时器控件及其他控件开发出可设定时间的倒计时器,并给出相应的源代码。

[关键词]VFP 可设定时间倒计时器1 前言VFP(即Vsiual Foxpro的简称)是在微型计算机上广泛使用的小型数据库管理系统,它以强大的功能,友好的界面,丰富完整的工具和高效的数据管理方式而受到用户的欢迎。

VFP提供了一个集成化的系统开发环境,把传统的命令方式执行方式扩充为以界面操作为主、以命令方式为辅的交互式执行方式;把单一的面向过程的结构化程序设计扩充为既有结构化、又有面向对象程序设计的可视化程序设计。

随着计算机的普及,VFP编程爱好者越来越多。

利用VFP中计时器控件制作倒计时器应用于各种比赛计时具有良好的效果,比如在各项演讲比赛、辩论赛等场合都会使用倒计时器。

2 界面概述该软件主要利用表单中的标签(Label)、按钮(CommandButton)、计时器(Timer)、文本框(TextBox)等控件来制作。

在程序的运行时,首先在文本框中输入要进行倒计时的时间再单击开始,否则提示重新输入;利用一个重置按钮可将程序整个运行过程重新开始,供多次重复使用。

同时,在进行到最后30秒时软件显示时间的字体会自动增大,以提示参与者时间。

3 窗体设计(如图一)图一(1)在属性窗口中设置Form的Picture属性来设置背景图片。

(2)添加两个文本框text1和text2,用来输入活动的倒计时时间(即分和秒)。

(3)添加5个标签控件,分别设置显示活动主题Label1的Caption为“希望之声”演讲赛、倒计时(Label2)、提示信息Label3的Caption为“请设置演讲时间”、活动时间显示Label4和Label5的Caption分别为“分”和“秒”。

(4)添加三个按钮,用作“开始”、“重置”、“退出”命令。

(5)设置一个timer控件,用来控制倒计时。

VFP实例小程序图文教程—10秒倒计时

VFP实例小程序图文教程—10秒倒计时

VFP实例小程序图文教程—10秒倒计时
(1)在表单的init过程中编写程序,如下:
thisform.timer1.enabled=.f.
public t
t=10
作用:init表示初始化
程序的第一行的作用是设定表单初始的时候,定时器控件,不被启用。

程序的第二行的作用是设定一个公用变量t
程序的第三行的作用是对t赋一个初值30
(2)对定时器控件time1的timer过程编写程序,如下:
if t<=0
bel4.caption="时间到"
else
bel2.caption=str(t,8)
endif
t=t-1
对timer过程的编程是为了让电脑每过一个interval间隔就自动执行一次定时器控件time1的timer程序。

对time1的interval属性设定为1000,注意:interval表示间隔,单位是毫秒,1000毫秒=1秒.
t=t-1表示:减一个间隔,一个间隔,就是interval设定的值1000
(3)对command1按纽的caption属性设定为“开始计时”
对它的click过程编程为:
thisform.timer1.enabled=.T.
表示:计时器控件可以启用
(4)对command2按纽的caption属性设定为“复位”
对它的click过程编程为:
T=10
版权所有:. .
1。

vfp计时器

vfp计时器

在程序设计和软件开发中,经常需要设计计时器,如:秒表、正计时器、倒计时器等。

这些计时器的设计方法大同小异,本文以倒计时器设计为例介绍两种设计倒计时器的方法。

Visual FoxPro中的计时器控件有一个Timer事件,每经过Interval(单位为毫秒)属性指定的时间就执行该事件一次。

利用该控件的这一特点再配合一些程序可设计各种计时器,包括倒计时器。

2利用计时器控件和设置计数变量设计倒计时器2.1设计思想程序中用一个计数变量t来实现计时,在表单的Init事件中给t赋初值5400(本例中倒计时时间设为90分钟,即5400秒)。

程序中用到一个计时器控件,设置计时器控件的Interval 属性为1000(即1秒),则它每秒钟被触发一次。

在计时器的Timer事件代码中加入t=t-1,则每隔1秒钟t递减1,5400秒后t减到0,定时时间到。

程序中还用到3个变量th、tm、ts,分别用来表示剩余时间的时、分、秒,用于将剩余时间t用时分秒的格式显示。

在表单的Init事件代码中包含thisform.timer1.enabled=.F.,再在“开始”按钮的Click 事件代码中加入代码:thisform.timer1.enabled=.T.。

这样当单击“开始”按钮时才开始计时。

2.2程序清单⑴表单Form1的Init事件代码:thisform.timer1.enabled=.F.public tt=5400⑵标签Label1的属性Caption:剩余时间⑶标签Label2的属性Caption:90分钟⑷计时器Timer1的属性Interval:1000计时器Timer1的timer事件代码:ift<=0messagebox(″定时时间到!″)elseth=int(t/3600)tm=int((t-th*3600)/60)ts=t-th*3600-tm*60thisfor m.label2.caption=str(th,2)+″:″+str(tm,2)+″:″+str(ts,2)endif⑸命令按钮Command1的属性Caption:退出命令按钮Command1的Click事件代码:thisform.timer1.enabled=.T.⑹命令按钮Command2的属性Caption:退出命令按钮Command2的Click事件代码:release thisform2.3表单运行结果本表单包含两个标签控件和两个命令按钮,运行结果如图1所示。

VFP阶段试题五

VFP阶段试题五

VFP阶段练习五(表单的设计与控件的使用)VFP阶段练习五(表单的设计与控件的使用)一.判断1.默认通过表单向导设计的表单中出现的操作按钮是命令组按钮2.*当表单集中只有一个表单时,则不再是表单集,而是表单3.*当程序中了使用了多个表单,则系统自动创建表单集4.在表单的数据环境中,可以用来设置相关表的永久性关系5.控件的所有属性都可以通过属性窗口进行修改6.事件可以由用户操作产生,也可以由用户创建新的事件7.面向对象中程序的执行不是线性的,而是事件触发决定的8.对象的Error事件在事件或方法的执行中发生错误时发生9.设计中可以针对任何类添加自定义属性和方法10.表单的Clear方法与Release方法相同,都是用于将表单清除二.单项选择1.下列事件中,所有基类均能识别的是A)Click B)LoadC)Timer D)Init2. 在下面关于面向对象数据库的叙述中,错误的是。

A) 每个对象在系统中都有唯一的对象标识B) 事件作用于对象,对象识别事件并作出相应反应C) 一个子类能够继承其所有父类的属性和方法D) 一个父类包括其所有子类的属性和方法3. 假定一个表单里有一个文本框Text1和一个命令按钮组CommandGroup1,命令按钮组是一个容器对象,其中包含Command1 和Command2两个命令按钮。

如果要在Command1命令按钮的某个方法中访问文本框的value属性值,下面式子正确的是A)ThisForm.Text1.value B)This.Parent.valueC) Parent.Text1.value D)this.Parent.Text1.value4. CommandGroup是包含___的容器A)CommandButton B)OptionButtonC)Label D)Text5. 当调用一个表单的Show方法时,可能激发表单的__事件A)Load B)InitC)Activate D)Click6.假设一个表单里有一个文本框Text1和一个命令按钮组CommandGroup1,命令按钮组中包含Command1和Command2两个命令按钮。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
e nd i t h i s f o r m. 1 a b e l 2 . c a p t i o n = hi +” : ” + m1 +” : ” + s l
1 . 3计时器 (  ̄me D事件代码为 s e t d a t e l o n g &&设置长 日期格式 t h i s f o r m. 1 a b e l 1 . c a p t i o n = d t o e ( d a t e 0 ) + s p a c ( 2 ) + t i m e 0&&标 签
h l = ' 0 + s t r ( h , 1 )
ds e
为空 , 其 内容为显示系统 日期和 时间, 由程序运行 时赋值 : 标签
2 ( L a b e l 2 ) 的C a p t i o n为“ 欢 迎使用学 生管理系统 ” , 并设置字 体、
字号、 颜色属性, 2 】
态计 时程序 。计 时程序表单主要包 括 2个标签控件 , L a b e l l的
C a p t i o n属 性 为 “ 计时时间: ” , L a b e l 2的 C a p t i o n属 性 为“ o 0 : o 0 : 0 0 ” ; 2个 命 令 按 钮 , 分 别 为“ 计 时开 始 ” 、 “ 计时 结束 ” , 1 个 计 时 器控件 , I n t e r v a l 属性为 0 。主 要事 件 代 码 如 下 : “ 计 时 开始 ’ , 命 令 按 钮 的 单 击 事件 代码 :
的表单程序 , 探讨表单程序 的设计方法和思路 , 对V F P程序 开发有 着重要的现 实意义。
【 关键词 】 V F P ; 计时器; 控件
计 时器 (  ̄m e D是 V i s u v a l F o x P r o ( 简称 v F P ) 表单 的一个重
m= O
要控 件之一 , 其功 能是在规 定的 间隔 时间里 ( I n t e r v a l 属性) , 执
t h i s f o r m. t i me r 2 . i n t e r v a l = 1 0 0 0 & &设 置间 隔时间 为 1 0 0 0毫秒 , 执 行t i me r 事 件 p u b l s , m。 h& &定义 3个变量, 分别记录小时, 分钟, 秒 s t o r e 0 t o s , m, h & &3个变量的初始值为 0 “ 计时结束 ’ , 命令按钮的事件代码: t h i s f o r m. t i m e r 2 . i n t e r v a l = 0 && 设 置 间 隔 时 间 为 0秒 , 即 不 执 行 t i me r 事件 r e l e s , m, h &&从内存 中释放 定义 的 3个变量 计时器的 T i me r 事件代码 :
1的标 题 为 当前 日期 和 当 前 时 间 , 每 间隔 1 秒 显 示 一 次 1 I 4制 作动 态 计 时程 序 通 过上述动 态时钟 的制作 , 将程序稍 做修改 , 就 能 制 作 动
2制 作 闪 烁 标 签 2 . 1设 计 思 路
V F P提供 的颜 色 函数 R G B 0, 可 以改变标签控件 的颜色 。
e l s e
合理地将系统 日期和 时间显示在表单中 , 不仅方便用户 使 用, 同时还 使表单界面不单调 。 将计时器控件 ( T i m e d的 I n t e r v a l 属性设置为 1 0 0 0豪秒 ( 即1 秒) , T i m e r 事件代码 为获取系统 日 期和 时间 , 并将值 通过标签 控件显示 出来 , 就能制作 出动态 时 钟表单 。程序代码中要用到 V F P的 日期函数 d a t e ( ) 和时间函数 t i m e 0 , 取 得 当 前系 统 日期 和 系 统 时间 。
s = s +l i f s > 5 9
行某个操作 ( T i m e r 事件) 。利用计时器这个功 能, 可 以设计出美 观的V F P表单程序界面 , 让静止 的表单动起来 。 1制作动态 时钟
1 . 1 设 计 思 路
e n d i f
i f s <l O
h =h +1 e n d i
s l = ' 0 " + s t r ( s , 1 )
楚… 堡… 一 … 照
UJl AN eO M pUT酲辩
灵 活 运 用 VF P计 时器 控 件
易学文
( 黄 冈职业技术学院 湖北 黄 冈 4 3 8 0 0 2 )
【 摘 要】 本文分析在 V F P中灵活运用计 时器控件 T i m e r 设 计动 态时钟 、 闪烁标 签、 动 态字幕 、 放大缩 小字幕等类 型
1 . 2设 计 过 程
s l = s t r ( s , 2 )
e n d i i fm<1 0
ml = ' 0 + s t r ( m, 1 )
e l s e
ml = s t r ( m, 2 )
e n d i i f h <1 O
建立表单文件 F o r mI , 并添加 1个计时器控件 , 2 个 标签控 件 。计 时器控件 的 I n e r v a l 值为 1 0 0 0 ; 标签 l ( L a b d1 ) 的C a p t i o n
R G B 0函 数 有 3个 参 数 , 分 别是红 、 绿、 蓝对应 的颜色值 , 每 一
个参数的范围在 0 - 2 5 5之间 。随机 函数 r a n d 0  ̄够产 生 0 - 1 之
间 的随 机 小 数 , r o u n d ( r a n d O * 2 5 5 , o 1 即产 生 0 - 2 5 5之 间 的 随 机 整
相关文档
最新文档