BSHRP产品培训公共函数、控件2004-05-09Gf_Begin_Transaction()功能:开始一个事务,设置sqlca.AutoCommit=False参数:1.ao_Environment(Ref)事务对象Gf_Commit_Transaction()功能:提交事务,并设置sqlca.AutoCommit=True参数:1.ao_Environment(Ref)事务对象Gf_Rollback_Transaction()功能:回滚事务,并设置sqlca.AutoCommit=True参数:1.ao_Environment(Ref)事务对象注意:一个完整的事务必须包含这三个函数,这三个函数请写在同一函数或事件中。公共函数Gf_Center_Window()功能:窗口相对于屏幕居中参数:1.aw_Win窗口对象Gf_CenterWin_Inwin()功能:窗口相对与MDI居中参数:1.aw_base基准MDIFrame窗体2.aw_target目标窗口Gf_LayerWin()功能:在Mdi主窗口中平铺非工作表(非OpenSheet)窗口(即将打开的窗口填满Mdi工作区)参数:1.aw_MidWinMdi主窗口2.aw_LayerWin待平铺窗口3.ai_StateBarHeightMdi主窗口状态条高度Gf_GetMdiWin()功能:根据当前窗口获取系统Mdi主窗口参数:1.aw_MidWin(Ref)Mdi主窗口2.aw_CurWin当前窗口gf_Waiting()功能:显示进度窗口函数参数:1.An_Percent为显示进度,2.As_InfoText为显示文本。备注:an_Percent100或0时窗口关闭Gf_Delay()功能:延时函数参数:1.ac_DelaySecs需延时的秒数(可为小数)gf_GetPara()功能:获取系统参数参数:1.ai_xtsb系统识别2.as_csmc参数名称3.as_default默认值4.as_bz备注备注:如果参数不存在则自动在GY_XTCS参数中插入一条记录gf_SetPara()功能:设置系统参数参数:1.ao_environment事务对象2.an_systemid系统识别3.as_paraname参数名称4.as_value参数值5.as_comment备注,说明参数的用途gf_GetMax()功能:取最大值参数:1.ao_environment事务对象2.as_tablename表名3.an_needcount最大值个数备注:该函数中包含事务处理,所以在程序中调用该函数时需要注意一定要在事务开始前调用该函数,不能放在事务处理过程中调用,否则当数据更新失败时会导致数据不完整。gf_InsertFYMX()功能:写ZY_FYMX表参数:1.astr_fymx费用明细结构体备注:该函数中没有事务提交函数。gf_Delete()功能:删除数据表中符合条件的记录参数:1.as_TableName表名2.as_WhereClause数据删除条件备注:该函数中没有事务提交函数,当Wher条件为空字符串时表示删除所有数据。gf_Clear()功能:删除表中所有数据参数:as_TableName备注:该函数通过调用gf_Delete(表名,’’)gf_Convert_Date_To_Chinese()功能:该函数将日期转换成中文名称参数:1.ad_currentdate需要转换的日期2.ai_returntype返回类型:0.星期1.年2.年月3.年月日4.年月日星期gf_ConvertChinese()Gf_dxzh()功能:将金额转换为人民币大写参数:1.an_number金额Gf_SetPrinter()功能:切换WINDOWS默认的打印机,支持多台打印机,用于多票据、单据的打印参数:as_printer打印机名称gf_FillLeft()功能:在字符串左边补足指定字符到指定长度参数:1.as_input输入的字符串2.as_fillchar需要填补的字符3.ai_len填补后字符串总长度gf_FillRight()功能:在字符串右边补足指定字符到指定长度参数:1.as_input输入的字符串2.as_fillchar需要填补的字符3.ai_len填补后字符串总长度gf_Replace()功能:字符串替换参数:1.Stringas_curstr需要进行处理的字符串2.Stringas_oldstr原字符串3.Stringas_newstr新字符串gf_ModifySQLSelect()功能:修改SQL语句,即将附加检索条件加到原SQL中参数:1.as_SQLSelect原SQL语句2.as_WhereClauseWHERE条件备注:该函数主要用于动态修改数据窗口的SQL语句,数据窗口的检索条件需要动态变化时可通过该函数来转换SQL,使用方法如下:Stringls_WhereStringls_OriSQLStringls_NewSQLls_Where=ls_OriSQL=dw_1.GetSQLSelect()ls_NewSQL=gf_ModifySQLSelect(ls_OriSQL,ls_Where)dw_1.SetSQLSelect(ls_NewSQL)dw_1.Retrieve()gf_DTInSQL()功能:将日期时间转化为字符串以适应不同数据库平台参数:1.adt_curdt需要转换的日期备注:当我们要动态修改SQL并且该SQL中包含日期条件,由于SQLServer、Sybase、Oracle、ODBC对日期的表达式是不一样的,为了适应不同的数据库平台使用该函数进行转换。该函数在返回时已包含引号,所以在调用完后不需要在前后再加引号不同数据库的日期格式:SQL、SYB:’2004-01-0100:00:00’ORA:to_date(‘2004-01-0100:00:00','yyyy-mm-ddhh24:mi:ss')ODBC:{ts'2004-01-0100:00:00'}gf_SortForMultiGroups()功能:将数据窗口按当前顺序分两组或三组排序(一般适用N_Up型数据窗口)参数:1.adw_SortDW排序数据窗口2.ai_SortGroups排序组数3.as_SortColumnName排序列名称备注:排序列需要在设计数据窗口时定义一数值列,该函数需要使用该列作为临时排序列gf_SplitParm()功能:将以','作为分隔符的string型参数串as_parmstring分解成独立参数并放入变长数组参数:1.as_parmstring:以','作分隔符的多参数组成的字符串(要求原始的string型独立参数内不得含有','字符2.as_parm[]:存放分解后的独立参数Vu_FindEdit:数据窗口查找控件BooleanInitialize(DataWindowao_Source,Stringas_EventName)初始化函数。Ao_Source为查找的数据窗口;is_EventName为用户选中某一行后按Enter键触发的事件名(无参数),如无须触发事件,可传递“”。BooleanSetFindColumn(Stringas_ColumnName,Integeran_ColumnType)设查找列函数。As_ColumnName为查找列名,an_ColumnType为该列的类型(当前支持0-字符;1-数值)。CursorFollow(Booleanab_CursorFollow)设查找模式函数。ab_CursorFollow=True,为光标跟随模式;否则为Enter键触发模式。默认为Enter键触发模式。GetFocus事件:清一次处理标志。EditChange事件:清一次处理标志。KeyEvent事件:查找匹配行,触发注册事件。公共控件Vu_Progress:进度条用户对象Initialize(Integerai_Width,Integerai_Height,Integerai_Space)初始化函数。Ai_Width为进度条宽度,ai_Height为进度条高度,ai_Space为进度块间隔宽度。对非间隔块的进度条,可不调用此函数。Ai_Space的通常选值为0-非间隔块;5,9-间隔块宽度。SetProgress(Integerai_Value)设置进度函数。Ai_Value为进度值(0-100)。Vu_DataListBox:可编辑查找下拉列表框控件IntegerAddItem(Stringas_Code,Stringas_Display,Stringas_PYDM)加入元素函数。As_Code为代码值,as_Display为显示值,as_PYDM为拼音代码。返回此加入元素的索引号。IntegerGetSelected(RefStringas_Code,RefStringas_PYDM)取当前选中元素的信息函数。As_Code为代码值,as_PYDM为拼音代码。返回当前选中元素的索引号。StringGetCode()取当前选中元素的代码值。Vu_SplitterBar:分隔条静态文本控件BooleanInitialize(Windowao_Window,Booleanab_Custom,Booleanab_Horizontal)初始化函数。Ao_Window为窗口对象,Ab_Custom为是否定制分隔条外观,Ab_Horizontal为True,水平分隔;False为垂直分隔。初始化成功返回True,否则False。BooleanAddObject(DragObjectao_Object,Stringas_Position)加入分隔条管理的对象函数。Ao_Object为对象引用,As_Position为对象位置说明:“L”-左边对象;“R”-右边对象;“T”-上边对象;“B”-下边对象。加入成功返回True,否则False。Vu_DateSelect:日期选择编辑掩码控件(YYYY.MM.DD格式)SetDate(Datead_Date)设置日期函数。DateGetDate()取日期函数。DatetimeGetDatetime(Integeran_TimeMode)取日期时间函数。An_TimeMode=1,取”00:00:00”;An_TimeMode=2,取”23:59:59”。Vu_DateSelect2:日期选择编辑掩码控件(YYYY.MM格式)SetDate(Datead_Date)设置日期函数。SetDatetime(Datetimead_Datetime)设置日期函数。DatetimeGetDatetime(Integeran_TimeMode)取日期时间函数。An_TimeMode=1,取”00:00:00”;An_TimeMode=2,取”23:59:59”。DateGetDate()取日期函数。Vu_LogicLevelTreeView:逻辑层次关系树视图控件BooleanCreateTree(DataStoreao_DataStore,Stringas_NameColumn,Stringas_CodeColumn,Stringas_ParentColumn,Stringas_RootName)生成树视图节点元素函数。Ao_DataStore为包含数据的DataStore引用,as_NameColumn为名称列,as_CodeColumn为代码列,as_ParentColumn为上级列,as_RootName为树根名称。创建成功返回True,失败False。LongGetChild(Longan_CurCode,Booleanab_LeafOnly,RefLongan_ChildArray[])取给定代码的所有子孙代码函数。An_CurCode为给定代码,ab_LeafOnly为是否只要叶子节点,an_ChildArray为引用返回的子孙代码数组