当前位置: 代码迷 >> PB >> PB如何实现滚动文字信息
  详细解决方案

PB如何实现滚动文字信息

热度:226   发布时间:2016-04-29 10:36:05.0
PB怎么实现滚动文字信息
要在应用程序界面挂一个滚动文字信息栏,怎么实现这个功能,最好是能直接读取数据库表字段文本,而不是手动前台硬编码写进去,急切请教高手,谢过!

------解决方案--------------------
读数据库里的文本至一个全局的string 
然后在timer 事件里计算这个string 至一个局部的string 再赋值给一个statictext .
------解决方案--------------------
顶!timer是可以做跑马灯字符串
------解决方案--------------------
搜一下PB 跑马灯很容易找到代码的。
------解决方案--------------------
//下面是转载别人的一段代码,作者:smartstarchen
在窗口中添加一个文本框 st_test 
然后在窗口中写如下代码: 

在open事件中: 
st_test.text = '这是一个走马灯式的文本! ' 
timer(0.25) [/color]//循环时间

在timer事件中: 
String ls_help,ls_banner 
Long ll_len 
ls_banner = st_test.text 
ll_len = len(st_test.text) 
ls_help = right(ls_banner,ll_len - 2) + left(ls_banner,2)
st_test.text = ls_help
//
这是一段很简单的代码,你要怎么跑,在红色字体部分改就行了,复杂程度看你的水平了~~~
至于要读取数据文本,1楼可是说得很清楚了,把文本读出来替换掉这部分文字就行了。
希望对你有所帮助~
------解决方案--------------------
timer事件里 对 dw_main.Object.DataWindow.VerticalScrollPosition做个判断,如果这个值已经大于等于DataWindow.VerticalScrollMaximum了 就把VerticalScrollPosition清为1

你这样写 肯定滚一会就停了
------解决方案--------------------
String Ls_HorizontalMax

Ls_HorizontalMax = dw_main.Describe( 'DataWindow.VerticalScrollMaximum') 

IF ll_position > long (Ls_HorizontalMax ) THEN
ll_position = 1
ELSE
ll_position = ll_position + 2
END IF

dw_main.Modify("DataWindow.VerticalScrollPosition='"+ String (ll_position ) +"'")

------解决方案--------------------
dw_main.Object.DataWindow.VerticalScrollPosition = ll_position + 2 

滚是因为timer事件一直在改这个VerticalScrollPosition值,就是DATAWINDOW在数据窗口中的位置

一直+2 当这个值大于数据窗口高度时,就滚出去了。。

设置为1 滚到头了再从头滚。。实现循环的效果
------解决方案--------------------
哈哈,当我回来后这么多有创意的都出现了,还是顶!
  相关解决方案