美文网首页
随手笔记

随手笔记

作者: 残风暗月 | 来源:发表于2017-05-17 12:56 被阅读0次

    弹出提示窗口时,点击了'取消'按钮      if MessageBox("提示","是否修改船期日期?",question!,yesno!) = 2 then return

    datawindow中设置可以输入      d_row=dw_1.insertrow(0)     dw_1.scrolltorow(d_row)

    船期确认中'保存'事件

    if idw_1.update() = 1 then 

    if g_co_no = '002' then

    string ls_sql

    ls_sql = "sp_invoice_update_unite '" + ls_inv_no + "'"

    execute immediate :ls_sql;

    if sqlca.sqlcode <> 0 then

    rollback;

    messagebox("提示", "更新分票错误!")

    return

    end if

    end if

    commit using sqlca;

    if uf_sd001_send_to_sap(ls_inv_no,4) = 0 then

    messagebox("提示","修改成功!")

    end if

    closewithreturn(parent ,'1')

    else

    ls_sqlerrtext = sqlca.sqlerrtext

    rollback using sqlca;

    messagebox("提示","保存失败:"+ls_sqlerrtext)

    end if

    PB中的缓冲区    例如  dw_1.SetItemStatus(d_row, 0,  Primary!, NotModified!)

    UpperBound (Obtains the upper bound of a dimension of an array.)

    pos (Finds one string within another string.)返回的是一个long类型,  Pos(string1,string2{,start} )  返回string1中从start开始查询的包含string2的位置,位置是从start开始查的,但是是实际的位置数.例如:ll_num = pos("abdcdefga","a",5) ll_num得到的是9

    mid (Obtains a specified number of characters from a specified position in a string)返回的是一个string类型.  Mid(string,start{,length} ),返回从star开始至字符串最后一个

    len(string) 获取一个字符串的长度,返回的是一个long类型(在PB9.0中的汉字长度为2 len('你') = 2 但是 在PB12.0中汉字长度为1 len('你') = 1)

    Left(string,n)返回的是一个string类型字符串,是从第一个字符开始返回n个字符

    Right(string,n)返回的是一个string类型字符串,是从最后一个字符开始往前计算返回n个字符

    Mod(x,y)得到x/y的余数

    Round(x,n)把x置为含有n个小数位的decimal数值,例如:Round(9.624, 2)  返回的是9.62

    IsNumber(string)返回一个Boolean类型数据,如果string是一个数值的,则是true,否则是false

    致富文本框为空

    string ls_null

    setnull(ls_null)

    mle_1.text=ls_null

    致datawindow为空 dw_1.retrieve("Nothing")

    实例一个UpDate()函数:

    rc = dw_1.update()

    if rc > 0 then

    commit using sqlca;

    if sqlca.sqlcode<0 then

    messagebox("数据库出错","错误号="+string(sqlca.sqldbcode) + "原因为:" + sqlca.sqlerrtext)

    halt close

    end if

    else

    rollback using sqlca;

    if sqlca.SQLCode < 0 then

    messagebox("数据库出错","错误号=" + string(sqlca.SQLdbcode) + "原因为:" + sqlca.sqlerrtext)

    halt close

    end if

    end if

    continue的用法

    integer A=0, B=0, Count

    FOR Count = 1 to 100

    A = A + 1

    IF Count > 15 THEN CONTINUE

    B = B + 1

    NEXT

    // Upon completion, a=100 and b=15.

    DaysAfter(date1,date2)函数的用法:

    This statement returns 4:

    DaysAfter(2002-12-20, 2002-12-24)

    This statement returns -4:

    DaysAfter(2002-12-24, 2002-12-20)

    This statement returns 0:

    DaysAfter(2003-12-24, 2003-12-24)

    This statement returns 5:

    DaysAfter(2003-12-29, 2004-01-03)

    Move(x,y)函数的使用方法:

    objectname.Move(x,y) 相对于父类,把位置移动到了(x,y)处 .  例如:gb_box1.Move(150,200)

    拼接paint_no的最小值,'_'和最大值的第五个字母之后的数据作为查询路径

    string ls_path

    choose case dwo.name

    case 'b_open'

    if DaysAfter(2017-05-17,date(getitemdatetime(getrow(),'pac_date')))<0 or isnull(getitemdatetime(getrow(),'pac_date')) then

    ls_path = "\\s20\Bestway\Packaging(包装)\Final Packaging Assets(最终印刷品资料)\JPG\Customization(客专JPG)\不干胶\"+getitemstring(getrow(), 'guidang_no')

    else

    if dw_2.rowcount() = 1 then

    ls_path = "\\S20\bz\生产交接资料\不干胶和贴签\"+getitemstring(getrow(), 'paint_no')

    end if

    if dw_2.rowcount()>1 then

    ls_path = "\\S20\bz\生产交接资料\不干胶和贴签\"+getitemstring(getrow(),'compute_min')+'_'+mid(getitemstring(getrow(),'compute_max'),5)

    end if

    end if

    // ls_path = "\\s20\Bestway\Packaging(包装)\Final Packaging Assets(最终印刷品资料)\JPG\Customization(客专JPG)\不干胶\"+getitemstring(getrow(), 'guidang_no')

    // ls_path = "\\s20\BZ\客户包装JPG\不干胶\"+getitemstring(getrow(), 'guidang_no')

    //      ls_path = "\\s20\BZ\不干胶汇总(Stickers Collection)\" + mid(getitemstring(getrow(), 'guidang_no'), 7,4) + "年不干胶\" +getitemstring(getrow(), 'guidang_no')

    if fileexists(ls_path) = false then

    messagebox("提示", "文件夹[" + getitemstring(getrow(), 'guidang_no') + "]不存在")

    return

    else

    run("explorer " + ls_path + "\")

    end if

    end choose

    isvalid的使用方法:

    if not isvalid(message.powerobjectparm) then

    messagebox("提示", "无效对象调用!")

    close(this)

    return

    typeof的使用方法:(多使用于控件类型之中)

    if typeof(message.powerobjectparm) <> DataWindow! then

    messagebox("提示", "调用的对象不是DataWindow!")

    close(this)

    return

    end if

    end if

    classname的使用方法: (多使用于变量之中)

    string stringval

    double dblval

    date dateval

    any anyval

    anyval = myoleobject.application.cells[1,1].value

    CHOOSE CASE ClassName(anyval)

    CASE "string"

    stringval = anyval

    CASE "double"

    dblval = anyval

    CASE "datetime"

    dateval = Date(anyval)

    END CHOOSE

    getactivesheet()的使用方法

    mdiframewindow.GetActiveSheet( ) 返回的是一个MDI!类型的窗口.

    Move的使用方法:(移动其坐标位置)

    This statement changes the X and Y properties ofgb_box1to 150 and 200, respectively, and movesgb_box1to the new location:

    gb_box1.Move(150, 200)

    This statement moves the picturep_Train2next to the picturep_Train1:

    P_Train2.Move(P_Train1.X + P_Train1.Width, &

    P_Train1.Y)

    //ldt_sap_check_date = today()//此时间为电脑上的时间

    //invoice1.sap_check_date = getdate()//此时间为系统上的时间

    exit退出循环

    return退出程序

    setpointer的使用方法

    int i

    pointer oldpointer

    if dw_1.rowcount() <= 0 then return

    oldpointer = SetPointer(HourGlass!)

    if this.checked then

    for i = 1 to dw_1.rowcount()

    dw_1.setitem(i,'ck','1')

    next

    else

    for i = 1 to dw_1.rowcount()

    dw_1.setitem(i,'ck','0')

    next

    end if

    setpointer(oldpointer)

    //以下代码把焦点定位到第5行第3个字段:

    dw_1.setfocus()//焦点切换到数据库窗口

    dw_1.setrow(5)//切换当前行为第5行

    dw_1.selectrow(0,false)//取消高亮显示

    dw_1.selectrow(5,true)//高亮显示第5行

    dw_1.setcolumn(3)//焦点移动到第3个字段

    move(x,y)此函数修改的是控件的x,y坐标

    resize(width,height)此函数修改的是控件的宽与高

                                                      match函数


    SQL中的创建触发器--触发器例子

    int value

    value = GetFileSaveName("选择文件存放位置", "c:\", w_reg_main.inv_no+".XLS", "XLS", "Excel文件 (*.XLS),*.XLS")

    if value<>1 then

       return 0

    end if

    lds_detail.saveas(ls_path, excel!, true)

    模板导出

    string ls_path, ls_file

    int li_rc

    ls_path = '快递导入模板'

    li_rc = GetFileSaveName ( "Select File", ls_path, ls_file, "XLS", "Excel (*.xls),*.xls" , "C:\", 32770)

    IF li_rc <> 1 Then return

    integer li_FileNum

    li_FileNum = FileCopy ("\\s03\共享文件\W.信息中心\个人文件夹\王灼安\BW_Express9快递\Bmp\快递导入模板.XLS" , ls_path, false)

    if li_FileNum = -1 then

    messagebox("提示", "复制文件错误!")

    return

    end if

    Find

    ls_key_id = dw_5.getitemstring(getrow(), 'key_id')

    ll_row = dw_3.find("key_id='"+ls_key_id+"'", 1, dw_3.rowcount())

    富文本框中去掉回车~n

    string ls_mle_1, ls_string_before

    integer li_pos

    ls_mle_1 = trim(mle_1.text)

    li_pos = pos(ls_mle_1, '~n')

    do while li_pos > 0

    ls_string_before = mid(ls_mle_1, li_pos + 1)

    ls_mle_1 = trim(ls_string_before)

    SetNull(li_pos)

    li_pos = Pos(ls_mle_1, '~n')

    loop

    if isnull(trim(ls_mle_1)) or trim(ls_mle_1) = '' then

    MessageBox('提示', '您输入的内容为空')

    return

    end if

    点击回车跳转焦点

    Send(handle,message#,lowword,long)

    错误:

    解答:这种错误查看下文件夹中是否包含代码中所描述的文件夹

    dddw:可指 edit中的 DropDownDW 类型下的DataWindow       例如       dw_1.modify("mer_no.dddw.allowedit=no")

    相关文章

      网友评论

          本文标题:随手笔记

          本文链接:https://www.haomeiwen.com/subject/qsalxxtx.html