实战演练二
本节的示例,可以参考CaseStudy目录下的文件:票据打印.Table。
该文件有一个支票表,我们要在该表设计一个窗口,用于套打支票:
设计步骤
1、首先新建一个窗口,然后在窗口设计器的文件“菜单”中,单击“页面设置”命令,设置好页面尺寸和边距。
2、为便于定位,我们可以扫描一个空白的支票图片,作为窗口背景使用,然后再插入各个控件:
3、将各控件分别绑定到对应的字段;再次提示一下,控件绑定到某个字段后,我们应该将其文本值设为绑定字段名称,这样让窗口看上去会比较清晰。
4、现在介绍如何打印小写金额,Foxtable提供了一个名为GetDigit的函数,专门用于解决这个问题。首先将用于打印小写金额的所有控件全部绑定到金额列,然后分别设置各控件的DataFormat事件代码:
分:
e.Text = GetDigit(e.Value,-2)
角:
e.Text = GetDigit(e.Value,-1)
元: e.Text =
GetDigit(e.Value,0)
十: e.Text = GetDigit(e.Value,1)
百: e.Text = GetDigit(e.Value,2)
千: e.Text = GetDigit(e.Value,3)
....
5、大写日期的解决办法类似,同样将年、月、日三个控件绑定到日期列,然后分别设置其DataFormat事件代码:
年:
If
e.Value IsNot Nothing
Then
e.Text = CCNumber(e.Value.Year)
End If
月:
If
e.Value IsNot Nothing
Then
e.Text = CCNumber(e.Value.Month)
End If
日:
If e.Value IsNot
Nothing
Then
e.Text = CCNumber(e.Value.Day)
End If
注意上面的代码中一定要先判断e.Value是不是空值,否则运行过程中,e.Value.Year这样的代码会出错。
6、存根部分的小写日期和上面的处理方式一样,只是不需要用CCNumber函数转换为中文而已:
年:
If
e.Value IsNot Nothing
Then
e.Text = e.Value.Year
End If
月:
If
e.Value IsNot Nothing
Then
e.Text = e.Value.Month
End If
日:
If e.Value IsNot
Nothing
Then
e.Text = e.Value.Day
End If
7、最后将大写金额的DataFormat事件代码设为:
e.Text = CUMoney(e.Value)