VFP客房管理系统 第3页

VFP客房管理系统 第3页

4  客房管理表单运行结果

1.表单设计

1)在客房管理系统项目中,添加一个新表单,名称为Kfmanage

2)在表单中添加Label控件、Combo控件、Text控件、Edit控件、Command控件、Commandgroup控件、PageFrame控件和Grid控件。

3)重要控件属性如表2所示。

2                         重要控件的重要属性及值

控件名

属性

Combo1

DisplayValue

RowSource

RowSourceType

房间号

房间号,房间类型,房态

1-

Combo2

RowSource

RowSourceType

Style

All,like,=,>,<

1-

2-下拉列表框

2.代码设计

在表单的Load事件中添加以下代码:

public cx,l     &&定义全局变量

cx=0

l=.f.

在表单的Resize事件中添加以下代码:

thisform.pageframe1.page1.text1.value=tabkfinfo.房间号    &&赋值给Text1

thisform.pageframe1.page1.combo1.value=tabkfinfo.房间类型

thisform.pageframe1.page1.text3.value=tabkfinfo.价格

thisform.pageframe1.page1.combo2.value=tabkfinfo.房态

thisform.pageframe1.page1.text5.value=tabkfinfo.营业时间

thisform.pageframe1.page1.text6.value=tabkfinfo.备注

thisform.pageframe1.page1.text7.value=tabkfinfo.使用设置

thisform.pageframe1.page1.edit1.value=tabkfinfo.配置

L是全局变量,当L.T..F.时,这个值会集体赋给相关控件的Enabled属性。这种写法其实将Init事件当成一个设相关控件是否有效的函数。在表单的Init事件中添加以下代码:

store l to thisform.pageframe1.page1.combo1.enabled=l

thisform.pageframe1.page1.combo2.enabled=l

thisform.pageframe1.page1.text5.enabled=l

thisform.pageframe1.page1.text6.enabled=l

thisform.pageframe1.page1.text7.enabled=l

thisform.pageframe1.page1.edit1.enabled=l

combo2控件的InteractiveChange事件中添加以下代码:

if alltrim(thisform.combo2.value)="All"

   thisform.text1.value=''

   thisform.text1.enabled=.f.

else

   thisform.text1.enabled=.t.

endif

在“查询”按钮的Click事件中添加可以根据用户选择的条件查找记录的代码。

cx=0

cif=alltrim(thisform.combo1.displayvalue)

ccif=alltrim(thisform.combo2.displayvalue)

ctext=alltrim(thisform.text1.value)

if empty(ccif)

   messagebox('请输入查询条件!',48,'操作失败!')

   thisform.combo2.setfocus    &&Combo2获得焦点

else

     if empty(ctext)

        if ccif!="All"

           messagebox('请输入查询条件!',48,'操作失败!')

           thisform.text1.setfocus

        else

           select *;     &&选择所有字段

           from roommanage!tabkfinfo;     &&指定查询的数据库文件

           order by tabkfinfo.房间号;      &&查询结果升序排序

           into cursor lindeping  

           thisform.pageframe1.page2.grid1.recordsource='lindeping'  &&赋数据源

           lkfnumber=lindeping.房间号

           select tabkfinfo

           set order to 房间号    &&指定控制索引文件

           seek lkfnumber    &&快速查询

           thisform.resize   &&执行表单的Resize事件 

           thisform.pageframe1.page1.text1.enabled=.f.

           thisform.pageframe1.page1.text3.enabled=.f.

           l=.f.

           thisform.init    &&执行表单的Init事件

           thisform.commandgroup2.enabled=.t.

        endif

     else

        if thisform.combo2.displayvalue='like'

               MySQL=cif+" "+ccif+" '"+"%"+ctext+"%'"

            else

               MySQL=cif+" "+ccif+" '"+alltrim(thisform.text1.value)+"'"

            endif

            select * from roommanage!tabkfinfo where &MySQL.into cursor lindeping 

        go top

        if eof()

           go bottom

           messagebox('客房不存在',48,'信息窗口')

           thisform.commandgroup2.enabled=.f.

           thisform.commandgroup1.cmodify.enabled=.f.

           thisform.commandgroup1.cdel.enabled=.f.

           cx=1

        else

           lkfnumber=lindeping.房间号

           select tabkfinfo

           set order to 房间号

           seek lkfnumber

           thisform.resize   &&执行表单的Resize事件  

           thisform.pageframe1.page1.text1.enabled=.f.

           thisform.pageframe1.page1.text3.enabled=.f.

           l=.f.

           thisform.init    &&执行表单的Init事件

           thisform.commandgroup2.enabled=.t.

        endif 

        thisform.pageframe1.page2.grid1.recordsource='lindeping'

     endif

endif

thisform.commandgroup2.command1.setfocus

thisform.refresh

在页框控件的Init事件中添加以下代码:

thisform.pageframe1.page1.text1.enabled=.f.

thisform.pageframe1.page1.text3.enabled=.f.

l=.f.

thisform.init    &&执行表单的Init事件

thisform.resize     &&执行表单的Resize事件 

在“客房基本信息”选项卡的Activate事件中添加以下代码:

thisform.commandgroup1.csave.enabled=.f.

thisform.commandgroup1.ccancel.enabled=.f.

thisform.commandgroup1.cadd.enabled=.t.

thisform.commandgroup1.cexit.enabled=.t.

thisform.commandgroup1.cmodify.enabled=.t.

thisform.commandgroup1.cdel.enabled=.t.

thisform.commandgroup2.enabled=.t.

在“客房基本信息列表”选项卡的Activate事件中添加以下代码:

thisform.commandgroup1.csave.enabled=.f.

thisform.commandgroup1.ccancel.enabled=.f.

thisform.commandgroup1.cadd.enabled=.f.

thisform.commandgroup1.cmodify.enabled=.f.

thisform.commandgroup1.cdel.enabled=.f.

thisform.commandgroup1.cexit.enabled=.t.

thisform.commandgroup2.enabled=.f.

thisform.refresh

edit1控件的KeyPress事件中添加以下代码:

if nKeycode=3

  thisform.commandgroup1.csave.setfocus

endif

Combo1控件的Interactivechange事件中添加以下代码:

kftype=alltrim(thisform.pageframe1.page1.combo1.displayvalue)

select *;

from roommanage!tabkflx;

where 客房类型=kftype;

order by tabkflx.类型编号;

into cursor linshi

thisform.pageframe1.page1.text3.value=linshi.价格

在“|<”按钮的Click事件中添加以下代码:

go top        &&把记录指针定位到第一条记录

this.parent.command1.enabled=.f.

this.parent.command2.enabled=.f.

if cx=1

   this.parent.command3.enabled=.f.

   this.parent.command4.enabled=.f.

   thisform.commandgroup1.cmodify.enabled=.f.

   thisform.commandgroup1.cdel.enabled=.f.

else

   this.parent.command3.enabled=.t.

   this.parent.command4.enabled=.t.

endif

thisform.resize   &&执行表单的Resize事件     

thisform.refresh

在“<”按钮的Click事件中添加以下代码:

if cx=1

   messagebox('已是第一个记录',48,'信息窗口')

   this.parent.command1.enabled=.f.

   this.parent.command2.enabled=.f.

   this.parent.command3.enabled=.f.

   this.parent.command4.enabled=.f.

   thisform.commandgroup1.cmodify.enabled=.f.

   thisform.commandgroup1.cdel.enabled=.f.

   thisform.resize     &&执行表单的Resize事件  

else

   skip-1    &&记录指针向上移一条记录

   thisform.resize   &&执行表单的Resize事件  

   if bof()

      messagebox('已是第一个记录',48,'信息窗口')

      this.parent.command1.enabled=.f.

      this.parent.command2.enabled=.f.

      thisform.resize     &&执行表单的Resize事件  

   else

       this.parent.command1.enabled=.t.

       this.parent.command2.enabled=.t.

   endif

    this.parent.command3.enabled=.t.

    this.parent.command4.enabled=.t.

endif

thisform.refresh

上一页  [1] [2] [3] [4] [5] [6] [7] 下一页

  • 上一篇文章:
  • 下一篇文章:
  • Copyright © 2007-2012 www.chuibin.com 六维论文网 版权所有