微信停车场解决方案:在VFP中制作"日期选择器"

来源:百度文库 编辑:中财网 时间:2024/05/09 14:41:22

不知道你在文本框中输入日期时是不是感到不方便?反正我是,我经常会把"mm-dd-yy"输成"yy-mm-dd",经常会看到“无效的日期”的提示。当你把程序交付给用户使用时,这种不方便一定会影响用户对程序的评价。这个烦人问题困扰我很长时间了,今天无意中查看VFP的示例,在其中发现了一个示例,可以很好的解决这个问题,现在把他写下来,与狐友们分享。

Vfp版本:9.0正式版

操作系统:windows 2000 专业版

在这个示例中使用了VFP自带的类,这个类位于 home()+’ffc\_datetime.vcx’中,类名为_olecalendae

新建一个数据表 test.dbf,,具有两个字段 姓名 c(10) ,生日 d()

随便添加一个记录,

新建一表单:如图

将数据表tese.dbf添加到数据环境中。

上边的文本框与“姓名”字段绑,下边的文本框与“生日”字段绑定。

代码:

“选择日期”按钮

#DEFINE C_CALCAPTION_LOC    "选择日期"

oCalForm = Create('form')

oCalForm.NewObject("oleCalendar","_olecalendar",HOME()+"FFC\_datetime.vcx")

WITH oCalForm.oleCalendar

     .date_column = "test.生日"&&得当前日期, 并将生日字段与olecalendar控件绑定

     .RefreshDisplay()&&使日历控件显示当时日期

     .BackColor = THISFORM.BackColor

     .Visible = .T.

ENDWITH

WITH oCalForm

     .AutoCenter = .T.

     .BorderStyle = 2

     .MaxButton = .F.

     .MinButton = .F.

     .Height = oCalForm.oleCalendar.Height

     .Width = oCalForm.oleCalendar.Width

     .Caption = C_CALCAPTION_LOC

ENDWITH

oCalForm.Show(1)

THISFORM.Refresh

“退出”按钮

thisform.Release

运行表单

点击“日期选择”按钮会出现下面的效果。

现在可以选择日期,选择后关闭小窗口,生日文本中框中的日期值会变成你选择的日期。

注意:数据表中一定要有记录。

_oleCalendar类位于Home()+'FFC'目录下的_datetime.vcx类库里,拖入到窗口中,右击,点“生成器”,在窗口中的“Field name to bind calendar”处填写要将Calendar绑定的数据库字段名,这样使用时选择好时间,会自动地更新该字段。

例:
数据库名称为table1,里面有一个logdate来与calendar绑定,如果该字段为空,Calendar初始化的时候会提示错误,所以在此之前先插入一条记录。

INSERT INTO table1 VALUES(DATE())    &&新增一个当天日期记录
frmCalendar = CREATEOBJECT('Form')   &&创建一个表单
frmCalendar.newobject('oleCalendar','_oleCalendar','c:\foxpro\ffc\_datetime.vcx') &&表单中新加入一个calendar对象
WITH frmCalendar.oleCalendar
.date_column = 'table1.logdate'     &&指定与Calendar绑定的字段
.refreshDisplay()    &&使用date_column中的日期来更新calendar的显示
.backcolor = thisform.BackColor
.visible = .T.
.Height = 130
.width = 307
ENDWITH

WITH frmCalendar
.autocenter = .T.
.Borderstyle = 2
.Maxbutton = .F.
.MinButton = .F.
.Height = 130
.width = 307
ENDWITH

frmCalendar.show(1)
thisform.Refresh()