VFP表单设计案例.docx

上传人:b****5 文档编号:6825010 上传时间:2023-01-10 格式:DOCX 页数:21 大小:642.52KB
下载 相关 举报
VFP表单设计案例.docx_第1页
第1页 / 共21页
VFP表单设计案例.docx_第2页
第2页 / 共21页
VFP表单设计案例.docx_第3页
第3页 / 共21页
VFP表单设计案例.docx_第4页
第4页 / 共21页
VFP表单设计案例.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

VFP表单设计案例.docx

《VFP表单设计案例.docx》由会员分享,可在线阅读,更多相关《VFP表单设计案例.docx(21页珍藏版)》请在冰豆网上搜索。

VFP表单设计案例.docx

VFP表单设计案例

VFP表单控件应用设计与案例

表单控件的应用要点:

1.条件语句在表单中应用:

IF语句和docase语句

2.循环语句在表单中应用:

for语句和dowhile语句

3.计时器的应用

4.数据表在表单中应用:

skip

5.SQL语句的应用

6.列表框的应用

难点:

SQL的应用

表单控件对象有:

表单表单集文本框编辑框列表框组合框表格

复选框选项按钮组(单选框)页框Container容器

命令按钮命令按钮组

标签线条形状图像

计时器微调控件ActiveX绑定控件超级链接控件

对象分为:

控件对象和容器控件。

控件对象是基本对象:

命令按钮、文本框、标签、线条、形状、复选框、组合框。

容器控件包含其他对象的对象:

表单、表单集、Container容器、命令按钮组、微调控件、选项按钮组(单选框)、页框、页面、表格、表格列

从功能上分为:

输出类:

标签、图像、线条、形状

输出类:

文本框、编辑框、列表框、组合框、微调控件

控制类:

命令按钮、命令按钮组、复选框选项按钮组(单选框)、计时器

多重容器类:

表格、页框、Container容器、表单集

连接类:

ActiveX绑定控件超级链接控件

1、条件语句在表单中应用

单分支语句:

if….Else….Endif

多分支语句:

docase……endcase

If…endif语句一般都是与

For…endfor配合应用。

案例1多分支0901

参考答案:

“计算”按钮的clickevent代码:

x=thisform.text1.value

docase

casex<-10

y=2*(sin(x)+1)

casex<10

y=(abs(x)-5)/3

other

y=x/7-8

endcase

thisform.text2.value=y

thisform.refresh

案例2多分支0912

k=thisform.text1.value

docase

casek>=0andk<60

m="不合格"

casek<85

m="合格"

casek<=100

m="优秀"

other

m="非法数据"

endcase

thisform.text2.value=m

2.循环语句在表单中应用

案例0906

m=alltrim(thisform.text1.value)

k=len(m)

s=0

fori=1tok

n=substr(m,i,1)

ifn>="a"andn<="z"

s=s+1

endif

endfor

thisform.text2.value=s

案例0906

a=thisform.text1.value

b=thisform.text2.value

c=thisform.text3.value

d=thisform.text4.value

m=a*b+c*d

ifm>=300

m=m*0.9

endif

thisform.text5.value=round(m,0)

thisform.refresh

3.计时器的应用

属性:

Interval:

计时时间间隔,单位毫秒。

1秒=1000毫秒

Enabled:

计时启用与停止

事件:

Timer1:

interval设置计时点运行事件代码。

计时器启用条件:

interval>0andenabled=.t.

计时器停止条件:

interval=0orenabled=.f.

案例1

【要点解答】“开始”按钮的click事件如下:

mand1.enabled=.f.

thisform.timer1.enabled=.t.

Timer1事件的timer代码如下:

ifthisform.text1.value=0

mand1.enabled=.t.

thisform.timer1.enabled=.f.

else

thisform.text1.value=thisform.text1.value-1

endif

thisform.refresh

案例2(1006)

在开始计时按钮的click代码:

thisform.timer1.enabled=.t.

thisform.text1.value=0

计时器的timer代码:

thisform.text1.value=thisform.text1.value+1

ifmod(thisform.text1.value,2)=0

thisform.backcolor=rgb(0,0,255)

else

thisform.backcolor=rgb(0,255,0)

endif

thisform.refresh

3案例0406

【要点解答】“开始”按钮的click事件如下:

ifthis.caption="开始"

this.caption="停止"

thisform.timer1.enabled=.t.

else

this.caption="开始"

thisform.timer1.enabled=.f.

endif

thisform.refresh

Timer1事件的timer代码如下:

if.not.eof()

skip

else

go1

endif

thisform.text1.value=号码

thisform.refresh

4案例1012

“开始”按钮的click事件:

ifthis.caption="开始"

this.caption="停"

thisform.timer1.enabled=.t.

else

this.caption="开始"

thisform.timer1.enabled=.f.

endif

计时器的timer事件:

ifthisform.optiongroup1.value=8

thisform.optiongroup1.value=1

else

thisform.optiongroup1.value=thisform.optiongroup1.value+1

endif

thisform.refresh

4.数据表在表单中应用

数据环境:

添加表

Controlsource属性

Skip命令

Recno()函数

1案例0906

按钮的click事件编码:

Ifrecno()>1

Skip-1

Else

This.enabled=.f.

Endif

Tmand2.enabled=.t.

Thisform.refresh

“下一条”按钮的click事件编码:

Ifrecno()

Skip

Else

This.enabled=.f.

Endif

Tmand1.enabled=.t.

Thisform.refresh

2案例1106

“上一条”的cilck

mand1.enabled=.t.

ifrecno()

skip

else

this.enabled=.f.

endif

thisform.refresh

“下一条”的click

mand2.enabled=.t.

ifrecno()=1

this.enabled=.f.

else

skip-1

endif

thisform.refresh

5.SQL语句的应用

1)查询产生SQL

2)哪个对象?

什么事件发生代码?

3)查询结果显示在哪个对象?

查数据源属性。

4)表格、组合框等配合应用

5)查询结果有多条记录、统计数等类型

1案例0901

thisform.grid1.recordsourcetype=4

thisform.grid1.recordsource="SELECTPfb.评委编号,Pfb.分数;

FROMpfbINNERJOINgsb;

ONPfb.歌手编号=Gsb.歌手编号;

WHEREgsb.歌手姓名=bo1.valueINTOCURSORtmp"

SELECTAVG(Pfb.分数);

FROMpfbINNERJOINgsb;

ONPfb.歌手编号=Gsb.歌手编号;

WHEREgsb.歌手姓名=bo1.value;

GROUPBYPfb.歌手编号INTOarraya

thisform.text1.value=a

(1)

thisform.refresh

2案例0901

ifthis.value=1

SELECTAVG(Book1.单价);

FROMbook1;

WHEREBook1.种类=bo1.value;

GROUPBYBook1.种类intoarraya

thisform.text1.value=a

(1)

endif

ifthis.value=2

SELECTSUM(Book1.数量);

FROMbook1;

WHEREBook1.种类=bo1.value;

GROUPBYBook1.种类intoarraya

thisform.text1.value=a

(1)

endif

thisform.refresh

3案例0901

参考答案:

1)text1对象的value属性中写:

=date()

2)在“查询”command1对象的clickevent中代码:

thisform.grid1.recordsourcetype=4

thisform.grid1.recordsource="SELECTOrders.订单号,Orders.签订日期,Orders.金额;

FROMorders;

WHEREOrders.签订日期<=thisform.text1.value;

INTOCURSORtmp"

thisform.refresh

4案例1012

SELECTFshangpf.售价(万),Fshangpf.地址;

FROMfshangpf;

WHEREFshangpf.房型=bo1.value;

INTOcursorbb

thisform.grid1.recordsourcetype=1

thisform.grid1.recordsource="bb"

SELECTAVG(Fshangpf.售价(万));

FROMfshangpf;

WHEREFshangpf.房型=bo1.valueintoarraya

thisform.text1.value=a

(1)

thisform.refresh

5案例1106

b=thisform.optiongroup1.value

docase

caseb=1

kk="1房"

caseb=2

kk="2房"

caseb=3

kk="3房"

endcase

SELECTCOUNT(*),AVG(Housexs.售价);

FROMhousexs;

WHEREHousexs.房型=kkintoarrayy

thisform.text1.value=y

(1)

thisform.text2.value=y

(2)

thisform.refresh

6.列表框的应用

1案例0706

参考答案:

“添加并计算”按钮的clickevent代码如下:

thisform.list1.additem(thisform.text1.value)

thisform.list2.additem(str(len(thisform.text1.value)))

thisform.refresh

2案例0901

thisform.list1.additem(thisform.text1.value+""+alltrim(str(len(thisform.text1.value))))

thisform.text1.setfocus

thisform.refresh

3案例1006P206

Thisform.list2.clear

fori=1tothisform.list1.listcount

ifthisform.list1.selected(i)

thisform.list2.additem(thisform.list1.list(i))

endif

endfor

thisform.refresh

 

ᔏ큨娣ᘀ踿漀Ĩᘲ䭨䵼䈀ਪ䩃8䩏

ༀ㒄ᄈ岄ᗾ׆Ā࠴帆㒄怈岄俾Պ儀Պ漀(梇ༀ粄ᄋ岄ᗾ׆Ā୼帆粄怋岄俾Պ儀Պ漀(梇ༀ쒄ᄎ岄ᗾ׆Āໄ帆쒄怎岄俾Պ儀Պ漀(梇

ༀ䢄ᄃ岄ᗾ׆Ā͈帆䢄怃岄俾Պ儀Պ漀(梇ༀ還ᄆ岄ᗾ׆Āڐ帆還怆岄俾Պ儀Պ漀(梇ༀᄉ岄ᗾ׆Ā৘帆怉岄俾Պ儀Պ漀(梇ༀ₄ᄍ岄ᗾ׆Āഠ帆₄怍岄俾Պ儀Պ漀(梇

!

),.:

;?

]}¨·ˇˉ―‖’”…∶、。

〃々〉》」』】〕〗!

"'),.:

;?

]`|}~¢([{·‘“〈《「『【〔〖(.[{£¥

翿翿翿翿翿翿翿査Ÿ

SummaryInformationDocumentSummaryInformation

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

当前位置:首页 > 法律文书 > 调解书

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

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