当前位置: 代码迷 >> PB >> 相干clipbord() 函数的返回值是string还是integer
  详细解决方案

相干clipbord() 函数的返回值是string还是integer

热度:103   发布时间:2016-04-29 06:13:25.0
有关clipbord() 函数的返回值是string还是integer
函数clipbord()在书中或帮助中介绍的返回值为string,可是在程序代码中
 string ls_return
 ls_return = clipbord(dw_1,rt)
 编译时提示返回值类型不是string,是integer.
如果将ls_return定义为integer,那么ls_return = -1无法执行下去,请问这是为什么?是PB12.5的bug?
------解决方案--------------------
返回值是string
------解决方案--------------------
我也遇到这个问题了。所有的资料都说返回的是当前剪贴板的内容是String类型的,但是程序中的确返回的是Integer类型的。而且和你一样我这里一直都返回-1。

后来我想了个笨办法。在窗口中加了个singlelineedit控件,并把它的visible属性置为false。把我想要复制到剪贴板的数据赋给singlelineedit控件的text,然后全选text中的内容,利用singlelineedit控件的copy方法就可以复制到剪贴板上了。看代码:
sle_copy.text = ls_str
sle_copy.selecttext(1,len(sle_copy.text))
sle_copy.copy()

------解决方案--------------------
 ls_return = clipbord(dw_1,rt) 能这样用吗?该函数只有一个参数(9.0版本),难道是高版本支持多个参数?
------解决方案--------------------
if keyflags = 2 and key = KEYC! then
   ::Clipboard(gs_Clipboard)
this.SetFocus()
elseif key = KeyEscape! then
   gw_parent.triggerevent("ue_cancel")
this.SetFocus()
elseif key = KeyDelete! and is_estate = 'save'  then
   gw_parent.triggerevent("ue_delete")
this.SetFocus()
end if

gs_Clipboard是我全局的变量,单击获取值,按CTRL+C就是复制到系统剪切板,是STRING值
  相关解决方案