实战演练二

本节的示例,可以参考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)


本页地址:http://www.foxtable.com/webhelp/topics/1608.htm