前言

网上关于PowerBuilder的资料确实是少之又少。

为了方便,后面我们都用pb 来代替PowerBuilder

说到这不得不来说说自己的pb入坑经历, 自己也不是计算机科班出生。

刚到公司面试,听到pb也是一脸懵逼,这啥东西,从来没听过。

然而,不知不觉已经干了好几年

也是有了这些踩坑的经历,才打算写《pb从入坑到放弃》系列文章。这篇呢也是这系列的第一篇。

扯得有点远了,还是回到正轨来,本篇文章我们主要就是用pb 创建第一个helloworld 程序。

并将程序编译发布成可执行文件(.exe结尾的文件),有了可执行文件,我们还要将它制作成安装包。

一 、PowerBuilder 是什么?

  • pb是美国Sybase公司研制的快速开发工具
  • 它包含一个直观的图形界面和可扩展的面向对象的编程语言PowerScript
  • pb的主要特色是DataWindow(数据窗口),通过DataWindow可以方便地对数据库进行各种操作,可以不用写SQL就能快速开发出各种简单或者复杂报表
  • 可以直接与Sybase、SQLServer、nformix、Oracle等大型数据库连接

二、PowerBuilder 下载安装

有不少新来的小伙伴经常会问,我是刚学pb 应该安装哪个版本好呢。

小编这里推荐几个版本9、11.5、12.5 这几个版本算是用得比较多和比较稳定的,当然了最新的版本是2022

小编呢工作上由于要维护老项目,也是一直在用着9这个版本。

这里给大家找了各个版本的安装包,大家根据需要下载安装即可(有的需要安装补丁包的,也都在里面的),还有一些pb相关工具

链接:https://pan.baidu.com/s/1WdGfYRw5jNLD70QXbaDmBg

提取码:8888

三、创建第一个HelloWorld程序

小编安装的是pb12.5,这里就用这个版本来演示

3.1 创建helloworld程序

① 新建工作空间

点击菜单:File--->New--->Workspace

-- --

② 选择路径保存工作空间

③ 创建一个Application(应用程序实例)

菜单栏---->File---->New---->Target---->Application

给应用实例起名,我们还是用默认的HelloWorld 就可以了

到此一个简单的项目架构就搭好了,是不是很easy呢

④ 创建窗口

File--->new---->Pb Object---->Window

④ 写代码,打开窗口

我们要在Application对象的Open事件中书写代码,open事件可以看作是程序的入口

open(w_helloworld)

⑤ 运行程序

点击奔跑的小人即可运行程序

到此,我们第一个pb开发的helloworld 程序就跑起来了

3.2 项目文件机构介绍

四、程序编译与发布

上面小节中我们的程序已经在编辑器中跑起来了,那么怎么才能将它编译成exe可执行文件直接运行呢?

这小节,我们就来实现将我们开发好的程序编译成exe可执行文件

① 新建Application Wizard

-- 1 新建Application Wizard -- 2下一步
-- 3 下一步 -- 4 新建p_helloworld_exe
-- 5 选择exe可执行文件路径 -- 6 选择全编译
-- 默认勾选 --8 将pbl编译成pbd
-- 9 填写版本信息 --完成

② 编译程序生成exe可执行文件

-- --
-- 版本信息

以上检查都正确后,点击编译按钮进行编译

-- --

③ 查看生成的exe,并运行exe文件

④ 双击helloworld.exe 运行程序

五、安装包制作

无论你是软件开发、还是游戏开发,无论你用什么工具进行开发,我们都需要将我们开发好的程序打包发给客户。

这一小节,我们就来看看怎么将我们上面开发好的程序制作成好看的安装包

5.1 打包工具

我们这里推荐使用的是Inno setup软件制作Windows安装包

Inno setup是一个免费、开源、简单的打包软件。

这个软件足够简单,一分钟就完成打包。这个软件也足够强大,你想实现的功能,它几乎都能满足。

不仅功能强大,Inno Setup软件还可以实现类似于“QQ音乐安装包”、“搜狗输入法安装包”的界面效果

5.2 软件下载

官网:https://jrsoftware.org/isinfo.php

界面汉化包地址:https://jrsoftware.org/files/istrans/

按照方式很简单,使用默认按照即可

-- 下载的安装包 -- 安装成功后图标

5.3 将我们开发好的程序制作成安装包

① 打开 inno setup安装包制作工具。新手用户建议和我一样使用向导来协助制作

② 默认下一步

③ 填写相关信息

④ 配置安装路径

⑤ 选择主启动程序

⑥ 添加程序运行所需要的文件或文件夹

这里我们将之前有pbl文件编译得到的bpd 文件添加进去。

注意:我们这里编写的程序比较简单,所以只需要添加一个pbd文件。 后期随着程序功能的不断完善,程序需要的文件会非常多

建议选择跟目录文件夹,将所有文件都添加进去,再将不需要的文件remove 即可

⑦ 填写安装包信息

⑧ 是否创建快捷方式

⑨ 添加版权信息

⑩ 以管理员权限安装

⑪ 选择语言

⑫ 编译器设置

⑬ 下一步

-- 下一步 -- 完成

⑭ 生成编译脚本

⑮ 保存脚本

⑯ 编译成功

⑰ 生成安装包,到这里安装包就制作完成了

5.4 用制作好的安装包测试一下

① 双击安装包即可开始安装

首先展示出来的就是,我们之前填写的版权信息。但是中文会有乱码,后面文章中会写解决办法。

​

② 选择安装路径

③ 创建桌面快捷方式

④ 下一步

⑤ 完成

⑥ 桌面生成快捷方式

⑦ 双击可运行

⑧ 卸载程序

六、小结

通过本篇文章,相信你已经对pb 开发CS 应用程序有了整体认识。公司开发应用程序也是这样的流程。

开发(编写代码)---> 编译发布程序---> 应用程序安装包制作

本期内容到此就结束了,这也是【pb从入坑到放弃】系列的开篇

希望对你有所帮助,我们下期再见。(●'◡'●)

PB从入坑到放弃(一)第一个HelloWorld程序的更多相关文章

  1. 通过CVE-2017-17215学习路由器漏洞分析,从入坑到放弃

    1.基本信息: 2017/11/27,Check Point 软件技术部门报告了一个华为 HG532 产品的远程命令执行漏洞(CVE-2017-17215),Mirai的升级版变种中已经使用该漏洞.看 ...

  2. 微信小程序从入坑到放弃之坑十二:navigator无法跳转的坑

    转自:http://www.yilingsj.com/xwzj/2018-11-25/weixin-miniprogram-navigator.html 微信小程序中的页面跳转用navigator就行 ...

  3. Python从入坑到放弃!

    Python基础  python基础 python基础之 while 逻辑运算符 格式化输出等 python基础之 基本数据类型,str方法和for循环 python基础之 列表,元组,字典 pyth ...

  4. 入坑Intel OpenVINO:记录一个示例出错的原因和解决方法

    今天试用OpenVINO的例子,在过程中发现了一些其他人没有经历的坑特别记录一下. 出错时候:执行Intel OpenVINO示例的是时候,出错的提示代码: 用于 .NET Framework 的 M ...

  5. uiautomator的坑和AAPT命令方式启动一个应用程序

    最近在使用UIautomator完成公司的一个主流程的自动化,因为不适用H5和IOS所以会放弃这个工具的使用,现在记录在使用uiautomator的一些问题: 案列1:使用命令去启动要运用的apk包 ...

  6. C语言入坑指南-被遗忘的初始化

    前言 什么是初始化?为什么要初始化?静态变量和局部变量的初始化又有什么区别?实际应用中应该怎么做?本文将一一回答这些问题. 什么是初始化 初始化指的是对数据对象或者变量赋予初始值.例如: int va ...

  7. 【Xbox one S】开箱&开机&初入坑心得

    再来一发水贴,先上产品标准照镇贴: 前言 身为一个资深单机游戏玩家,常年混迹在PC平台,但内心深处一直对主机有种迷之向往,感觉那才是单机游戏的正处之地,坐沙发上拿着手柄对着电视跌宕起伏才是正确的游戏姿 ...

  8. 3-STM32带你入坑系列(自己封装点亮一个灯的库--Keil)

    2-STM32带你入坑系列(点亮一个灯--Keil) 首先建一个stm32f103x.h的文件,然后 #include "stm32f103x.h" 还记得上一节 现在呢就是做一个 ...

  9. 2-STM32带你入坑系列(点亮一个灯--Keil)

    1-STM32带你入坑系列(STM32介绍) 首先是安装软件 这一节用Kei来实现,需要安装MDK4.7这个软件,怎么安装,自己百度哈.都学习32的人了,不会连个软件都不会安装吧....还是那句话 没 ...

  10. c#调用c++ dll 入坑记录

    1.DLL引用坑 [DllImport("NetDLL.dll", CharSet = CharSet.Ansi, CallingConvention = CallingConve ...

随机推荐

  1. TypeScript必知三部曲(一)TypeScript编译方案以及IDE对TS的类型检查

    TypeScript代码的编译过程一直以来会给很多小伙伴造成困扰,typescript官方提供tsc对ts代码进行编译,babel也表示能够编译ts代码,它们二者的区别是什么?我们应该选择哪种方案?为 ...

  2. Github 添加贪吃蛇动画

    前言 我们都知道,对于Github来说,当你选择你的账户时,可以看到自己的提交记录. 于是就有大神动脑筋了,这些commit记录都是一些豆,如果弄一条蛇来,不就可以搞个贪吃蛇了吗? 有道理有道理,本文 ...

  3. 去掉Bom头的方法和为什么要清除Bom头

    什么是bom头? 在utf-8编码文件中BOM在文件头部,占用三个字节,用来标示该文件属于utf-8编码,现在已经有很多软件识别bom头,但是还有些不能识别bom头,比如PHP就不能识别bom头,这也 ...

  4. Array.prototype.at。Arrat和 String 中的 at 方法

    一篇有关新 js 特性 at 方法的思考 入参只能是number 类型,允许入参有小数(按照 chrome DevTools Console 测试确实可以带小数) 有返回值,如果对应下标在实例中存在, ...

  5. C# ConfigureWait

    ConfigureAwait 参数为bool类型.true:尝试将延续任务封送回原始上下文 我们一般使用的是false,用于避免强制在原始上下文或调度程序中进行回调. 原理: 以await DoSom ...

  6. CentOS 7 部署SonarQube 8.3版本及配置jenkins分析C#代码

    安装SonarQube 8.3版本 官方文档 下载地址 准备工作 准备一台CentOS 7服务器 SonarQube 8.3版本只支持Java 11 (下载Java 11) 安装PostgreSQL ...

  7. 2021-02-19:给定一个二维数组matrix,一个人必须从左上角出发,最后到达右下角。沿途只可以向下或者向右走,沿途的数字都累加就是距离累加和。请问最小距离累加和是多少?

    2021-02-19:给定一个二维数组matrix,一个人必须从左上角出发,最后到达右下角.沿途只可以向下或者向右走,沿途的数字都累加就是距离累加和.请问最小距离累加和是多少? 福哥答案2021-02 ...

  8. 2021-04-22:给定很多线段,每个线段都有两个数[start, end],表示线段开始位置和结束位置,左右都是闭区间,规定:1)线段的开始和结束位置一定都是整数值,2)线段重合区域的长度必须>=

    2021-04-22:给定很多线段,每个线段都有两个数[start, end],表示线段开始位置和结束位置,左右都是闭区间,规定:1)线段的开始和结束位置一定都是整数值,2)线段重合区域的长度必须&g ...

  9. [HUBUCTF 2022 新生赛]help

    题目告诉我们要走迷宫了嘛,那么主要就是找地图: 查壳: 64位,进IDA: 创建地图?跟进去看看: 看看num里装了啥: emm挺长的,有能力的小伙伴可以手搓一个地图,反正我没手搓出来QWQ 再看看判 ...

  10. CSharp初体验

    入门 初来乍到了解一门新的语言,它可能和熟悉的c/c++有不小差别,整体上需要首先了解下语法文件的整体结构.例如,源文件整体结构如何. 乍看CSharp源文件(compile unit)的结构,官网主 ...