新人实作常用函数介绍
(本档案所举例子,仅供参考,如有不恰当的地方请指正)
AcceptText() :记忆方法 Accept 译:接受; Text 译:文本。
作用将飘浮在DW编辑框中的资料写入到DW的缓冲区中。类似于在Word文档中编辑文字,表面上面看起来好像已经写到Word中,实际上并未没有保存,我们还要按保存按钮。飘浮在DW编辑框中的内容,类似于一个皮球飘在水面上面,但没有到水里去,这个时候我们用AcceptText()将资料写到缓冲区里面,类似于把皮球用手手工的按到水里面。
AccetpText() 有返回值,比如把“abcd”写到数字型栏位的缓冲区中,这肯定是错误的,则AcceptText()返回 -1 ,失败。
此函数在栏位跳转的时候,系统也会自动触发。
GetItemString() :记忆方法 Get 译:得到;Item 译: 栏位;String 译:字符串 作用:取字符型栏位的值。
同理 GetItemNumber() 取数字型;GetItemDate() 取日期型;等等 。 下面以GetItemString() 来进行讲解: DW中的资料为 1 , 2 , 3 4 , 5 , 6 7 , 8 , 9
则GetItemString(2, 3 ) 取的值为 6 ; GetItemString(3 , 2 ) 取的值为 8 ;
那么GetItemString() 两个参数相当于我们的X/Y 坐标系(但是是倒立的坐标系);其中第二个参数的取值是 根据DW的后端数据源SQL语法来决定取那个值的。比如: SELECT \ \ \ \ \ \ \ \ FROM \
如果GetItemstring( * , 2 ) 则取第*行,user_pass 的值; 如果是 GetItemString(*, 5 ) 的值,则取第*行,user_factory的值。也就是说,取那个栏位的值只和行数及后端Sql数据源的栏位排列顺序有关系。而与在DW运行时那个的具体位置是没有关系,(请大家想想在设计DW的时候,我们的栏位是不是可以拖来拖去,难道它会影响到GetItemString()函数吗?)
为了编程清晰,我们通常建议第二个参数为栏位名来代替。如GetItemString(* ,“user_name”)
IsNull() 记忆方法:IS:译 是否为; Null 译:Null值。
这个函数我们在第四节课讲的NULL值有关系。它用来判断此值是否为NULL值,是则返回True,否返回False
Trim() 去空格;如“ ABC ” ,则Trim(“ ABC ”) = “ABC”了,去了空格
GetRow() 记忆方法:Get 译 得到 ; Row 译 行
得到DW中的行焦点现在那行上面。因为DW中会显示多行资料,那么我们得到此时DW的行焦点在那行上面,则可以此函数来得到。(除行焦点的概念外,我们还有行焦点,栏位焦点的概念)
SetFocus() 记忆方法:Set 译 设置 ; Focus 译 焦点
将焦点设置在那个DW上面,一个Window上面可能有多个焦点,众所周知,如果一个文本框如果要编辑它,那么首先应该让它获得焦点,则你要编辑DW,则应该让DW首先得到焦点(也就要是要得到光标)
SetColumn() 记忆方法:Set 译 设置 ; Column 译 栏位
和SetFocus()一样的原理,你要修改DW中某个栏位的资料,那你就需要让那个栏位获得资料。则首先让栏位获得焦点,获得光标。则SetColumn()就是起这个作用。
SetItem() 记忆方法:Set 译 设置 ; item 译 栏位。
这个函数和GetItemString() 相结合理解,GetItemstring是得到栏位的值,而SetItem()是设置栏位的值。参数一样,只不过多了一个值,因为要设置值,肯定要给一值。 例如: SetItem(x, y , “***”)
ScrollToRow()记忆方法: Scroll 译:滚动 ; To 译:到 ; Row 译: 行。
ScrollToRow() 将DW的资料滚动到那一行。但不是设置焦点,我们可以说,DW 行焦点在第2行,但DW滚动到第七行。这里主要控制垂直滚动条的问题。