精华内容
下载资源
问答
  • pb 调用zip压缩dll
    千次阅读
    2013-07-24 23:26:02
    实现标准zip文件压缩与解压缩 (可用于pb、vc、vb)
    下载: ftp://gd.gysoft.cn/dll/zipdll.rar
     或  ftp://www.gysoft.cn/dll/zipdll.rar
     
    Pb9 的DLL声明
    function string ComPressFile(string as_srcFile,string as_zipfile) library "zipdll.dll"

    function string UnComPressFile(string as_zipfile,string as_filename) library "zipdll.dll"

    演示界面

    http://www.1190.cn/plus/list.php?tid=127


    更多相关内容
  • pb9开发,可升级到11.5,无需注册ocx.可展示列表,双击列表文件进行下载可显示下载进度.需要的赶紧下载
  • 一、首先设置ftp服务器: 我的电脑右键——管理——internet信息服务——网站 如图: 网站右键——添加Ftp站点——填写信息 如图: 下一步 如图: 下一步 如图: 完成——在网站列表中选中刚建立的...

    一、首先设置ftp服务器:

    我的电脑右键——管理——internet信息服务——网站  如图:

    网站右键——添加Ftp站点——填写信息 如图:

     

    下一步 如图:

    下一步 如图:

    完成——在网站列表中选中刚建立的ftp站点——右侧选择基本设置——测试连接会出现如图错误:

    回到基本设置——连接为  如图:

    确定——回到基本设置——测试连接 如图:

    之前的问题得到解决。ftpUser为在系统用户中任意设置的专门为访问ftp服务器的用户 如图:

    设置好ftp站点的虚拟路径要跟基本设置填写的虚拟路径一致 如图

    设置好虚拟路径的共享访问权限——高级共享 如图:

     二、在cmd中测试 ftp是否搭建成功 注意命令格式  输入为ftp设置的用户名密码 登陆成功 如图:

    三、pb中代码

    1、声明 winAPI函数

    2、连接Ftp

    intetnetopen()

    internetconnect() as_servername是IP 其余参数顾名思义

     

    internetClose()

     

    连接成功!

    展开全文
  • pb调用ftp[借鉴].pdf

    2021-10-11 05:29:33
    pb调用ftp[借鉴].pdf
  • PB9调用C++的dll实例

    2013-10-10 17:17:16
    管理系统常用pb开发,少不了外部接口,PB9外部接口调用C++的dll,测试程序。
  • PB用的ftp控件

    2013-05-02 18:08:36
    用于PB下的FTP功能控件,支持多线程和断点续传
  • pb_ftp.rar

    2020-01-18 16:49:48
    pb10.5调用dll开发ftp,文件上传,下载,目录创建,目录删除,目录查找,文件查找等功能,具体程序的文件目录,可以参照代码进行响应的修改
  • pb调用其他程序总结

    2021-05-08 05:47:00
    pb调用其他程序总结前言在pb中经常需要运行第三方程序,例如打开计算器,记事本等,外部程序调用方法不外乎以下三种:1、直接用run;优点是使用简单方便,pb自带函数,缺点跟优点一样明显,无法隐藏执行窗口,无法...

    pb调用其他程序总结

    前言

    在pb中经常需要运行第三方程序,例如打开计算器,记事本等,外部程序调用方法不外乎以下三种:

    1、直接用run;

    优点是使用简单方便,pb自带函数,缺点跟优点一样明显,无法隐藏执行窗口,无法控制程序执行过程等(当然也可以用findwindow等方式判断,总体来说不是很合理);

    2、调用api,ShellExecute;

    把程序执行方式交给操作系统处理,简单来说,例如操作系统里文本文件默认用记事本打开,网址文件用ie打开,运行网址文件,系统会自动调用ie打开网址;

    3、调用api,CreateProcess;

    优点:配合其他api,可以控制程序的执行过程,也可以隐藏执行,可以设置标题等;

    缺点:使用复杂,需要定义一大堆api函数;

    方法一、方法二网上资料很多,唯独方法三资料比较少,而且错误百出;综合很多网友的资料,查了msdn,反复实践,总算总结出来,下面开始罗列;

    正文

    一、定义api

    Function BOOLEAN GetExitCodeProcess( LONG hProcess,REF ULONG lpExitCode ) LIBRARY "KERNEL32.DLL"

    Function ULONG GetLastError() Library "KERNEL32.DLL"

    Function BOOLEAN CreateProcess ( STRING lpApplicationName, &

    STRING lpCommandLine, &

    ULONG lpProcessAttributes, &

    ULONG lpThreadAttributes, &

    BOOLEAN bInheritHandles, &

    ULONG dwCreationFlags, &

    ULONG lpEnvironment, &

    ULONG lpCurrentDirectory, &

    REF STARTUPINFO lpStartupInfo, &

    REF PROCESS_INFORMATION lpProcessInformation ) &

    LIBRARY "KERNEL32.DLL" Alias for "CreateProcessA"

    FUNCTION ulong WaitForSingleObject(ulong hHandle,ulong dwMilliseconds) LIBRARY "kernel32.dll"

    其中牵涉到了一堆结构,定义如下:

    type startupinfo from structure

    unsignedlong cb

    unsignedlong lpreserved

    unsignedlong lpdesktop

    unsignedlong lptitle

    unsignedlong dwx

    unsignedlong dwy

    unsignedlong dwxsize

    unsignedlong dwysize

    unsignedlong dwxcountchars

    unsignedlong dwycountchars

    unsignedlong dwfillattribute

    unsignedlong dwflags

    unsignedlong wshowwindow

    unsignedlong cbreserved2

    unsignedlong lpreserved2

    unsignedlong hstdinput

    unsignedlong hstdoutput

    unsignedlong hstderror

    end type

    type process_information from structure

    long hprocess

    long hthread

    unsignedlong dwprocessid

    unsignedlong dwthreadid

    end type

    二、实现代码

    注意红色字体代码处,这是经过反复测试才得出来的,使用这些函数,配合一些dos命令,就可以在后台实现很多操作;

    public function boolean create_process_wait (string as_executable, string as_commandparm, boolean ab_yield, boolean ab_show);

    //====================================================================

    // 事件: nvo_ftp.Properties -  nvo_ftp  inherited  from  nonvisualobject()

    //--------------------------------------------------------------------

    // 描述:

    //--------------------------------------------------------------------

    // 参数:

    //  value string  as_executable   执行命令

    //  value string  as_commandparm  命令参数

    //  value boolean ab_yield  等待返回时,是否释放cpu

    //  value boolean ab_show   是否显示执行窗口

    //--------------------------------------------------------------------

    // 举例:

    //    create_process_wait(ls_command,ls_comm_para,TRUE,FALSE)

    //--------------------------------------------------------------------

    // 返回:  (none)

    //--------------------------------------------------------------------

    // 作者: Joshua Zou  日期: 2008年02月18日

    //--------------------------------------------------------------------

    // Copyright (c) 2002-2007 , All rights reserved.

    //--------------------------------------------------------------------

    // 修改历史:

    //

    //====================================================================

    STARTUPINFO sinfo

    PROCESS_INFORMATION pinfo

    sinfo.cb = 4 * 17

    sinfo.lpReserved = 0 // NULL

    sinfo.lpDesktop = 0 // NULL

    sinfo.lpTitle = 0 // NULL

    sinfo.dwX = 0

    sinfo.dwY = 0

    sinfo.dwXSize = 0

    sinfo.dwYSize = 0

    sinfo.dwXCountChars = 0

    sinfo.dwYCountChars = 0

    sinfo.dwFillAttribute = 0

    sinfo.dwFlags = 1

    IF ab_show THEN

    sinfo.wShowWindow = SW_NORMAL

    ELSE

    sinfo.wShowWindow = SW_HIDE // 默认隐藏执行窗口

    END IF

    sinfo.cbreserved2 = 0

    sinfo.lpReserved2 = 0

    sinfo.hStdInput = 0

    sinfo.hStdOutput = 0

    sinfo.hStdError = 0

    Boolean bRet

    bRet = CreateProcess(as_executable,as_executable + " " + as_commandparm,0,0,False,32,0,0,sinfo,pinfo)

    //bRet = CreateProcess(NULL,cmd,NULL,NULL,FALSE,NORMAL_PRIORITY_CLASS,NULL,NULL,&TStartupInfo,&TProcessInformation);

    IF Not bRet THEN

    MessageBox("警告", "创建子进程错误,错误码:"+String(GetLastError()))

    RETURN False

    END IF

    ULong lpExitCode

    DO

    // 等待结束

    WaitForSingleObject(pinfo.hProcess,0) bRet = GetExitCodeProcess ( pinfo.hProcess, lpExitCode )

    IF ab_yield THEN Yield() //等待返回循环中,释放cpu

    LOOP Until ( bRet = True And lpExitCode <> 259 )

    RETURN True

    三、实用案例

    1、利用rar.exe在后台生成压缩文件

    // 控制台下命令如下: rar.exe  a 2007.rar *.txt

    String ls_command,ls_comm_para,ls_curr_path

    String as_targetfile ,as_sourcefile,as_targetpath

    as_targetfile = "test.rar"

    as_sourcefile = "*.txt"

    as_targetpath = ".\rarfile"

    ls_command  = "rar.exe " // 这个文件在winrar的安装目录里有,到处都能找到

    ls_comm_para= " a " +as_targetpath+'\'+as_targetfile +" "+as_sourcefile

    if create_process_wait(ls_command,ls_comm_para,true,FALSE) = TRUE then

    if fileexists(as_targetpath+'\'+as_targetfile ) then

    return TRUE

    else

    return FALSE // 生成压缩文件失败

    end if

    else

    return FALSE // 调用api返回失败

    end if

    结合脚本,其实可以做很多很多事情,大家自己发挥吧,例如创建目录,删除目录等。

    总结

    本文相比别的方法,解决了两大关键问题,一是隐藏执行,不会弹出讨厌的控制台窗口;二是主程序会等待被调用程序执行结束;

    展开全文
  • PB通过调用API函数实现通过FPT方式进行文件传输。对于应用软件自动升级功能具有一定帮助。
  • wininet pb进行FTP

    2015-07-25 15:54:24
    wininet组件,用于通过pb\vb\delphi\.net\java等工具调用,发送邮件
  • PB的源代码,适用于局域网客户端程序的FTP自动更新
  • PB FTP TOOLS

    2015-05-11 15:31:06
    PB调用API的FTP自动更新程序。 Integer li_days Long ll_Times Long ll_row,ll_insert,ll_count,ll_select,ll_Found Boolean lb_DownLoad String ls_filename,ls_dir,ls_localdir,ls_temp Datetime ldt_...
  • PB10.5版FTP程式

    2010-08-28 21:34:53
    使用PB10.5程式开发的FTP自动下载、发送MAIL程式,只要载入相应程式,即可调用
  • PB 在win7下调用FtpFindFirstFile无反应(远程服务器,本地服务器可以正常调用) 已经被困扰很久了 有懂的大神解答一下把
  • powerbuilder10.5通过调用FTP实现程序自动更新,网上资源进一步开发,仅供pb爱好者学习参考
  • PB中实现ftp传输

    千次阅读 2012-03-31 11:12:46
    PB中实现ftp传输 (加入日期:2001-6-21) 【保存文章至硬盘】【打印文章】【字体:大中 小】 分享到: 0 ---- 在用PB进行开发时常常需要用到ftp功能,最典型的应用就是将数据窗口中的数据生成txt文件,...

    在PB中实现ftp传输

    (加入日期:2001-6-21)

    保存文章至硬盘】【打印文章】【字体:

    分享到: 0
    ---- 在用PB进行开发时常常需要用到ftp功能,最典型的应用就是将数据窗口中的数据生成txt文件,然后将此数据文件用ftp发送到远程服务器上去。由于pb本身并未提供任何ftp的功能,因此想在pb中进行ftp传输,只能应用pb以外的资源。以下是笔者在pb开发中总结出来的几种方法。

    ---- 1. 使用外部命令

    ---- 这种方法就是在pb程序中运行Windows中自带的ftp命令。具体做法是在程序中生成一个.bat文件,将要运行的ftp命令写到此文件中,再运行这个批处理文件。假设ftp服务器ip为 202.114.67.2,用户名为user,口令12345,现在要将本地c:\temp\下的t00001.txt文件上传到服务器的\txtdata\目录下去。则pb代码如下:

    integer li_bat  //文件名指针
    li_bat = FileOpen(path_ftp+'get_file.bat',
    lineMode!, Write!, LockWrite!, Replace!)

    FileWrite(li_bat, 'cd c:\temp\')
    FileWrite(li_bat, 'ftp 202.114.67.2')
    FileWrite(li_bat, 'user)
    FileWrite(li_bat, '12345')
    FileWrite(li_bat, 'put t00001.txt
    \txtdata\t00001.txt')
    FileWrite(li_bat, 'bye')
    FileWrite(li_bat, 'exit')
    FileClose(li_bat)
    Run(path_ftp+'get_file.BAT',Minimized!)
    messagebox("提示信息","数据上报完毕")

    ---- 此方法的优点是简单易行,既不要调用API函数,也不需加入OLE。缺点一是要运行外部命令,将会打开dos窗口,显得不够和谐;二是数据传输成功与否无法判断,在编程时不好控制。

    ---- 2. 使用Internet Transfer控件

    ---- Internet Transfer控件是网络编程中非常常用的控件。它支持目前Internet上使用最为广泛的两种协议,即Http和Ftp。在windows98中它是由系统自带。有关此控件的详细资料请查看相关书籍。这里我们只使用它的Ftp功能。在PB中加入一个与此控件的OLE,取名ole_1,并按以下数据设置此控件的属性(注意不是ole_1的属性),表中没有列出的属性请用缺省值:

    属性            值           说明
    Protocol        2          指定用Ftp协议
    Remotehost      202.114.67.2
    Username        User1
    Password        12345

    ---- Internet Transfer控件支持两种数据传输方式,即同步传输方式和异步传输方式。同步传输方式在数据传输时会阻塞程序,此功能是通过调用该控件的OpenUrl方法来实现的;而异步方式则不会阻塞程序,它通过调用控件的Execute方法来实现。同步方式虽然易于控制,但它只能下载文件,不能上传文件,这使得它在实际的应用受到限制。要实现数据的上传下载,只能使用此控件的异步传输方式。要完成上例中的功能,在PB程序中加入以下语句即可:

    Ole_1.object.execute("","put c:
    \temp\t00001.txt   \txtdata\t00001.txt")

    ---- 同理,如果要将服务器上的文件下载到本地,在程序中加入即下语句:

    Ole_1. object.execute("","get \txtdata\t00001.txt  c:\temp\t00001.txt")

    ---- Internet Transfer控件的功能很强大,利用它足以制作一个功能比较完善的FTP工具,而且它是操作系统自带的,在编程时不需要注册新的控件。但根据笔者的使用经验,此控件也有两个不能忽视的缺点,其一、它的数据上传下载是异步传输的,在每次只运行一个ftp命令时尚可,如果一次运行多个ftp命令就会出错。比如说,我们想先进入服务器的\file目录,再上传数据,这样程序应如下:

    Ole_1.object.execute("","cd \file\")
    Ole_1.object.execute("","put
    c:\temp\t00001.txt   \txtdata\t00001.txt")
    ---- 由于execute方法是异步执行的,它不等第一个语句完成就开始执行第二条语句,这样可能服务器还来不及将当前目录转到\file下数据已经开始上传,造成错误。

    ---- 其二、笔者还发现一个莫名其妙的问题,那就是利用此控件进行上传时它会将上传到服务器上的文件的文件名改为大写,如上例中,本地的t00001.txt上传到服务器上后,它的名字会变成T00001.TXT,这在NT上自然无妨,但在Unix机器上就可能带来错误。

    ---- 3. 使用Mabry Internet FTP/X Control

    ---- 此控件是由Mabry Software公司提供的一个用于Ftp的控件,读者可以到www.mabry.com上去下载此控件(mftpx.ocx)。经比较,笔者认为在进行ftp传输方面,使用此控件进行编程最方便。它能完成绝大部分Ftp的功能,而且在编程中能很方便地控制程序的运行。比如说要完成前述功能,我们先注册该控件,然后在PB程序中加入一个该控件的Ole,取名Ole_1;一个单行编辑器Sle_1,用为显示有关信息;一个按钮Cb_1,点击它时进行Ftp操作。另设一个boolean 型Instance Variables,取名is_con,并将它设为false,用于指示网络是否已连通。对该控件的属性进行如下设置:

    属性            值               说明
    Host            202.114.67.2
    Logonname       User
    Logonpassword   12345
    Timeout         10               根据实际情况设置

    ---- 在Cb_1的clicked事件中加入以下代码:

    sle_1.text = "正在连接....."
    setpointer(hourglass!)
    ole_1.object.connect()

    if is_con then
    sle_1.text = "开始传输...."
    ole_1.object.putfile
    ("c:\temp\t00001.txt","/txtdata/t00001.txt")
    sle_1.text = "传输完毕!"
    end if

    setpointer(arrow!)
    is_con = false
    在Ole_1的各事件中加入相应代码:
    connected事件:
    if fconnected then
    sle_1.text = "连接成功!"
    is_con = true
    else
    sle_1.text = "连接失败!"
    is_con = false
    end if
    externalexception事件:
    sle_1.text = "外部错误,可能网络不通"

    action = ExceptionIgnore!
    progress事件:
    sle_1.text = "已传输"
    + string(bytestransfered)+"字节....."

     

    ---- 此控件其它函数和属性请在PB的Browser画板中查看,此处不再详述。
    ---- 上述程序在以下系统中试验通过:
    ---- 服务器 Digital Unix
    ---- 开发工具 Pwin98 + Powerbuilder6.5
    展开全文
  • pb开发实例完整版

    2015-04-28 16:12:19
    案例13 FTP客户程序 第6章 API函数的应用 案例1 使用API函数实现透明窗体 案例2 制作位图菜单 案例3 控制窗口 案例4 获得系统信息 案例5 创建文件和目录 案例6 显示和设置时间 第7...
  • pbftp

    2006-02-23 09:05:59
    远程传送文件
  • wininet上传文件到ftp服务器,代码量很少,已测试成功,使用到项目中。
  • pb扩充函数

    2017-12-07 15:22:02
    1.支持RSA加解密及验签 ...14.支持PB动态调用 15.支持ZIB/GZIP解压缩及数据压缩 16.支持定制UI 17.支持SQLITE 18.支持摄头取样拍照 19.支持HTTP下载 20.支持微信、支付宝接口 21.支持MD5,RSA,BASE64 22.其它扩展
  • 怎样在pb中实现文件的拷贝与删除,可借助外部函数可用api函数实现:1、文件拷贝函数声明:function boolean copyfilea(ref string cfrom, ref string cto, boolean flag) library “kernel32.dll”调用:string ls_...
  • PBFunc.dll包含了FTP的操作,使用...2.调用FTP的各种方法 3.Ftp操作完毕后调用of_LoginOut方法进行注销 代码如下: n_pbfunc_ftp lnv_ftp IF Not lnv_ftp.of_Login("192.168.68.21",21,"ftpuser","123456") ...
  • 上传图片文件到ftp服务器

    千次阅读 2018-02-05 14:48:45
    注 : ftp服务器的搭建及创建账号请自行百度 , 这里主要介绍图片上传的实现 图片上传工具类 : import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io....
  • ftp上传控件

    热门讨论 2012-05-10 19:58:18
    ftp上传控件(FTP ActiveX OCX Control)是用Scoket API实现的FTP功能的客户端控件,可以在网页中实现上传文件的功能,可以在多种开发环境中使用,如VB,VC,C#,.net,PB,Delphi等。 >>上传、下载单个多个文件或目录,...
  • [PowerBuilder] PB中可使用的Windows API调用简介 作者:[转载] 文章来源:http://www.alixixi.com/ 更新时间:2005-12-13 Lists the PowerBuilder syntax for calling Windows API functions. ...
  • PB实现FTP传输

    千次阅读 2006-07-15 09:18:00
    使用外部命令 ----pb程序中运行Windows中自带的ftp命令。具体做法是在程序中生成一个.bat文件,将要运行的ftp命令写到此文件中,再运行这个批处理文件。假设ftp服务器ip为 202.114.67.2,用户名为user,口令12345,...
  • FTP 远程下载文件

    2010-07-26 00:19:23
    PB6.5调用ftp程序,远程下载升级文件,实现自动升级PB程序
  • PB FileCopy和CopyFile的区别。

    千次阅读 2017-09-21 14:40:19
    FileCopy 是PB 内置的函数。 CopyFile是使用windows API 调用的函数。 其中CopyFile的定义方法为: Function ulong CopyFile(ref string lpExistingFileName,ref string lpNewFileName,ulong bFailIfExists) ...
  • ...   在网上搜了搜大部分是这个方法 ...但是我发现在pb9中可以用,在pb11中不可以用 又查了查 原因是字符问题 把下面例子中的CreateProcessA换成 CreateProcessW即可 createprocess,createproc...
  • ftp服务器文件有的上传不了 内容精选换一换为了防止您的主机被勒索病毒侵害,请创建防护策略,将重点防御的文件添加到防护策略的监控路径中,并启动机器学习。机器学习会自动聚类并收集该策略下的所有服务器的正常...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,985
精华内容 794
关键字:

pb2019调用ftp