对方把相关功能用PB封装好了,也给出了PB调用的例子,我没用过PB,在Delphi中转化不来,哪位知道的请帮忙解决,在线给分。
oleobject loo_1
adoresultset ado_timu
datastore ds_timu
long ret
loo_1 = loo_base.gettimu(sfzh, xm, chelei, ksyy, jw,ksrq,zkr, xxzh)
ado_timu = create adoresultset
ado_timu.setrecordset(loo_1)
ds_timu = create datastore
ds_timu.createfrom(ado_timu)
long j,k
ds_timu.setsort('th,a')
ds_timu.sort()
for k = 1 to ds_timu.rowcount()
if ds_timu.object.ttype[k] = 'c' then
i ++
dw_1.insertrow(i)
dw_1.setitem(i,1,ds_timu.getitemstring(i,'timu'))
dw_1.setitem(i,2,ds_timu.getitemstring(i,'xz_a'))
dw_1.setitem(i,3,ds_timu.getitemstring(i,'xz_b'))
dw_1.setitem(i,4,ds_timu.getitemstring(i,'xz_c'))
dw_1.setitem(i,6,ds_timu.getitemstring(i,'havepic'))
dw_1.setitem(i,7,ds_timu.getitemstring(i,'picfile'))
dw_1.setitem(i,8,ds_timu.getitemnumber(i,'th'))
else
j ++
dw_2.insertrow(j)
dw_2.setitem(j,1,ds_timu.getitemstring(j,'timu'))
dw_2.setitem(j,3,ds_timu.getitemstring(j,'havepic'))
dw_2.setitem(j,4,ds_timu.getitemstring(j,'picfile'))
dw_2.setitem(j,5,ds_timu.getitemnumber(j,'th'))
end if
next
destroy ds_timu
dw_1.scrolltorow(1)
dw_2.scrolltorow(1)
上面是对方给出的例子,在Delphi中如何实现???(如解决了本题,本人将多给100分)
oleobject loo_1
adoresultset ado_timu
datastore ds_timu
long ret
loo_1 = loo_base.gettimu(sfzh, xm, chelei, ksyy, jw,ksrq,zkr, xxzh)
ado_timu = create adoresultset
ado_timu.setrecordset(loo_1)
ds_timu = create datastore
ds_timu.createfrom(ado_timu)
long j,k
ds_timu.setsort('th,a')
ds_timu.sort()
for k = 1 to ds_timu.rowcount()
if ds_timu.object.ttype[k] = 'c' then
i ++
dw_1.insertrow(i)
dw_1.setitem(i,1,ds_timu.getitemstring(i,'timu'))
dw_1.setitem(i,2,ds_timu.getitemstring(i,'xz_a'))
dw_1.setitem(i,3,ds_timu.getitemstring(i,'xz_b'))
dw_1.setitem(i,4,ds_timu.getitemstring(i,'xz_c'))
dw_1.setitem(i,6,ds_timu.getitemstring(i,'havepic'))
dw_1.setitem(i,7,ds_timu.getitemstring(i,'picfile'))
dw_1.setitem(i,8,ds_timu.getitemnumber(i,'th'))
else
j ++
dw_2.insertrow(j)
dw_2.setitem(j,1,ds_timu.getitemstring(j,'timu'))
dw_2.setitem(j,3,ds_timu.getitemstring(j,'havepic'))
dw_2.setitem(j,4,ds_timu.getitemstring(j,'picfile'))
dw_2.setitem(j,5,ds_timu.getitemnumber(j,'th'))
end if
next
destroy ds_timu
dw_1.scrolltorow(1)
dw_2.scrolltorow(1)
上面是对方给出的例子,在Delphi中如何实现???(如解决了本题,本人将多给100分)
解决方案 »
- 动态库中给SPComm.OnReceiveData事件赋值错误
- 急急急!!!蔽闭方法,请教高手
- access数据库中的SQL代码怎样使用“*=“?
- 关于 Chart 的一个小问题!!! 急!!!
- ~O~ 有个问题请教大家:回答正确100分,沾边10分,UP5分,快快来啊!(在线等...)
- 求‘点数字’游戏源代码=^_^=
- --------类似于C++中lib方式,在Delphi中如何静态链接DLL?--------
- 关于ADO的问题
- 请问高手关于数据库的问题:查询结果用DBGrid显示,如何在DBGrid的最后一行显示合计数量?
- 有关SQL的问题
- D7下安装spcomm的问题
- TAnimate控件的一个问题
adoresultset ado_timu //ado数据集
datastore ds_timu //pb里的数据存储,相当于delphi中的TQuery
long ret
loo_1 = loo_base.gettimu(sfzh, xm, chelei, ksyy, jw,ksrq,zkr, xxzh) //获取object
ado_timu = create adoresultset //创建一个实例
ado_timu.setrecordset(loo_1) //获取数据集
ds_timu = create datastore //创建数据存储实例
ds_timu.createfrom(ado_timu) //根据语法创建
long j,k
ds_timu.setsort('th,a') //设置排序,列名是th,升序
ds_timu.sort() //排序生效
for k = 1 to ds_timu.rowcount() //循环,从第一行,到最后一行
if ds_timu.object.ttype[k] = 'c' then //如果该行的,ttype列值是c
i ++ //i加1
dw_1.insertrow(i) //数据窗口dw_1插入一空行
dw_1.setitem(i,1,ds_timu.getitemstring(i,'timu')) //先读,然后给timu赋值
dw_1.setitem(i,2,ds_timu.getitemstring(i,'xz_a')) //先读,然后给'xz_a赋值
dw_1.setitem(i,3,ds_timu.getitemstring(i,'xz_b')) //先读,然后给xz_b赋值
dw_1.setitem(i,4,ds_timu.getitemstring(i,'xz_c')) //先读,然后给xz_c赋值
dw_1.setitem(i,6,ds_timu.getitemstring(i,'havepic')) //先读,然后给havepic赋值
dw_1.setitem(i,7,ds_timu.getitemstring(i,'picfile')) //先读,然后给picfile赋值
dw_1.setitem(i,8,ds_timu.getitemnumber(i,'th')) //先读,然后给th赋值
else
j ++
dw_2.insertrow(j) //数据窗口dw_2新增一空行
//下面也是赋值
dw_2.setitem(j,1,ds_timu.getitemstring(j,'timu'))
dw_2.setitem(j,3,ds_timu.getitemstring(j,'havepic'))
dw_2.setitem(j,4,ds_timu.getitemstring(j,'picfile'))
dw_2.setitem(j,5,ds_timu.getitemnumber(j,'th'))
end if
next
destroy ds_timu //销毁创建的对象,相当于释放内存
dw_1.scrolltorow(1) //dw_1将第一行设为当前行
dw_2.scrolltorow(1) //dw_2将第一行设为当前行
如果是delphi可以将该组件安装注册成一个控件用的,很简单的