在PB6.5中,如何获取系统当前目录

tommyshen 2003-10-20 12:28:29
我在Local External Functions中进行如下声明:Function ulong GetCurrentDirectory (ulong nBufferLength,ref string lpBuffer) LIBRARY "kernel32.dll",但在进行调用时提示:“调用外部函数错误”,不知应如何正确调用?
...全文
29 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
feixianzhi 2003-12-30
  • 打赏
  • 举报
回复
pb 自带了GetCurrentDirectory()函数
lijiashu1981 2003-12-30
  • 打赏
  • 举报
回复
Function boolean CreateDirectoryA(string lpPathName,string lpSecurityAttributes) Library "kernel32.dll"



ll_refe = CreateDirectoryA(ls_pathname,ls_SecurityAttributes)
27 2003-12-30
  • 打赏
  • 举报
回复
我试过的,没问题:)
27 2003-12-30
  • 打赏
  • 举报
回复
好想是声明错了,
Function ulong GetCurrentDirectoryA(ulong BufferLen,ref string currentdir) Library"Kernel32.dll"
例如:

string ls_curdir
ulong l_buf
l_buf = 100
ls_curdir = space(l_buf) //为参数分配空间
GetcurrentDirectoryA(l_buf,ls_curdir)
MessageBox("当前目录",ls_curdir)

:)
注:本人只是在TRUEWAY的基础上升级到支付PB11.5上,所有版权归TRUEWAY(TM) 李群巍所有。 ------------------------ 关于PBHelper(PBCOMMENT)这个软件,最新版本 1.0.2 PBHelper的前身是 PBCOMMENT 7.0。 ================================================================ 版权所有 (c) 1999-2000 RC Sizer 保留所有版权。 版权所有 (c) 2003-2006 Welkin 保留所有版权。 版权所有 (c) 2002-2006 TRUEWAY(TM) 保留所有版权。 注册商标 TRUEWAY(TM) 为李群巍所写程序专用。 PBHelper以前的名字叫 PBCOMMENT。 PBHelper(PBCOMMENT)是一个专门为PB程序员设计的综合性编程 助手工具。她能帮助PB程序员自动生成PB脚本代码注释、自动缩进美化 代码、自动完成代码、大小写转换,实现不同数据库类型之间的SQL语句 转换等功能。 PBHelper支持PowerBuilder 6.x/7.0/8.0/9.0/10.0/10.5/11.0。 关于此软件的英文详细说明,请阅读《readme.txt》。 联系方法: E-Mail: truewaylee@163.com, wolcen@sohu.com MSN: truewaylee@hotmail.com 软件包下载地址: http://gforge.osdn.net.cn/projects/pbhelper/ PBHelper(PBCOMMENT)的来历 ================================================================ PBHelper起初的代码参考了国外一个著名的 PBCOMMENT 软件。国外 的这个 PBCOMMENT 对 PB 6.0/6.5 和 PB 7.0 分别做了实现。初期的 版本主要用于自动生成函数、对象、DW内部代码的注释。后来,本人 对该软件核心代码做了重写工作,且在一个版本的 PBCOMMENT 里面 提供了对不同版本PB的支持。 从 PBCOMMENT 3.0 开始,在后续的版本,加入了代码自动整理 (Indent)、自动完成(插入DW编码模板)、自动删除(根据某个标记) 自动删除某个标记前面的或者后面的代码,从DW自动生成DW字段赋值语句、 从DW生成结构体等的辅助功能。从这些功能的增加来看,PBCOMMENT 已 不再是 COMMENT 的工具。有鉴于此,从 PBCOMMENT 7.0 以后软件名字 更改为 PBHelper。因为 PBHelper 不再仅仅关注于注释方面,而向功能 综合化、多样性方面发展。 PBHelper(PBCOMMENT)重要版本更新 ================================================================ 开始版本号 新增功能 ---------------------------------------------------------------- PBCOMMENT >>>>>>>>>> 5.2 可以处理 *.sr* 类型的文件的整理处理 将对象、窗口、函数等代码先 Export 成文本文件,在PB 用编辑文本文件的形式打开,然后象其他脚本一样 Indent 5.2 新增自动将工具集成到 PB 开发环境的功能 目前支持的版本是 PB 6.0/6.5, PB 9.0 5.3 新增自动在某个代码段加每行代码的相同的前缀或者相同的后缀 这个在我们日常生活经常要用到的 5.31 新增自动根据字段列表,变量列表,datawindow 赋值语句列表, 自动生成 datawindow 之间复制数据的代码 自动生成 结构体变量 和 datawindow 之间的赋值代码 自动生成 变量列表 和 datawindow 之间的赋值代码 具体可看 《pbcomment自动写代码.doc》的说明 5.31 新增双语言显示 pbcomment.ini 文件, language = 0 表示简体文 = 1 表示英文 自动集成PBCOMMENT到PB开发环境,现在支持所有的PB版本(6.0-9.0) 新增自动删除每行代码前面和后面以某个字符串为标记,在此 标记之前和之后的代码语句,类似于 Trim, LeftTrim, RightTrim 5.5 新增 PBDataWindow.exe,处理从 PBL 里选择 DataWindow 自动 生成和结构体、变量,别的 DataWindow 交换数据的脚本语句 修改了函数和事件的注释风格,在 PB 6.0/6.5 里面,区分函数和事件 5.5 Plus 新增在 PB 7.0/8.0/9.0 里面,区分函数和事件 新增用户自定义函数 gf_Format_Comment 如果需要修改注释风格 只需要修改这个函数即可,减少复杂度 6.0 修正了一些在美化代码方面处理的错误 新增支持 PB 10.0(在 PB 10.0 beta 2 上测试通过) 新增支持自动判断当前 PB 开发环境的版本号,解决几个版本 的 PB 同时打开时自动处理当前 PB 开发环境的判断问题。 (以前的程序若同时打开几个 PB,自动处理最高版本的开发环境, 不能同时处理几个 PB 开发环境。) (注意:本次程序升级后,需要重新执行“美化”-“集成到PB”菜单, 然后重新启动 PB 开发环境。) 支持 XP 界面风格 6.1 修正了一些处理自动集成PBCOMMENT到PB里面的错误 修正在 PB 8.0 or later 处理 *.sr* 文件整个美化代码的错误 新增支持函数注释区别不同语言版本 7.0 新增支持 DataWindow SQL 语句画板对 SQL 语句的大小写转换、 代码优化等。可以帮助大家校正在例如 SYBASE 等数据库对字段 名大小写敏感需要批量修改的 SQL 语句。 新增支持有关 DataWindow 与结构体、变量之间的赋值、获得数据等 操作的 PB 脚本自动生成。在字段特别多的情况下,比较实用。 PBHelper >>>>>>>>>> 0.8 软件名字从 PBCOMMENT 改名为 PBHelper 支持PB 10.5 beta 1 并通过测试 0.8.1 修正了不能保存自动美化选项的参数问题,参数改了后,第二次 进去的时候,自动恢复到默认值。这是错误的。 0.8.2 修正了在双引号、单引号有 // 的处理错误 新增支持 "TRY...CATCH...FINALLY...END TRY" 句型的代码美化 新增函数注释模板支持,用于可定义模板 template0.txt 是选择 PBHelper 语言环境为文时的模板 template1.txt 是选择 PBHelper 语言环境为英文时的模板 模板文件可直接用记事本打开修改 0.8.3 新增支持 PB 10.5 beta 2 修正了处理 “loops = flen/32765” 语句导致的一缩进不正确 修正在 PB7.0以上的版本上都存在的判断函数/事件不正确的错误 代码注释开始使用文,以便 PBHelper 爱好者阅读 0.8.4 使用文重写重要模块的注释,方便阅读 修正了一些词法分析上的错误 整理内部实现,废弃了部分内部函数,并重新在PB的各个版本上做测试 修正一些情况在提取函数信息上的错误 新增支持 PB 11.0 beta 1 0.8.5 解决含文变量的脚本代码美化代码时会出现删除文变量的问题 1.0.0 所有代码进行整理,应用也进行重新设计 原来配置文件pbcomment.ini和文本模板文件合并到pbhelper.ini 界面采用了新的风格,使用任务栏菜单形式,配置选项、DW自动化 处理等界面都作了重新设计,实现新的使用体验 1.0.1 修正在PB7.0以上的版本集成工具条出现两个“单步注释”结点 修正在未安装PB6.x的机器上运行程序设置参数功能出现错误 1.0.2 修正各类注释模版不能保存的问题 在About窗口上增加单击可直接进入写邮件和URL地址 增加单步注释模版支持,取消设置注释分割线长度的做法 使用方法 ================================================================ 有两种使用方法: 1、任务栏程序方式运行 鼠标双击运行pbhelper.exe。PBHelper将以任务栏程序的形式运行。单击图标 弹出菜单,接着可进行相关操作。 2、集成到PB开发环境(推荐方式) 运行 pbhelper.exe 后,执行菜单“系统”-“智能集成”,可帮助你自动集成 PBHelper 到 PB 开发环境形成工具条,比操作 pbhelper.exe 菜单更方便。 3、注意点:在使用“部分注释”时候,正常情况是修改状态下注释,按住 Ctrl键时是增加状态下注释,按住Shift键时是删除状态下注释。 4、建议使用应用进行参数设置,不直接修改pbhelper.ini 5、PBHelper不需要卸载老的版本,但下载新的安装包后需重新做集成到PB的操作。
为PB12.5版本: 关于PBHelper(PBCOMMENT)这个软件,最新版本 1.0.2 PBHelper的前身是 PBCOMMENT 7.0。 ================================================================ 版权所有 (c) 1999-2000 RC Sizer 保留所有版权。 版权所有 (c) 2003-2006 Welkin 保留所有版权。 版权所有 (c) 2002-2006 TRUEWAY(TM) 保留所有版权。 注册商标 TRUEWAY(TM) 为李群巍所写程序专用。 PBHelper以前的名字叫 PBCOMMENT。 PBHelper(PBCOMMENT)是一个专门为PB程序员设计的综合性编程 助手工具。她能帮助PB程序员自动生成PB脚本代码注释、自动缩进美化 代码、自动完成代码、大小写转换,实现不同数据库类型之间的SQL语句 转换等功能。 PBHelper支持PowerBuilder 6.x/7.0/8.0/9.0/10.0/10.5/11.0。 (增加对11.5、12.0、12.5的支持) 关于此软件的英文详细说明,请阅读《readme.txt》。 联系方法: E-Mail: truewaylee@163.com, wolcen@sohu.com MSN: truewaylee@hotmail.com 软件包下载地址: http://gforge.osdn.net.cn/projects/pbhelper/ PBHelper(PBCOMMENT)的来历 ================================================================ PBHelper起初的代码参考了国外一个著名的 PBCOMMENT 软件。国外 的这个 PBCOMMENT 对 PB 6.0/6.5 和 PB 7.0 分别做了实现。初期的 版本主要用于自动生成函数、对象、DW内部代码的注释。后来,本人 对该软件核心代码做了重写工作,且在一个版本的 PBCOMMENT 里面 提供了对不同版本PB的支持。 从 PBCOMMENT 3.0 开始,在后续的版本,加入了代码自动整理 (Indent)、自动完成(插入DW编码模板)、自动删除(根据某个标记) 自动删除某个标记前面的或者后面的代码,从DW自动生成DW字段赋值语句、 从DW生成结构体等的辅助功能。从这些功能的增加来看,PBCOMMENT 已 不再是 COMMENT 的工具。有鉴于此,从 PBCOMMENT 7.0 以后软件名字 更改为 PBHelper。因为 PBHelper 不再仅仅关注于注释方面,而向功能 综合化、多样性方面发展。 PBHelper(PBCOMMENT)重要版本更新 ================================================================ 开始版本号 新增功能 ---------------------------------------------------------------- PBCOMMENT >>>>>>>>>> 5.2 可以处理 *.sr* 类型的文件的整理处理 将对象、窗口、函数等代码先 Export 成文本文件,在PB 用编辑文本文件的形式打开,然后象其他脚本一样 Indent 5.2 新增自动将工具集成到 PB 开发环境的功能 目前支持的版本是 PB 6.0/6.5, PB 9.0 5.3 新增自动在某个代码段加每行代码的相同的前缀或者相同的后缀 这个在我们日常生活经常要用到的 5.31 新增自动根据字段列表,变量列表,datawindow 赋值语句列表, 自动生成 datawindow 之间复制数据的代码 自动生成 结构体变量 和 datawindow 之间的赋值代码 自动生成 变量列表 和 datawindow 之间的赋值代码 具体可看 《pbcomment自动写代码.doc》的说明 5.31 新增双语言显示 pbcomment.ini 文件, language = 0 表示简体
如何运用Pb9.0设计学生学籍管理系统 海盐县澉浦学 贺剑夫 内容提要 学生学籍管理工作是学校管理工作的重要组成部分,现在相当一部分学校的学生学籍管理工作仍沿用手工方式。随着学校规模的扩大、学生人数的增加,效率低下、容易出错的手工方式越来越不适应实际管理工作的需要,利用计算机技术和数据库技术设计开发学生学籍管理系统、实现学生学籍管理工作的自动化成为学生管理部门的迫切需要。 学生学籍管理工作主要是学生基本情况的管理包括学生学籍变动的管理(转入、转出、休学、复学、退学、调班、外出借读、借读、留级或跳级)、学生成绩的管理和教师基本信息管理和教课的管理,主要包括数据输入、修改、删除、追加、查询、统计和打印报表等功能,学生学籍管理系统要能高效、准确地完成这些功能,并要达到界面美观友好、使用方便。PowerBuilder9.0和其他数据库管理系统相比,可以发现它基于C/S的体系结构,除拥有其他开发平台的界面制作的优秀控件之外,以应用系统工程的工作空间(WorkSpace)为框架,以数据窗口控件和数据对象作为数据库应用系统开发的核心,通过这两个控件的使用,并结合其他控件的辅助功能,能制作出功能强大的管理系统,因此选用PowerBuilder9.0来制作学生学籍管理系统,实现对学生学籍(包括学籍变动情况)、教师信息及教课和学生成绩的全面管理。 第一个步骤是创建一个工作空间和项目目标文件,使以后设计的所有功能都在此目标文件下有组织地灵活运行。第二个步骤是建立系统运行需要的表并把表添加到数据库。第三个步骤是进行主菜单的设计,使不同的窗口共享这个主菜单,通过设计脚本来触发当前活动窗口定义的事件来完成数据的增删改、查询、打印。第四个步骤是建立各种窗口,通过数据窗口对象,和建立的各种控件,来实现相应的功能。关系数据库SQL语言对关系模型的发展和数据库管理系统的研制起了重要作用。SQL语言虽为结构式查询语言,但实际上具有定义、查询、更新和控制等多种功能。在学生学籍管理系统的开发过程,主要使用了嵌入式SQL语句和动态SQL语句在程序灵活地操纵数据库。 关键字:SQL语言 对象 窗口 数据窗口 控件 一、概述 1.1 项目的背景及意义 学生学籍管理工作是学校管理工作的重要组成部分,现在相当一部分学校的学生学籍管理工作仍沿用手工方式。随着学校规模的扩大、学生人数的增加,效率低下、容易出错的手工方式越来越不适应实际管理工作的需要,利用计算机技术和数据库技术设计开发学生学籍管理系统、实现学生学籍管理工作的自动化成为学生管理部门的迫切需要。 我校是一所农村初级学,由于师资力量的薄弱和经费的紧缺,对于学生的学籍管理工作更是落后,可以说目前的学校对于学生的学籍管理都是进行手工的操作,这样的操作对于学生的管理非常不便,因此,考虑到这种情况,迫切需要开发一个学籍管理系统来进行这一项工作。 学生的学籍管理工作包括学籍管理工作、学籍的变动管理工作和成绩管理工作,主要包括数据的输入、删除、修改、查询、统计、打印等功能,学生的学籍管理系统要能高效、准确地完成这些功能,并要达到界面友好、使用方便。 1.2 相关技术与开发工具介绍 PowerBuilder是一个基于客户机/服务器方式的、完全可视化的开发环境。在PowerBuilder环境,可以用一种可视和直观的方式来创建应用程序的用户界面和数据库接口。 PowerBuilder是面向对象的工具,它变革了面向对象技术的使用,并把它应用到用户界面对象。用户界面的元素都是对象,它们有属性、事件和方法,通过使用这些对象就会大大地缩短应用程序的开发时间。同时,PowerBuilder9.0也是功能强大的编程语言。通过使用PowerScript编写的代码来实现事件驱动程序。 PowerBuilder是一个开放系统,其优秀的开放系统功能是可以访问任何一个常用的后台数据库系统,如Sybase、Informix或者DB2。另外,PowerBuilde可以通过一个叫做客户机、服务器开放开发环境的规范与其他PC产品进行集成。 PowerBuilder是一个多平台开发环境,有运行在windows95/98/2000/xp/me下的,也有运行在Macintosh下的Unix版本的系统。因此,PowerBuilder可以为真正的企业开发提供完全的支持。 PowerBuilder提供了对分布式应用程序的开发支持。而对分布处理最广泛和最成功的应用当数Internet技术。PowerBuilder提供了两种Internet应用的访问方式:基于WEB.PB的Browser/Server方式和基于Plugins的Client/Server方式。 在Internet应用程序,客户浏览器与服务器之间的通信方式是这样的:浏览器向WEB服务器请求调用HTML文档,Web服务器将HTML文件传递给客户浏览器。HTML文档的元素可以指向其他资源(包括位图、声波文件、插入件、ActiveX控件及应用程序等)。用户用鼠标点击这些元素,相当于向Web服务器提出一个请求。这些请求可以是下载文件,也可以请求Web服务器执行一个应用程序。浏览器-Web服务器的结构如图1-1所示 图1-1 浏览器-Web服务器结构 Web应用的执行过程如图1-2所示 图1-2 Web应用的执行过程 PowerBuilder提供了两种plug-in方式,即Windows Plug-in和Data Window Plug-in。Windows Plug-in相当于在浏览器浏览的HTML嵌入运行PowerBuilder的应用程序。Data Window Plug-in相当于在浏览器的HTML嵌入运行PowerBuilder的PSR文件。它们的调用过程如下: (1) 浏览器访问Web服务器,向Web服务器提出请求。 (2) 服务器卸载PSR文件或PBD文件,浏览器显示PowerBuilder窗口对象或PSR文件。 (3) 用户对浏览器上的窗口进行操作,Web服务器把操作的结果返回给PowerBuilder窗口。 1.3 系统可行性分析 建设MIS的必要性取决于需求的迫切性和实现的可行性。可行性并不等于可能性,它还包括很必要性,如果领导或管理人员对信息的需求并不迫切,或各方面的条件不具备,就是不具备可行性。系统可行性包括经济上可行性、技术上可行性、管理上可行性和资源上可行性四个方面。 1.3.1 经济上的可行性 主要对项目的经济效益进行评价。该系统除了购置硬件设备外,操作简便,无须投入较大的培训费用、开发费用、维护费用等,并且在实施过程减少手工操作的步骤、加快了对学生的学籍管理、学籍变动管理和学生成绩管理的速度。 1.3.2 技术上的可行性 本系统的开发采用的是PowerBuilder9.0,它是一个大型数据库应用系统的开发平台,基于客户/服务器的体系结构,可以广泛开发适合于远程数据库和本地数据库的应用系统。它除拥有其他开发平台的界面制作的优秀控件之外,以应用系统的工作窨(WorkSpace)为框架,以数据窗口控件和数据窗口对象作为数据库应用系统开发的核心,通过这两个控件和使用,并结合其他控件的辅助功能,用户可以制作出许多有用的大型数据库应用系统。PowerBuilder9.0使开发人员能够开发肥客户端应用来满足日益复杂的商业需求,而且它支持J2EE and Mircrosoft.NET环境。它也奠定了“第四代+”(4Glplus)编程语言的基础,它通过设计、建模、开发、配置和管理的紧密集成大大提高了开发人员的生产力, 1.3.3 管理上的可行性   本系统采用powerbuilder8.0 自带的ASA(Adaptive Server Anywhere)数据库,该数据库简单,通过标准ODBC接口,自动连接数据库,这也是PB具有强大功能和对数据库易操作的一方面。该数据库管理系统能够使用SQL 语句,也可以使用各种连接操作,能单独的使用,也可以与各种编程工具连接起来使用,在管理上非常方便。 1.3.4 资源上的可行性   本系统资源利用方便,数据可通过.txt文件导入数据库而进行使用,也可将数据库文件导出为.txt文件,便于数据的文件格式的转换和资源的共享。 二、总体设计 2.1 系统总体功能结构   图2-1 系统总体功能结构图 在登录窗口是对使用系统人的身份的识别,如果是系统管理员,则拥有修改、插入、追加、删除、保存数据的权利,并可对能使用本系统人员进行管理。如果是数据管理员,则没有对使用本系统人员的管理项,而普通用户则只能进行查询、打印、页面设置、打印预览等简单功能。在各个学籍管理和学籍变动管理窗口都有对数据的备份功能。 2.2 系统总体物理结构 本系统的运行模式可以在单机模式、主机模式、客户/服务器(C/S)模式、浏览器/服务器(B/S)模式进行选择。在计算机网络比较比较普及的今天,比较好的选择应该是C/S或B/S模式。 数据库管理系统(DBMS)选择PowerBuilder自带的Adaptive Server Anywhere 8.0。 三、E—R图设计 1) 学生实体E-R图                  图3-1 学生实体E-R图 2)课程实体E-R图                图3-2 课程实体E-R图 3) 教师实体E-R图 图3-3 教师实体E-R图 4) 选课实体E-R图 图3-4 选课实体E-R图 5) 教课实体E-R图 图3-5 教课实体E-R图 6)学生转出实体E-R图     图3-6 学生转出实体E-R图 7) 学生休学E-R图 图3-7 学生休学实体E-R图 8) 学生复学实体E-R图 图3-8 学生复学实体E-R图 9) 学生退学实体E-R图 图3-9 学生退学实体E-R图 10)学生外出借读实体E-R图 图3-10 学生外出借读实体E-R图 11)学生调班实体E-R图 图3-11 学生调班实体E-R图 12)学生留级(跳级)实体E-R图 图3-12 学生留级(跳级)实体E-R图 13)各实体之间的E-R图     图3-13 各实体之间的E-R图 四、总结与展望 本制作流程,可实现学生、教师、课程间的基本管理和用户的管理,能进行学籍的变动情况处理(如学生转入、学生转出、学生休学、学生复学、学生退学、学生调班、学生留级(跳级)、学生借读及学生外出借读),对报表能进行打印及打印预览,对相关数据能进行备份,在设计使用了菜单、窗口、数据窗口、数据窗口控件及多种窗口控件,给工作上带来了很大的方便,可以实现学生学籍管理及变动情况管理的应用。 通过对PowerBuilder9.0的窗口对象、菜单对象、数据窗口对象、数据窗口控件、窗口控件及其基本属性的运用,可进行一般的事务处理和软件的设计。 通过Pb9.0可以很方便地将所有的数据库转移到服务器上,实行客户/服务器的管理模式,增加对系统出错处理模块的管理,以及实现Web方面的功能开发。 计算机教育发展到今天,尤其是新课程的改革要求我们计算机教师,特别是农村学的计算机教师要能编写适合于本地特色的一些管理系统来为学校服务,为教学服务。PB9.0无疑是一种较明智的选择。 参考文献 1、 伍俊良 《PowerBuilder课程设计与系统开发案例》 清华大学出版社 2003年 2、 袁方 杨成 《数据库应用系统设计实践教程》 电子科技大学出版社 2001年 3、 黄伟 《PowerBbuilder6.5-7.0实例解析》 北京大学出版社 2000年 4、 张钢 《信息系统开发实践教程》 电子科技大学出版社 2001年 5、 甘仞初 《信息系统开发》 经济科学出版社 1996年 6、 黄梯云 《管理信息系统》 经济科学出版社 1999年 7、康博创作室 《PowerBuilder6.0使用及开发指南》 人民邮电出版社 1999年

680

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder API 调用
社区管理员
  • API 调用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧