文档库 最新最全的文档下载
当前位置:文档库 › pb“动态”数据管道的应用

pb“动态”数据管道的应用

pb“动态”数据管道的应用
pb“动态”数据管道的应用

三、“动态”数据管道的应用

前面已将数据管道的应用进行了简单说明,下面将介绍如何在程序中修改和调整数据管道。

注意到支撑用户对象中有一个Syntax属性,该属性的数据类型为String,保存用于创建数据管道对象的语法。如果将Syntax输出,将是类似与下面的文本:

PIPELINE(source_connect=Book,destination_connect=Desi,type=create,commit=100,errors=100,keyname=" person_x")

SOURCE(name="person",COLUMN(type=varchar,name="person_no",dbtype="char(8)",key=yes,nulls_allowed= no)

COLUMN(type=varchar,name="dept_no",dbtype="char(3)",nulls_allowed=no)

……

如果利用字符串函数(比如Mid()、Pos()、Len())对Syntax属性进行操作,应用程序可以动态修改数据管道对象语法,从而实现不同的要求。例如将上面文本中的“type=create”改为“type=update”就改变了数据管道的操作方式。

现在我们知道了动态修改数据管道的方法,那么我们能否不建立数据管道对象而只应用支撑用户对象实现管道操作吗?答案是肯定的,方法是通过构造符合Pipeline语法的文本(有关pipeline的语法可以把在画笔中定义的Pipeline对象导成文本文件进行分析),将此文本赋值给Syntax属性,这样不必定义数据管道对象仍然可以进行管道操作。

下面是笔者编写的一个从Forpro数据表向Oracle数据库复制数据的函数,由于应用了“动态”数据管道,无需在画笔中创建数据管道对象,从而实现任意表的数据传递。

Function Integeruf_foxtoora(transaction atrans_source,transaction atrans_destination,

stringas_fox_tablename , string as_ora_username ,string as_ora_tablename , integerai_pipe_type )

其中:

返回值:成功返回1,发生错误返回错误代码。

脚本如下:

int i ,li_columncount , li_return

stringls_pipeline1,ls_pipeline2,ls_pipeline3,ls_pipeline4,ls_pipesyn

stringls_pipetype[5] = {"create" , "replace" ,"refresh" , "append" , "update" }//定义数据管道操作方式

stringls_foxtype,ls_oratype,ls_colname,ls_foxdbtype,ls_oradbtype,ls_inital,ls_foxtype1

stringls_insertcol,ls_sel,errors

pipelinepipe_foxtoora

datastore lds_1

ls_sel="SELECT* FROM " + as_fox_tablename

lds_1=createdatastore

//创建动态数据存储对象,用以获取字段名及数据类型

lds_1.create(atrans_source . syntaxfromsql ( ls_sel ,"style(type=grid)",errors))

if len(errors)>0then return -99 //若动态数据存储创建失败,返回错误代码-99

li_columncount =Integer(lds_1.Object.DataWindow.Column.Count)

pipe_foxtoora=createpipeline

ls_pipeline1="PIPELINE(source_connect=foxtoora,destination_connect="+as_ora_username+",type="+ls_ pipetype[ai_pipe_type]+",commit=100,errors=100)"

ls_pipeline2="SOURCE(name=~""+as_fox_tablename+"~","

ls_pipeline3="RETRIEVE(statement=~"PBSELECT(VERSION(400)TABLE ( NAME = ~~~""+as_fox_tablename + "~~~")"

ls_pipeline4="DESTINATION(name=~""+as_ora_tablename+"~","

//循环获取字段名及数据类型,构造动态数据管道语法

for i=1 toli_columncount

ls_colname=string(lds_1.describe("#"+string(i)+".dbname"))

ls_foxtype1=string(lds_1.describe("#"+string(i)+".coltype"))

//判断字段数据类型,根据数据类型构造动态数据管道语法

CHOOSE CASEupper(left(ls_foxtype1,3))

CASE "CHA"

ls_foxtype="char"

ls_foxdbtype="~"C"+right(ls_foxtype1,len(ls_foxtype1)-pos(ls_foxtype1,"(")+1)+"~""

ls_oratype="varchar"

ls_oradbtype="~"VARCHAR2"+right(ls_foxtype1,len(ls_foxtype1)-pos(ls_foxtype1,"(")+1)+"~" "

ls_inital="~"spaces~""

CASE "DEC"

ls_foxtype="decimal"

ls_foxdbtype="~"N"+"(20,"+right(ls_foxtype1,len(ls_foxtype1)-pos(ls_foxtype1,"("))+"~""

ls_oratype="decimal"

ls_oradbtype="~"NUMBER"+"(20,"+right(ls_foxtype1,len(ls_foxtype1)-pos(ls_foxtype1,"("))+"~""

ls_inital="~"0~""

CASE "DAT"

ifupper(ls_foxtype1)="DATE" then

ls_foxtype="date"

ls_foxdbtype="~"D~""

elseif upper(ls_foxtype1)="DATETIME" then

ls_foxtype="datetime"

ls_foxdbtype="~"T~""

endif

ls_oratype="datetime"

ls_inital="~"today~""

CASE "INT"

ls_foxtype="decimal"

ls_foxdbtype="~"N(8,0)~""

ls_oratype="decimal"

ls_oradbtype="~"NUMBER(8,0)~""

ls_inital="~"0~""

CASE "LON"

ls_foxtype="long"

ls_foxdbtype="~"I~""

ls_oratype="double"

ls_oradbtype="~"FLOAT~""

ls_inital="~"0~""

CASE "DOU"

ls_foxtype="decimal"

ls_foxdbtype="~"T~""

ls_oratype="decimal"

ls_oradbtype="~"NUMBER(20,8)~""

ls_inital="~"0~""

CASE "BIT"

ls_foxtype="bit"

ls_foxdbtype="~"T~""

ls_oratype="double"

ls_inital="~"0~""

CASE "NUM"

ls_foxtype="double"

ls_foxdbtype="~"B~""

ls_oratype="double"

ls_oradbtype="~"FLOAT~""

ls_inital="~"0~""

END CHOOSE

ls_pipeline2+="COLUMN(type="+ls_foxtype+",name=~""+ls_colname+"~",dbtype="+ls_foxdbtype+",nulls_a llowed=no)"+"~r~n"

ls_pipeline3+="COLUMN(NAME=~~~""+as_fox_tablename+"."+ls_colname+"~~~")"

ls_pipeline4+="COLUMN(type="+ls_oratype+",name=~""+ls_colname+"~",dbtype="+ls_oradbtype+",nulls_a llowed=no,initial_value="+ls_inital+")"+"~r~n"

next

ls_pipeline2+=+")"

ls_pipeline3+=")~")"

ls_pipeline4+=+")"

ls_pipesyn=ls_pipeline1+"~r~n"+ls_pipeline2+"~r~n"+ls_pipeline3+"~r~n"+ls_pipeline4

messagebox("",ls_pipesyn)

pipe_foxtoora.syntax=ls_pipesyn//将数据管道语法字符串赋值给Syntax属性

li_return=pipe_foxtoora.start(atrans_source,atrans_destination,lds_1)//启动数据管道

destroy lds_1

destroypipe_foxtoora

return li_return //返回数据管道执行成功标志或错误代码

四、结论

在移动计算日益普及的今天,各种数据相互传递已经成为应用程序的普遍要求。数据管道技术提供了在数据库内部、数据库之间,甚至不同的数据库管理系统之间快速复制数据的简便途径。而使用“动态”数据管道可以使程序具有较强的适应性,操作更加灵活,进而能够满足数据移动中的特殊要求。

pb数据窗口常用代码

一、连接数据库 连接数据库也就是指定事务对象。PowerBuilder提供了两个函数:SetTrans()和SetTransObject()。 语法格式: dw_control.SetTrans(TransactionObject) dw_control.SetTransObject(TransactionObject) 其中,dw_control是所使用的数据窗口控件,transactionObject是所要指定的事务对象。 这两个函数有一个重要的区别就是在使用SetTrans()函数时,用户不需做任何数据初始化或事务对象初始化工作。用户只需要在这里填充一个事务对象,PB 就会自动完成对该事物对象的初始化以及和数据库连接的工作。而使用SetTransObject()函数时,用户必须首先把所用的事务对象连接到数据库上。但是,这并不意味着SetTrans()函数比SetTransObject()函数更好,使用SetTrans()函数时,每调用一次函数必须连接一次数据库,因为这个函数在每个事务处理的末端都会执行Disconnect语句。与此相反,使用SetTransObject()函数可以为数据库维持一个开放性的连接。因此在一般情况下,为了提高效率,总是采用SetTransObject()函数。 这两个函数都是成功时返回1,发生错误时返回-1。 二、检索数据 用于检索数据的函数只有一个,就是Retrieve()函数。 语法格式: dw_control.Retrieve() 如果数据窗口控件上的数据窗口对象是有检索参数的,就要在这个函数调用时加上检索参数。而且检索参数必须和数据窗口对象中定义顺序一致。 此函数返回一个长整型的数据,代表检索出来的数据行数。如果发生错误,将返回-1。 三、更新数据 当用户对数据窗口对象内的数据修改后,想把这些修改反映到数据库中去时,必须使用Update()函数。 语法格式: dw_control.Update() 这个更新可能成功,也可能失败。一般在这个函数被调用之后,总是要做一个检查。请看下面的例子: Int li_return

用PPT演示动态数据透视图(表)

用PPT演示动态数据透视图(表)×××公司市场部要开一个关于×××调查情况的会议,有关调查资料已经 准备完毕,收集了大量的原始数据,存放在Excel工作簿中,(如图1)所示。 为了便于在会议中分析和展示数据,市场部的员工整理了大量的Excel图表, 然后复制到PowerPoint演示文稿中。这一过程耗费了很多时间。尽管他们知道可以利用Excel数据透视图表快速分析数据,但由于在PowerPoint中放映图表 时通常演示的都是静态的图表,大量的复制粘贴工作依然不可避免。 其实,可以在PowerPoint中加入数据透视图表,并且在放映幻灯片时,动态 地控制同一图表中显示的内容,灵活地显示各种分析结果,就像在Excel中控制 数据透视图表一样方便。 为了能实现这样的功能,首先需要在Excel工作表中,选中待分析的数据区域,并在“名称”框中输入此区域的名称,例如“调查结果”,并按“Enter”键确认。 如果不设置名称,将无法在PowerPoint中调用此区域的数据。 在PowerPoint演示文稿中新建一张空白幻灯片。在菜单中选择“视图”|“工具栏”|“控件工具箱”命令,显示“控件工具箱”工具栏,(如图2)所示。

在“控件工具箱”中单击右下角的“其他控件”按钮,显示更多控件。选择“Microsoft office Chart 11.0”,这是一个数据透视图控件(如果选择“Microsoft office PivotTable 11.0”,则选择的是数据透视表控件,二者的用法类似)。 在幻灯片中画出控件,然后在控件上单击右键,选择“Microsoft office Chart 11.0对象”|“命令和选项”命令,(如图3)所示。 这时将显示对话框,(如图4)所示,选择“显示/隐藏”选项卡,并选中所有的设置项,这些设置将允许在幻灯片放映时控制数据透视图。

PB动态数据窗口

[PB]-动态数据窗口 〓创建动态数据窗口 若要动态创建数据窗口,需要使用函数Create,该函数的语法如下: dw_1.Create(syntax{,errorbuffer}) 其中,dw_1是数据窗口控件的名称,该数据窗口控件要和新创建的数据窗口对象相关联。syntax是用来描述创建数据窗口对象的确切语法的字符串。errorburrer是可选项,用来保存创建数据窗口对象过程中发生的错误信息。如果不指定该参数,就会在发生错误时显示一个错误信息的提示窗口。如果创建成功该函数返回1,否则返回-1,如果参数为null则函数返回null。 由于Create函数成功创建数据窗口对象后,要改变dw_1数据窗口控件所关联的数据窗口对象,因此,需要重新为数据窗口设置事务对象(使用函数SetTransObject或者SetTrans)。 获取创建数据窗口的语法有多种方法,可以对相关的SQL语句使用SyntaxFromSQL函数,也可以使用对已经创建好的数据窗口对象使用LibraryExport函数。因为创建数据窗口的语法比较复杂,即使使用了LibraryExport输出已有数据窗口对象的语法,操作起来也相当费劲。所以,更为通用的是前面一种方法。这种方法配合一定的编程技巧,让用户指定要创建的数据窗口对象的SQL语句,使用户有更多的自由和选择。使用这种方法,肯定用到函数 SyntaxFromSQL,它的语法是: transaction.SyntaxFromSQL(SQLselect,presetation,err) 其中,transaction是事务对象的名称,该事务对象必须正确地设置了相关参数,并且和数据库建立了联结。SQLselect是用来创建数据窗口的SQL语句,为String 类型。presentation是要创建的数据窗口对象的显示风格,为String类型。简单的格式是: Style(Type=presentationstyle) 其中Style和Type都是保留字,presentationstyle的取值有Tabular,Grid,Form,Graph,Group,Label和Nup,其中Tabular是缺省类型。err是用来保存函数执行时出错信息的string类型的变量。 *关于函数SyntaxFromSQL的参数presentation可以有更复杂的语法。其格式是:"Style ( Type=value property=value ... ) DataWindow ( property=value ... ) Column ( property=value ... ) Group groupby_colnum1 Fby_colnum2 ... property ... ) Text property=value ... ) Title ( 'titlestring' )" 使用这样的格式,可以详细定义要创建的数据窗口对象的外观。 〓在很多情况下都需要一个数据窗口控件和不同的数据窗口对象关联。可以通过修改数据窗口控件的dataobject属性来实现。在修改了这一特性之后,数据窗口控件就不再具有与它相关的事务处理对象了,应该再重新为数据窗口设置事务

pb中数据窗口函数总结

pb中数据窗口函数总结 一、连接数据库 连接数据库也就是指定事务对象。PowerBuilder提供了两个函数:SetTrans()和SetTransObject()。 语法格式: dw_control.SetTrans(TransactionObject) dw_control.SetTransObject(TransactionObject) 其中,dw_control是所使用的数据窗口控件,transactionObject是所要指定的事务对象。 这两个函数有一个重要的区别就是在使用SetTrans()函数时,用户不需做任何数据初始化或事务对象初始化工作。用户只需要在这里填充一个事务对象,PB就会自动完成对该事物对象的初始化以及和数据库连接的工作。而使用SetTransObject()函数时,用户必须首先把所用的事务对象连接到数据库上。但是,这并不意味着SetTrans()函数比SetTransObject()函数更好,使用SetTrans()函数时,每调用一次函数必须连接一次数据库,因为这个函数在每个事务处理的末端都会执行Disconnect语句。与此相反,使用SetTransObject()函数可以为数据库维持一个开放性的连接。因此在一般情况下,为了提高效率,总是采用SetTransObject()函数。 这两个函数都是成功时返回1,发生错误时返回-1。 二、检索数据 用于检索数据的函数只有一个,就是Retrieve()函数。 语法格式: dw_control.Retrieve() 如果数据窗口控件上的数据窗口对象是有检索参数的,就要在这个函数调用时加上检索参数。而且检索参数必须和数据窗口对象中定义顺序一致。 此函数返回一个长整型的数据,代表检索出来的数据行数。如果发生错误,将返回-1。 三、更新数据 当用户对数据窗口对象内的数据修改后,想把这些修改反映到数据库中去时,必须使用Update()函数。 语法格式: dw_control.Update() 这个更新可能成功,也可能失败。一般在这个函数被调用之后,总是要做一个检查。请看下面的例子: Int li_return li_return = dw_1.Update() IF li_return = 1 THEN

PB中下拉数据窗口带参数应用

PB中下拉数据窗口带参数应用 在数据输入时,当用到下拉列表时,会发现有些数据是和别的数据相关的,这时我们会希望过滤掉那些不相关的数据。例如生成一个入库单,某种物料有多个供应商,我们要根据物料来过滤掉和这个物料不相关的供应商,这样会加快检索和输入的速度。 入库单表:billrec

1.以supply表,制作一个带参数的数据窗口,命名为d_supply_replace_list,参数列为item_id,字符型,隐藏物料代码列。 2.以billrec表,制作一个数据窗口,命名为billrec_maintain,将supply_id列的edit属性中的style type选定为DropDownDW,datawindow为d_supply_replace_list。 在窗口中放置数据窗口控件dw_1,将其与billrec_maintain数据窗口关联。 在窗口中定义实例变量datawindowchild idwc_child。 3.在dw_1的constructor事件中编写以下脚本: this.getchild("supply_id",idwc_child) //生成子数据窗口,supply_id为下拉列表列idwc_child.insertrow(0) idwc_child.settransobject(SQLCA) this.of_settransobject(SQLCA) this.insertrow(0) 4.在dw_1的itemchanged事件中编写以下脚本: long ll_getcolumn ll_getcolumn = this.getcolumn() //获得当前列 choose case ll_getcolumn case 7 //假设item_id列是第7列 dw_1.accepttext() is_id = dw_1.getitemstring(row,7) //获得物料代码 idwc_child.retrieve(is_id) //检索替代供应商 end choose 这样在输入不同的物料时,会像下图那样,只列出相关的供应商。

pb数据窗口技巧38个 收藏

pb数据窗口技巧38个收藏 1 使DataWindow列只能追加不能修改 如何使DataWindow中的数据只能追加新记录而不能修改,利用Column 的Protect 属性可以很方便的做到这一点,方法如下:将每一列的Protect 属性设置为: If( IsRowNew(), 0, 1) ) 在PowerScript 中可以动态修改Protect 属性: dw_1.Modify("column_name_here.Protect='1~tIf(IsRowNew(),0,1)'") 这样,DataWindow 中只有新追加的记录可修改,而其他记录是只读的。 2 如何在DataWindow中实现列的自动折行 我们在PowerBuilder应用程序的开发过程中, 使用DataWindow时, 经常会遇 到某列的数据太长, 不能同时全部显示的情况. 若采用自动水平滚动, 操作起 来又不够简便. 下面介绍一种方法, 实现列数据多行显示, 即实现列数据的自 动折行.具体步骤如下: 1) 在DataWindow Painter中打开此DataWindow. 2) 在需设定自动折行的列上双击鼠标, 弹开此列的属性窗口. 3) 选择Position标签, 选中Autosize Height 多选框. 4) 选择Edit标签, 不选中Auto Horz Scroll多选框. 5) 单击OK按钮, 保存所做的修改. 6) 点中Detail Band (即写有Detail的灰色长带), 单击鼠标右键, 选择 Properties... 菜单项. 7) 选中Autosize Height多选框. 8) 单击OK按钮, 保存所做的修改.

PB 数据窗口高级( DataWindow)应用37个技巧

PB 数据窗口高级( DataWindow) 37个技巧 1. 使DataWindow列只能追加不能修改 如何使DataWindow中的数据只能追加新记录而不能修改,利用Column 的Protect 属性可以很方便的做到这一点,方法如下: 将每一列的Protect 属性设置为: If( IsRowNew(), 0, 1) ) 在PowerScript 中可以动态修改Protect 属性: dw_1.Modify("column_name_here.Protect='1~tIf(IsRowNew(),0,1)'") 这样,DataWindow 中只有新追加的记录可修改,而其他记录是只读的。 2 .如何在DataWindow中实现列的自动折行 我们在PowerBuilder应用程序的开发过程中, 使用DataWindow时, 经常会遇 到某列的数据太长, 不能同时全部显示的情况. 若采用自动水平滚动, 操作起 来又不够简便. 下面介绍一种方法, 实现列数据多行显示, 即实现列数据的自 动折行.具体步骤如下: 1) 在DataWindow Painter中打开此DataWindow.

2) 在需设定自动折行的列上双击鼠标, 弹开此列的属性窗口. 3) 选择Position标签, 选中Autosize Height 多选框. 4) 选择Edit标签, 不选中Auto Horz Scroll多选框. 5) 单击OK按钮, 保存所做的修改. 6) 点中Detail Band (即写有Detail的灰色长带), 单击鼠标右键, 选择Properties... 菜单项. 7) 选中Autosize Height多选框. 8) 单击OK按钮, 保存所做的修改. 9) 保存此DataWindow. 注意: 连在一起的汉字(中间没有标点或空格分隔), 系统将认为是一个单词, 不 会自动进行折行. 3. 在数据窗口中实现动画 要实现动画,必须要有定时器,在数据窗口中已经有了一个定时器,双击数据窗口将弹出的对话框,在Timer Interval中定义大于零的值就有定时器(可以精确到毫秒),有了这个定时器就可以实现动画了。比如要改变某字段的背景颜色,可设 ackgound.color=RGB(Integer(Right(string(now(),'hhmmssf'),1))*256/10,In teger(Right(string(now(),'hhmmssf'),1))*256/10,0) 当然,您不仅可以改变背景颜色,而且可以改变字体等等任何属

PB数据窗口使用绝对技巧与方法

原文地址:PB数据窗口绝对技巧作者:千人急 1、如何让存储文件目录的列,显示图片? 答:选择对应的column的display as picture属性为true 2、如何复制grid类型的所选择的行的数据到系统剪切板? 答:string ls_selected ls_selected=dw_1.Object.DataWindow.Selected.Data clipbord(ls_selected) 4、如何设置的DW底色? 在DW的editsource中改变color的值 5、如何将Grid风格改成自由格式? 在DW的editsource中将processing=1的1改为0 6、要新建一个表A但风格和现有表格B风格一样,怎么将A表快速设置成表B 风格? 复制B表C,在C表的DW中的editsource中将表名和字段名改成A表的,即可 7、如何实现gird风格的datawindow的多栏表头? 答:添加 text到header带区,并设置band属性为foreground保存,edit source 修改text的x和width属性表达式如下: x="100~t integer(describe('firstcol.x')" width="100~tinteger(describe('lastcol.x')) - integer(describe('firstcol.x')) +integer(describe('lastcol.width')) 8、如何过滤dddw编辑风格的显示值为指定值的记录? 答: dw_1.setfilter("lookupdisplay('column_name')='"+ls_display_value_your +"'") dw_1.filter() 9、如何设置datawindow的某一列为空?

地质灾害防治动态监测预警系统及其应用

二者互相协调发展的重要措施。应用 Technology Application D I G I T C W 技术 200DIGITCW 2019.07 参考文献 [1] 王冰.关于电子信息工程中的计算机网络技术[J].信息与电脑(理论版), 2019(06):170-171. [2] 薛董敏.分析计算机网络技术在电子信息工程领域中的应用研究[J].电脑编程技巧与维护,2017(23):73-74+79. [3] 孙涛,许凯.计算机网络技术在电子信息工程中的应用[J].当代教育实践与教学研究,2018(04):192. 随着社会经济的发展,人类活动空间日渐复杂,地质灾害事件逐年增加,每年因地质灾害死亡的人数众多,加强对地质灾害的防治尤为关键。针对地质灾害防治的监测预警系统具有动态性,可以根据灾害的不确定性进行预警分析,系统实时接收灾害现场最新数据,并对数据实时分析,再将数据上传到系统内,利用数据驱动技术实现数据的处理分析。 1 地质灾害防治动态监测预警系统的设计 1.1 监测预警系统设计 地质灾害防治监测预警系统的建立需要利用数据驱动技术。以数据库中的数据作为重要有,结合数据小波分析算法,从大量原始数据中获得有效信息,从而实现数据的预报、监控与诊断功能。人们利用监测预警系统可以对地质灾害数据加以研究,并将数据综合处理,建立地质灾害专家知识库,根据系统监测到的实时数据,实现对地质灾害的预警功能。地质灾害的发生具有极强的不确定性,无论是地质灾害发生的位置、灾害发生时间,还是灾害形式,都无法确定,导致人们无法预测灾害带来的后果。因此,本文通过对地质灾害防治动态监测预警系统的设计,结合地质灾害机理、监测方案与相关技术,将监测预警系统应用于地质灾害的防治中。 监测预警系统的用户控制端,一共包含三种功能。第一种功能为数据库,监测预警系统的数据库内有历史基础数据与监测到的地质数据,还有系统对地质情况实时监测到的数据。第二种功能是重大地质灾害隐患点监测预警功能。该部分内容包含预警模型库、初始预警分析以及校正结果,在动态数据驱动技术的应用下,模型驱动了系统进行初始预警分析,并对校正结果加以检验,检验数据的真实性。第三种功能是可视化显示与表达,其中包含对地质灾害的危险分析,系统支持动态展示功能;针对地质灾害 事件的决策会商,为综合判断提供有效依据[1] 。1.2 监测预警系统的实现 动态地质灾害监测预警系统以数据处理分析为主,通过地质灾害预警模型的建立,为监测预警系统的实现提供基础支持。监测预警系统中,信息管理平台是应用服务流引擎与动态数据驱动等技术研发而成的,并在物联网技术指导下完成对监测地质灾害数据的实时传输,利用预警数据库完成了监测预警系统的整体架构。系统共包含实时数据传输、动态数据展示以及系统管理等三 方面。 监测预警系统中实时监测数据集成模块是将各个地质灾害监测仪器上的数据,从数据库同步到监测预警系统监测中心,监测预警系统使用客户端程序完成数据的采集与处理。根据用户配置的时间间隔,监视到不同地质灾害监测仪器的数据变化情况,新增加的数据会通过WebService 传输到服务端,并添加到系统数据库内,将地质灾害监测预警系统当前运行状态记录到系统日之内[2]。 2 地质灾害防治动态监测预警系统的应用 地质灾害监测预警系统内一共包含5个模块,分别为数据配置、实时数据传输、监测数据处理、动态数据展示以及系统管理。系统的总体架构一共包含了基础数据库层、数据中间处理层、通用模块层、专业功能业务层和用户端表现层,某地针对滑坡地质灾害进行监测时,就用到了该系统。该地区西高东低,海报高度超过1600米,地质岩性从上到下依次为:26-40米厚的黄土,结构比较松散,有垂直裂隙现象,部分地段黄土厚度超过40米;粉质黏土,厚度超过3米,低于19米,透水性较弱;砂卵石层六米,透水性较强,该地区每年都会发生滑坡灾害。因此,人们使用监测预警系统进行监测,对滑坡后缘裂缝处设置自动位移计,针对地表变形速率、速度增量情况加以预测,最终得出四个预警等级。其中最高等级的滑坡状态有着高危险性,需要监测预警系统保持密切监测状态,并对可能影响范围内的所有人员进行疏散。 3 结束语 总而言之,随着我国社会经济的快速发展,各类资源不断开发,使我国地势条件变得日渐复杂,地质灾害发生频率日趋频繁。对此,建立地质灾害实时监测预警系统,实时监测地理信息情况,利用通讯系统将监测到的数据传输到监测预警系统数据服务中心,通过系统对数据的估算与分析,实现系统的地质灾害预警功能,从而降低地质灾害发生的频率。参考文献 [1] .地质灾害监测预警系统[J].中国地质灾害与防治学报,2016,27(02):2.[2] 谭明,丁华祥,李成钢.地质灾害GPS 实时监测预警系统关键技术探讨[J].地理信息世界,2014,21(02):103-107. 地质灾害防治动态监测预警系统及其应用 罗晴明 (广州中海达卫星导航技术股份有限公司,广州 511400) 摘要:根据地质灾害的形成原因,针对传统数据管理与实时监测数据处理分析问题,建立基于动态数据驱动技术的地质灾害防治动态监测预警系统。以网络环境为载体的动态监测系统,可以实现地质灾害信息的实时查询与处理,系统可以绘制监测曲线,对地质灾害进行自动预警功能,从而提高地质灾害的有效防治。 关键词:地质灾害;防治动态监测;预警系统doi :10.3969/J.ISSN.1672-7274.2019.07.162中图分类号:TP274;TN967.1 文献标示码:A 文章编码:1672-7274(2019)07-0200-01作者简介: 罗晴明,男,汉族,1988年生,江西省抚州市人,大专,研发方向为室内外定位系统。(接上页)

《大数据在企业管理中的应用》

大数据在企业管理中的应用 课程背景: 大数据时代的到来,正在飞速地改变人们的工作方式、思维模式以及企业的业务形态。近几年里,大数据影响了社会的方方面面,从最先受益的互联网行业到传统的医疗、教育、交通等领域,整个社会都处于“大数据+”的风暴当中。 然而,大部分行业在大数据面前还显得比较迟缓,数据利用基本上处于应付监管的简单查询、报表、多维分析层面,主要是对现有数据的简单加工,很少涉及数据挖掘等深层应用。数据分析意识不强,理念较旧,转型较慢,缺乏高瞻远瞩的定位。在基础数据源管理、平台整合、外部数据拓展、数据分析人才储备与培养等各方面仍存在较大差距,基于大数据对精准营销的支撑和经营决策作用也亟待加强。 大数据是一座待挖掘的“金矿”,它的起源首先要归功于互联网,尤其随着云计算、物联网和人工智能的发展,所有的交易记录、行动轨迹、语音、影像、传感信息等几乎一切均可实现数据化。因此,如何借助大数据为运营管理和业务拓展提供有力支撑,如何有效利用自身已经沉淀的大数据资源,在深入分析挖掘现有客户数据的同时,实现跨行业、跨平台的外部数据资源整合,是当前所有企业管理者需要认真思考的。 课程收益: 1.了解大数据产生的时代背景,正确认知大数据的应用价值; 2.透视大数据的基本规律和特性,掌握大数据思维,提高工作效率; 3.结合自身行业特性,搭建数据管理平台,开展数据分析,发现数据背后的问题和机会; 4.基于大数据应用,优化业务流程,构建精细化、智能化管理体系,提升内部管理效能; 5.整合外部数据资源,进行点对点精准营销,为客户提供个性化服务,持续提升业绩水平。 课程模型:

课程时间:1-2天,6小时/天 课程对象:企业负责人,营销、运营、技术及客服等部门管理者课程方式:讲师讲授+案例剖析+互动交流+现场答疑 课程大纲 前言:拥抱变化——大数据时代的商业形态与管理思维 1.数据资产:传统行业的短板 2.互联网企业的大数据基因 1)什么是大数据基因:客户VS用户 2)跨界打劫——挟用户数据重构市场空间 3)降维打击——瓦解竞争对手的惯性生存条件 3.“跨界融合”的本质:场景转换与用户体验 第一讲:大数据的时代背景和正确认知 一、什么是大数据? 1.上海外滩陈毅广场踩踏事件的反思和启示 2.大数据三要素 1)大——海量,平台级 2)数——信息结构化 3)据——精准、可依赖 3.大数据的六个特征 1)时间 2)空间 3)行为 4)偏好 5)规律 6)预测 案例分享:五常大米,下单即送 4.大数据的类型 1)消费数据——多维度记录 2)机器和传感数据——图文、语音、影像

PB数据窗口绝对技巧

PB数据窗口绝对技巧 1、如何让存储文件目录的列,显示图片? 选择对应的column的display as picture属性为true。 2、如何复制grid类型的所选择的行的数据到系统剪切板? string ls_selected ls_selected=dw_1.Object.DataWindow.Selected.Data clipbord(ls_selected) 3:如何改变GRID数据窗口列位置(新手常见) 先preview,然后在预览窗口拖动位置即可。 4、如何设置DW的底色? 在DW的editsource中改变color的值。 5、如何将Grid风格改成自由格式? 在DW的editsource中将processing=1的1改为0。 6、要新建一个表A但风格和现有表B风格一样,怎么将A表快速设置成表B风格? 复制B表C,在C表的DW中的editsource中将表名和字段名改成A表的,即可。 7、如何实现gird风格的datawindow的多栏表头? 添加text到header带区,并设置band属性为foreground保存,edit source修改tex t的x和width属性表达式如下: x="100~t integer(describe('firstcol.x')" width="100~tinteger(describe('lastcol.x')) - int eger(describe('firstcol.x')) +integer(describe('lastcol.width')) 8、如何过滤dddw编辑风格的显示值为指定值的记录? dw_1.setfilter("lookupdisplay('column_name')='"+ls_display_value_your+"'") dw_1.filter() 9、如何设置datawindow的某一列为空? string ls_temp[] setnull(ls_temp) dw_1.object.columnname.primary.current=ls_temp 10、如何设置datawindow的单双行不同颜色间隔? 在detail带区的color属性表达式中写上if(mod (getrow(),2)=1 ,rgb(255,0,0),rgb(0,25 5,0)),如果是当前行以第三种颜色表示,表达式如下:if(getrow()=current(), rgb(255,0,0),if(m od(getrow(),2)=1 ,rgb(0,0,255),rgb(0,255,0))) 11、如何获取指定名称的datawindowobject? DWObject ldwo_use,ldwo_abc ldwo_use = dw_1.Object ldwo_abc = ldwo_use._ _get_attribute("t_1",FALSE)//t_1为datawindow中text对象的名称 12、如何缩放datawindow的打印大小?

工业大数据在工业企业中的典型应用介绍

工业大数据在工业企业中的典型应用介绍 工业大数据可广泛应用于企业整个生产过程。下面按照企业生产过程的研发设计、供应链、生产制造、营销与服务环节,对工业大数据的应用场景及其应用进行探讨。 4.1 研发设计环节工业大数据的应用场景 在研发设计环节,工业大数据应用主要有产品协同设计、设计仿真、工艺流程优化等。 产品协同设计,主要是利用大数据存储、分析、处理等技术处理产品数据,建立企业级产品数据库,以便不同地域可以访问相同的设计数据,从而实现多站点协同、满足工程组织的设计协同要求。 设计仿真,是指将大数据技术与产品仿真排程相结合,提供更好的设计工具,减少产品交付周期。如波音公司通过大数据技术优化设计模型,将机翼的风洞实验次数从2005年11次缩减至2014年的1次;玛莎拉蒂通过数字化工具加速产品设计,开发效率提高30%。 工艺流程优化,主要是应用大数据分析功能,深入了解历史工艺流程数据,找出工艺步骤和投入之间的模式和关系,对过去彼此孤立的各类数据进行汇总和分析,评估和改进当前操作工艺流程。例如一家排名前五强的生物药品制造商广泛收集与工艺步骤和使用材料相关的数据,应用大数据分析技术,来确定不同工艺参数之间的相关性,以及参数对产量的影响,最终确定影响最大的9种参数,针对与这9种参数相关的工艺流程做出调整,从而把疫苗产量增加了50%以上。 4.2 供应链环节工业大数据的应用场景

供应链环节工业大数据的应用主要体现在供应链优化,即通过全产业链的信息整合,使整个生产系统达到协同优化,让生产系统更加动态灵活,进一步提高生产效率和降低生产成本。主要应用有供应链配送体系优化和用户需求快速响应。 供应链配送体系优化,主要是通过RFID等产品电子标识技术、物联网技术以及移动互联网技术获得供应商、库存、物流、生产、销售等完整产品供应链的大数据,利用这些数据进行分析,确定采购物料数量、运送时间等,实现供应链优化。如海尔公司供应链体系很完善,它以市场链为纽带,以订单信息流为中心,带动物流和资金流的运动,整合全球供应链资源和全球用户资源。在海尔供应链的各个环节,客户数据、企业内部数据、供应商数据被汇总到供应链体系中,通过供应链上的大数据采集和分析,海尔公司能够持续进行供应链改进和优化,保证了海尔对客户的敏捷响应。 用户需求快速响应。即利用先进数据分析和预测工具,对实时需求预测与分析,增强商业运营及用户体验。例如,电子商务企业京东商城,通过大数据提前分析和预测各地商品需求量,从而提高配送和仓储的效能,保证了次日货到的客户体验。 4.3 生产制造环节工业大数据的应用场景 在制造环节,工业大数据的应用主要有智能生产、生产流程优化、设备预测维护、生产计划与排程、能源消耗管控和个性化定制等应用。智能生产。就是生产线、生产设备都将配备传感器,抓取数据,然后经过无线通信连接互联网,传输数据,对生产本身进行实时监控。

动态数据采集和管理

一、动态资源采集 信息采集是通过采集框架程序(DQF)获取。通过对专业网管的北向接口调用,实现配置采集、告警采集。采集框架部署在安全生产二区的采集服务器,如下图所示: 采集服务器 配置数据自动入数据库,告警数据入内存库,最后到通信管理系统客户端呈现。 采集框架数据流如下图所示: 采集框架程序目前提供两种采集信息方式,具体如下: 1、Dedug模式:测试北向接口,在二三区网络环境不具备的情况下,采集配置和告 警。报文存放在管理机的目录下。 2、DQF模式:在同一台采集服务器启动代理机、管理机,和三区通信管理系统联合 实现报文的采集、传送、接收、配置同步、客户端呈现。报文存放在代理机

节点目录下。 01)按顺序用runQagent.bat启动代理机,用runQmgr.bat启动管理机(系统控制台)。 02)在系统控制台中,点击“采集服务器维护”按钮。 03)新建采集节点。 04)打开节点管理界面。 05)启动采集节点。

06)采集到的报文。 二、告警操作 1.操作台界面介绍 告警操作台实现了对告警的查看、搜索、同步、锁定等管理操作。

选中一条告警,右键菜单如下 右键功能菜单的含义如下: 1)辅助分析:详细介绍该条告警的信息; :实时告警定位端口到网元; :将告警转化运行管理,如下图所示: :将告警类型重新定义 :根据配置规则将此网元不显示在操作台 2)短信通知:通过短信平台发布通知,告知制定的人员处理告警; 3)定位设备:实现告警定位到网元; 4)转运行记录:告警转运行的历史记录;

5)添加备注:对该条告警添加说明; 6)确认:确认选中的当前告警 2.操作台界面配置 选择改变告警操作台大小,以全屏为例,页面显示告警的详细信息,如下图所示: ●选择过滤显示不同类型的告警信息; ●选择过滤显示不同类型的告警信息; ●点查询按钮,弹出查询的条件框,如下。设置好自定义的条件后,点击‘搜 索’就可以查看结果。 ●点击,导出当前的告警信息列表。标题需要自定义。如下 ●点击同步按钮,启动当前告警的信息刷新

数据驱动建模和控制系统设计案例研究

数据驱动建模和控制系统设计案例研究 Motor Control Case Study in Data-Driven Modeling and Control Design 迈斯沃克软件公司 作者:PravallikaVinnakota 摘要:本文以简单的直流电机控制系统为例,介绍如何从输入输出数据辨识对象模型,使用辨识的模型来设计控制器并予以实 施。工作流程包括以下步骤:采集数据,辨识线性和非线性对象模型,设计和仿真反馈控制器以及在嵌入式微处理器上实施这些控制器以便实时测试。在物理原型或对象硬件上调节控制器可能造成不安全运行状态甚至损坏硬件。一种更可靠的方法是构建一个对象模型并进行仿真,在不同的运行条件下验证控制器,以便无风险地运行假设情景。当机理建模不可行时,备选方法是通过对象的输入输出数据来开发模型。一个低阶的线性模型可能足以用来设计基本控制器。但较高性能的控制器的详细分析和设计需要一个具有较高精度的模型,且可能是非线性模型。 直流电机:控制设计目标 物理系统是通过电机驱动连接到Arduino Uno 板卡上的一台直流电机(图 1)。我们想为这台电机设计一个用于跟踪参考位置的反馈控制器。该控制器将基于电机位置参考数据生成合适的电压命令。此电压作用于电机时,会促使电机产生扭转电机轴的扭矩。我们将使用电位计测量电机轴旋转的角度,然后将此角度反馈给控制器。 电机驱动集成电路 (IC) 增加了驱动电流并能够双向驱动电机。我们通过Arduino 板卡上的“模拟输入”引脚接收电机位置数据,然后计算参考位置与实际位置(控制器输入)之间的误差。我们将一个电压命令(控制器输出)发送到板卡上的两个“模拟输出”引脚,为 PWM 信号。这些信号连接到驱动电路,为电机提供适当的驱动电流。 控制器必须保持系统稳定,并以最小的稳态误差和超调量提供快速参考跟踪。 图 1. 连接直流电机的Arduino 板卡

项目系统动态数据准备方案

___________项目系统动态数据准 备方案 客户项目经理: 日期: 用友项目经理: 日期: 概要 系统上线前期,需要进行静态数据和动态数据的导入。静态数据和动态数据的导入,需要提前按照一定的规则来整理数据。整理完毕的数据,将按照上线时的导入计划估算录入(或装载)的工作量,按照约定的时间进度导入产品系统。 静态数据的准备方式,见《静态数据准备方案》。 动态数据,是一种始终处于变动中的数据。例如客户的各种单据,库存数据,财务数据等等。 所以动态数据的准备,必须集中时间,按照一定的格式,快速整理完毕,快速导入系统,才可能不会影响系统的正常上线。 一般动态数据的整理,在会计期末进行。动态数据的导入,在期初进行。 例如: 客户公司在6月10日进行库存盘点准备,20日组织人员进行一次库存盘点,27日前完成库存动态数据准备工作,28日到30日进行库存数据的录入。则库存数据为截至到27日的库存数据。 在盘点结束,恢复正常生产后,各相关部门人员应做好生产、采购、销售订单及库存变化单据的保存、记录,在6月底(用调整单开帐)或7月期初(用开帐程序开帐)库存数据录入后,开始补录入这批单据(必要时加班进行),在系统切换后2天内务必完成。 二、前期工作的准备

1、库存动态数据的准备 库存动态数据,应该按照现有库存帐的实时数据进行整理归类。建议在库存数据导入系统之前,对库存数据进行盘点,得到真实的库存数据,并导入系统。否则,库存数据不准确,整个系统的资料信息将毫无意义。 下表为库存动态资料准备表单,客户公司需拟定更详细的库存盘点计划,保证按期完成盘点及动态数据准备工作。 库存期初余额 仓库代号期初时间年月

PB]-子数据窗口操作

PB]-子数据窗口操作 PB]-子数据窗口 **通常的子数据窗口也就是下拉数据窗口。子数据窗口也是普通的数据窗口对象,没有什么特殊的地方,它的创建方法、可以使用的控件、编程时可以使用的函数等,都和普通的数据窗口相同。特殊的地方只是因为它放在了父数据窗口中,需要和父窗口进行配合。 **当为数据窗口中某字段指定为下拉数据窗口编辑风格时,必须提供以下三个属性: a)子数据窗口名称。 b)显示字段名称:该字段中的内容显示在父数据窗口的字段上,只是显示。 c)数据字段名称:该字段中的内容要赋给父数据窗口的字段,要保存到数据库中。 分别对应数据窗口画板的Edit属性页中的:Eidt Style、Display Column、Data Column。 *子数据窗口不能再包含子数据窗口;父数据窗口可以对其包含的子数据窗口进行插入、删除、检索和保存等操作。 **获取子数据窗口的引用是进行其他操作的前提,使用函数GetChild来获取指定字段的子数据窗口。该函数的语法如下: dw_1.GetChild(name,dwchildvariable) 其中,dw_1.是数据窗口控件名称;name为字段名称,为string类型;dwchildvariable为datawindowchild 类型变量,该变量在函数正确执行后保存对子数据窗口的引用。该函数正确执行则返回1,否则返回-1。在获取了子数据窗口的引用之后,就可以捡索子数据窗口中的数据了。但是,检索子数据窗口的情况比较多,并且也有多种方法。 **保证子数据窗口中的数据更新 用户使用下拉数据窗口录入数据时,其中的数据并不一定有用户需要的。在某些情况下不允许用户再输入其他值,否则可能造成数据的不一致性,这时就可以不再编写其他的脚本。但在允许用户录入时,就需要把用户录入的数据保存在子数据窗口对应的数据表中,以便以后数据录入时不再重复输入该数据。这时就应该编写脚本保存该数据了。 **检索子数据窗口 在应用中,对子数据窗口的编程不是检索数据,就是更新其中的数据。检索数据时,如果只显示子数据窗口中同父数据窗口中某字段取值对应的数据,这时子数据窗口的定义就应该有检索参数。根据检索和更新数据这两个因素,可以将检索数据的情况划分成以下三种: a)没有条件限制,并且不允许更新。 b)没有条件限制,并且允许更新。 c)有条件限制,不管是否可以更新。

关于大数据分析在企业管理中的应用探讨

关于大数据分析在企业管理中的应用探讨 【摘要】随着国家经济的迅猛发展,大数据互联网技术也伴随经济改革的大潮,得到了快速发展,人们的日常生活充斥着无数的信息数据,因此大数据分析技术也应运而生。在云计算技术强大运算能力的支持下,迅速扩大了大数据的使用范围。本文通过分析传统企业管理存在的问题,引出大数据在企业管理中的应用策略,并阐述了其产生的积极效果。 【关键词】大数据分析;企业管理;应用策略 在企业管理过程中,如何选定合理有效的战略方案,需要通过大数据技术进行系统的分析。比如分析企业周围的环境,协助企业做出正确的战略判断,对企业的信息有一个准确系统全面的把控,合理的规范指导企业行为,并最终最大限度的实现企业利益。大数据能够准确分析市场需求以及管理环节出现的问题,并构建相应的模型,为企业做出正确决策提供科学的依据。 一、运用传统办法管理企业存在的问题 1.容易产生错误的企业决策 管理者一般对传统的企业决策有着非常大的影响,对企业的决策往往是依靠自身敏锐的直觉、丰富的管理经验以及精准的判断力。以往,决策者往往能依靠自身的经验做出争

取的决策,促进企业的发展。但是现如今随着现代化进程的深入发展,产生了大量的没有规律且非常复杂的数据,人力难以进行准确全面的分析,此时如果依旧沿用传统的决策方式,势必会产生决策上的失误。 2.缺乏对市场需求变化的把控,导致其产品缺乏竞争力 企业在产品生产过程中制定的战略决策,主要是依据市场的发展形势以及客户的需求变化。传统企业主要是依靠诸如问卷分析、市场调查资料以及用户的体验来分析供求关系。但随着经济的快速发展,人们的需求时刻再发生着不同变化,这些传统搜集情报的方式已经无法适应当代企业发展的需要,而且搜集的内容难免会显得片面。并且伴随全球化进程加快的影响,外国企业生产的产品大量充斥到国内市场上,加剧了市场竞争。鉴于此,企业传统的分析方法已经无法跟上时代发展的步伐了。 二、如何在企业管理中发挥大数据的有效作用 1.战略决策管理与数据挖掘 知识的发展过程主要依循数据的选择清理,数据仓库的预先处理以及对模型的选择,而大数据在管理决策上的应用,就是将获取的信息通过假设检验的方法转化为知识方案的 过程。在数据挖掘技术领域,能够发现很多对企业决策有帮助的数学模型,可以将这些数学模型存储到信息库当中,在进行问题讨论以及做出企业计划或决策的时候,可以非常方

PB源码大全

getfirstletter.zip 5K 取汉字拼音的首字母 ctrl_alt_del.zip 5K 关掉ctrl_alt_del热键 multithread.zip 8K 多线程实现的例程 wallpaper.zip 10K 显示图片的例程 w_test.srw 4K 如何使用COM对象:WORD EXCEL errortrap.zip 19K 错误陷阱模块,错误信息可以是中文的了 taskbar5.zip 10K 把PB程序加入到系统任务栏(WIN95/97/98系统) exfuns.zip 23K 常用的外部动态链接库函数 alltext45.zip 3419K 现RichText,功能更强大,中文不会出现问题。(但不能象PB自带的RichText可以和DataWindow紧密结合) closeapp.zip 5K 关闭程序 context.zip 14K 实现Win95风格的上下文帮助,原来只有VB才有此功能,请看PB如何实现,帅呆了! multi.zip 41K sybase提供一个关于在在PB中实现多线程的例子。使用SharedObjectRegister,SharedObjectGet函数实现。 mdigraph_v2.zip 97K 允许在MDI主窗口显示图形,加强程序视觉效果。解决了当其它应用覆盖MDI窗口会出现图片被盖住的部分不能刷新。例如切换输入法就会出现上述问题。numerical.zip 14K 一个用户对象用于实现十进制,二进制,十六进制之间的互相转换,已经写了一个简单的例程.调用很方便.使用PFC的用户只需简单的将n_cst_numerical替换为本程序中的对象即可. pbfix.zip 17383K PB 6.5.1中对以前PB版本进行修正过的错误列表。 pfc.txt 34K PFC入门的中文介绍,PFC是PowerBuilder开发组为PB开发的框架包,结构严谨,功能强大,为PB专业开发人员的首选。需要深入全面学习还需仔细阅读Online Book。虽然是英文的,但是目前介绍最全面的书籍。另外《PowerBuilder 6.0程序设计大全》也有一章是中文入门介绍。 wangsamp.zip 8K 一个使用Windows自带的扫描仪控件的例子,用VB编写的,可以用到PB 中.是微软自Windows97开始附加的一个kodak提供的ImagingControls.并且还带有在线帮助.在windows 97中有它的1.0版本,windows 98是2.1版本.并且在Win97中带有VB制作的例子,只要安装Win97就有,它的存放路径是windows\wangsamp(使用win97朋友不用下载了).此控件有四组功能,分别为:(控件的详细使用方法可以看 windows\help\wangocxd.hlp) kodak 图像编辑控件(ImgEdit.ocx)kodak 图像管理控件(ImgAdmin.ocx)kodak 图像扫描控件(ImgScan.ocx)kodak 图像缩略图控件(ImgThumb.ocx). account.zip 2296K 一个财务系统源代码 pb65ckb2.zip 2004K pb65汉化核心模块 PB701Maint.zip 19144K pb7.1patch pb6v11.zip 73K 例程 query.zip 11K 有一些朋友提出对于记录个数很多的表进行查询的问题,得到的大多数解答是限制返回的结果集大小,例如SQL Server 7.0中可以通过Select Top N..... (N表示返回的记录数),而周游第二天就写了一个例程来说明查询大结果集的问题。采用的方法是使用ID字段,定义游标,能过循环读取并放入到Datawindow中,大家可以下载看看,(注意下载后不要直接运行,要改动Application Open事件中的代码,以便联接到自己所用的数据库)。此例程还可以进一步改进,因为通过游标读取效率不高,需要多次与后台数据库通讯。可以改用Datawindow使用Retrieve来实现,在Where条件中可以加上对于ID的辨断。这两种方法可以反复试验,希望能对大家有所帮助。 fxgold.zip 4197K 是实现多媒体功能的控件,是罕有能兼容PB的多媒体设计控件,带有几十个VB例子.可以改为在PB使用. taskbar.zip 10K 增加了一个PB程序驻留在System Tray区的例子(Win95/98右下角),已经封装成了用户对象,随意挂接,超级好用。(编译成exe后将显示正确图标) pb5zlib.zip 74K 一个简单的压缩/解压缩程序,附有PB例子,可以应付一般的用途。ChgPrn.zip 3K 使用注册表和win.ini文件动态改变当前默认打印机,调用方便,调用完成后自动恢复系统默认打印机,你可以使用此对象在程序中控制,当前打印输出到本地打印机或网络打印机,如果需要更多功能应该使用PowerPrint DLL。 trigger.txt 2K 关于触发器的使用

相关文档