汇总

一、splash窗口
   1、open事件
        Timer(6,this)	//设定关闭时间,6秒
        This.SetPosition(Topmost!) //将Splash窗口置于其它窗口之上
   2、timer事件
       close(this)
   3、close事件
       Timer(0)  

二、拉数据窗口(DropDownDataWindow),有什么办法能得到此列的显示值?用GetItemNumber()函数只能得到实际值。
 答:数据窗口中有一个内部函数LookupDisplay()可实现此功能,若列名为"currency",取第1行的值如下:
    dw_1.Describe ( "Evaluate('LookupDisplay(currency)',1)" ) 
这种方法同样适用于编辑风格为下拉列表(DropDownListBox)、收音机按钮(RadioButtons)等的列。

三 、//如何生成固定长度的前面加零的数字编号,例如:12生成"00012",1234生成"01234"。方法很简单:
    String(ll_number, "00000")
四、判断数据窗口中是否存在某列
   可以利用Describe("column_name.width")是否为"!"来判断;

五、 1.shRunDefltBrowser 调用缺省的浏览器,打开指定页面
版本:PBVM60.dll,PBVM80.dll,PB7我没用过,不过我想应该有。
函数声明:function long shRunDefltBrowser(string szUrl) library "pbvm60.dll"
调用方法:shRunDefltBrowser("www.pdriver.com")
    2 shCenterWindow 将窗口位于屏幕中央
版本:PBVM60.dll,PBVM80.dll,PB7我没用过,不过我想应该有。
函数声明:function long shCenterWindow(long hWnd) library "pbvm60.dll"
调用方法:shCenterWindow(handle(w_about))

六、//允许用户只允许修改新增加的记录,而检索出来的记录则不允许修改。
  打开列的属性中的Expressions,在protect中输入条件判别式:
   if(isRowNew(),0,1) 
七。//当程序中用到了动态加入的对象,如BMP资源文件、数据窗口对象,PB编译时是扫描不到的,解决方法:
1.将此对象写入到资源文件中:
用记事本创建资源文件dw_object.pbr,写入:c:/myprogram.pbl(dw_sj)
编译时将此文件选入Resource File Name处。
2.将应用编译成PBD、DLL文件。
八、//当编辑框得到焦点时自动选中内容:
this.selectText(1,len(sle_1.text))

九、
//改变DW的查询条件语句
string ls_select,ls_filter
ls_select = dw_1.getSqlSelect()
ls_select = mid(ls_select,1,pos(upper(ls_select),'FROM ')+30)
ls_filter="WHERE service_kind=" + vi_service_kind + " ORDER BY FEE_ID ASC "
ls_select = ls_select + ls_filter
dw_1.Reset()
dw_1.SetTransObject(SQLCA)
dw_1.SetSQLSelect(ls_select)
dw_1.Retrieve()

十、


 

 
 

 

1、数据窗口隔行颜色显示
在列的字体背景中:
if(currentrow()=getrow(),rgb(255,240,194),if(mod(getrow(),2)=1, &rgb(255,254,249) , rgb(247,247,239))) 

表达式中rgb(255,240,194)为浅黄色,rgb(255,254,249)为浅白色,rgb(247,247,239)为浅黄色

2、横向滚动条在最右处,当增加一行时,怎样让它滚到最左边呢?
dw_1.modify("datawindow.HorizontalScrollPosition=1")

3、ocx注册
 
    1、在DOS或Windows命令行下运行:regsvr32 ocxname.OCX 注册
    2、用Install Shield,在里面选“Self-Registered”,安装程序将自动注册。
    3、在PB应用程序中注册:
    函数声明:
    Function long DllRegisterServer() Library "ocxname.OCX"  也许未amovie.ocx
     调用:
      LONG ll_RC
    ll_RC = DllRegisterServer()


4、关闭所有子窗口

 关闭所有子窗口   getfirstsheet,getnextsheet
   do while isvalid(w_main.getfirstsheet())
	close(w_main.getfirstsheet())
   loop
关闭当前子窗口
  	window w_tmp
	w_tmp = w_main.getactivesheet()
	if isvalid(w_tmp) then
		close(w_tmp)
	end if
5 、透明背景
  this.BackColor = 2^29
6、在设置DataWindow的过滤条件时注意比较符and or not like的先后顺序,最后以括号明显的表示顺序为好,提高可读性,确保结果万无一失。

例如下面的语法就是错误的
dw_1.setFilter("name like '赵%' and sex = 0")
因为and的级别比like优先,所以需要改为
dw_1.setFilter("(name like '赵%') and (sex = 0)")

7、取服务器事件
  select getdate() from table_name;表名为自己系统的表,哪个都行.



 

 
 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值