首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > PB >

字符串转datastore,该如何处理

2012-02-06 
字符串转datastore要对dw_1,dw_2......dw_30做同样的操作,所以,想用字符串拼接,但之后怎样把拼接好的字符

字符串转datastore
要对dw_1,dw_2......dw_30做同样的操作,

所以,想用字符串拼接,但之后怎样把拼接好的字符串转成datastore呢

如:
dw_1.settransobjct(sqlca)

string ls_dwname
ls_dwnmae = 'dw_1'

就是怎样用ls_dwname代替dw_1

[解决办法]
不能直接这样用,这样的做法就是动态解析代码了,可以通过查询我的博客得到该方法,
有一个变通过的办法
编写一个函数
wf_getdw(string as_name) return datawindow
{
datawindow ldw_rtn
int li_i
SetNull(ldw_rtn)
for li_i=1 to UpperBound(this.Control)
if Lower(ClassName(this.control[li_i))=Lower(as_name) then
ldwc_rtn = this.control[li_i)
exit;
end if
next
return ldw_rtn
}
[解决办法]
value 值传递,作为变量引用,不影响传入的参数;
reference 地址传递,作为地址引用,会影响传入的参数;
readonly 只读传递,作为只读方式引用,不允许在函数体内修改;

举个例子
函数为
wf_add(修饰符 int x)时
{
x=5
}

在三种情况下调用
int li_x
wf_add(li_x)
Messagebox('',li_x)
如果为value,就是修饰符没有的时候默认的方式,则弹出的值为0,因为它只传了值,变量本身不会改变
如果为reference,则弹出为5
如果为readonly,在定义wf_add的时候就会出错,因为x为只读,不允许被赋值

热点排行