博文
做一个合格程序员的一点想法(2006-08-19 10:01:00)
摘要: 虽然我还不算是个程序员,也没有经过系统的程序设计学习,只是在学校里学的一点计算机基础知识,简单的VFP程序设计及用QBasic编写几个当时自己认为比较好听的音乐,对程序员的认识可以说是非常浅簿的,所以这里所说的也只是个人的想法而矣,就当是一种思考……一种希望……或是一种想象……或是随谈……
我们现在使用的计算机软件都是程序员设计的,安装使用时有许多同类软件可以供使用者选择,为什么总会有一部分软件受用户的欢迎,一直受到大家的欢迎,长期的拥有使用群?为什么有些软件却是一出世,在用户那只是试用了一下就宣告死亡,不再有人问今呢?这里面的原因有许多,也许是软件售价不菲,也许是软件设计的使用习惯不符合使用者的习惯,也许是软件的漏洞太多,也许是软件的功能太过单一,也有可能是软件的功能太过多,用户觉得使用太过烦锁!(至少我在这些年的电脑使用过程中是有过此类的想法的)软件的易用性、适用性、实用性等对我而言是非常重要的,对于功能虽然达到,却不易使用,常因操作时不注意而造成错误或一些问题?软件有许多漏洞等我是不愿意继续使用的。
我们常说:“已所不欲,勿施于人。”我想我们设计程序时也同样要考虑在按我们个人想法做好个性化程序的同时,也必须站在使用者的角度思考程序设计中应该做好的问题。否则,就如同自己也不高兴使用的软件一样,他人也一定不会喜欢的。也许程序是我们辛辛苦苦设计出来的,做为程序员来说,可能会觉得自己设计的程序非常的好,但如果没有站在用户的角度去设计,就会有不受欢迎的时候,那时我们设计者的辛苦价值也就一定不能得到体现,也就会造成软件出世之时,即可马上宣布其死期将致!那么这样的程序员你认为是合格的吗?(到底是怪用户不会使用软件,还是自己设计时未设想周全呢?一定要好好思考!?)
举一些简单的例子:比如我们设计的程序是给中国的用户使用的,那么你就得考虑程序中各种提示、信息窗口、按钮等都应该使用中文,避免有用户因英文不太好而造成使用不方便的情况,设计的流程、界面也应该符合中国文化思想、习惯!程序中......
名片管理练习——系统错误提示窗口制作2-2(2006-08-17 10:25:00)
摘要:系统错误提示窗口Open事件代码:
String ls_ErrMsg
String ls_log_file, ls_text
Integer li_file_no
If Error.Number = 0 Then Return
Choose Case Error.Number
Case 1
ls_ErrMsg = '除数为零'
Case 2
ls_ErrMsg = '引用空对象'
Case 3
ls_ErrMsg = '数组越界'
Case 4
ls_ErrMsg = '枚举值超出函数范围'
Case 5
 ......
名片管理练习——系统错误提示窗口制作2-1(2006-08-17 09:23:00)
摘要:⒍系统错误提示窗口
软件有时会因为人为操作的原因或程序本身漏洞的原因或者其它原因出现错误,这时PB的提示信息是英文的,对于我们使用中文的人来说,这肯定会是件非常头痛的事件,而且会有损良好的人机交互界面……
所以接下来先制作一个系统出错时的提示窗口,这样在设计和调试程序时有许多错误可以通过提示窗口中文化信息看到。
①首先,先制作一个“数据窗口(DataWindow)”,在“新建窗口”中选择“DataWindow”项,选择“FreeForm”,点击“OK”按钮,在接下来的窗口中选择“External”,按“Next”,在下面这个窗口中,需要设计5个变量(如下图表:)
字段变量名
变量类型
变量大小
中文含义
Err_number
String
10
错误号
Err_message
String
255
错误信息
Err_where
String
255
出错窗口/菜单
Err_object
String
255
出错对象
Err_event
String
255
出错事件
Err_line
string
255
出错代码行
在下一个窗口中选择“Background Color”为“Button Face”,“Text”项的“Border”为“Raised”,点击“next”,然后点击“Finish”,进入数据窗口设计窗口中,调整相应的属性设置(如下图:)。
调整完成后保存为“d_system_error”。
②接下来可以制作“系统错误提示窗口”了。
新建一个窗口,设置如下的一些窗口属性:
Title(标题):系统错误提示
WindowType(窗口类型):Response!
然后在窗口上放置如下控件:
⑴1个GroupBox:清空其Text属性内容
⑵2个StaticText:st_1.Text = “警告:”;
&......
名片管理系统练习4——主窗口(2006-08-13 14:18:00)
摘要:⒌创建MDIHELP主窗口。
①点New按钮,选择下图中的Window项,点击OK,新建一个窗体。
②设置窗体属性:
在“Title”属性处输入窗口标题“名片管理系统”,因为是主窗口,所以选择“MenuName”,将前面做的主菜单放到这里,点击“MenuName”编辑框右边的“…”按钮可以选择已经存在的菜单。
然后在“WindowType”选择窗口类型为“mdihelp!”,并且选择“WindowState”为“maximized!”最大化。如图所示:
③接下来,选择“Declare Global Variables”,定义一个全部变量GS_USERID,用来保存登录的用户ID信息。(如下图:)
在“EventList”中用鼠标右键点“Add”或选择菜单(如图)增加一个自定义事件“ue_open”。
在出现如下图所示的窗口中输入“Event Name”事件名称为“ue_open”。
接下来就可以在Open事件中输入如下图代码:
这里可以用This.PostEvent (‘ue_open’)的方式,也用This.TriggerEvent(‘ue_open’)的方式执行ue_open事件的代码,执行的效果有何区别呢?下面用两幅图来说明:
PostEvent方式执行的效果图(显示登录窗口,同时主窗口也已经打开,只是不登录不能操作):
TriggerEvent方式执行的效果图(只出现登录窗口):
④好了,下面输入“ue_open”事件代码,具体如下图所示:
注意:因为没有事先建立好“w_login”这个窗口,所以编译时会出错,这里可以先行注释掉,等建立好该窗口后再行去掉注释标记。
完成以上操作后,点击保存图标进行保存,在出现如下图所示的窗口中输入窗口名称“w_main”,并在“Comments”中输入注释信......
名片管理系统练习3——菜单制作(2006-08-13 14:09:00)
摘要:
⒋制作主菜单:
① 点击New按钮,选择New窗口中“PB Object”项下的“Menu”项,点击OK。
② 在打开的菜单编辑窗口画笔中在“untiled0”上点击鼠标右键,选择弹出菜单“Insert Submenu Item”插入子菜单项,并在框中输入“名片输入”,依次增加“名片查询”、“系统维护”、“其它”等菜单项(如下图:)
在输入项的菜单属性窗口中分别按顺序依次在name编辑框中输入m_1、m_2……,并勾选“Lock Name”项,这样可以避免该菜单项名称随着“Text”内容变动。
③ 然后选择“名片输入”菜单项,用同样的方法添加其菜单项下的子菜单“名片录入”、“名片修改”。
为新插入的属性修改为:
◇ Name:菜单的名称。输入“m_input”。
◇ Lock Name:选中该项。
◇ Text:输入“名片录入”。
◇ MicroHelp:输入“将名片数据输入到名片信息表中”
◇ ToolbarItemText:输入“录入”。
◇ &nb......
名片管理系统练习2——数据库创建(2006-08-13 13:34:00)
摘要:⒊在这一步先进行数据库的创建。
创建的过程如下:
① 点击Database图标按钮或菜单项(Tools——Database Painter)或按快捷键Shift+F7,打开数据库画笔窗口;
② 窗然后双击如图所示的“Create ASA Database”。
③ 显示如图,点击“Database Name”项右边的按钮,在打开的窗口中选择数据库存在的文件夹,并输入数据库文件名mpgl.db确定,返回到本图所示窗口,其它项设置先用默认选项(注意默认时,数据库的UserID为DBA,Password为SQL,不区分大小写),再点击OK按钮,PB9就开始创建该数据库了,创建成功后,自动连接到该数据库;接下来的工作就是要设计添加前面我们准备的2张数据表。
④ 点击工具栏上的新建数据表图标按钮,按下图所示输入相应的字段及相关信息,点击保存按钮,输入数据表名users即可。
⑤ 保存完成后,在Object Layout中自动添加了users表,如图所示,
下一步就是设置其各项属性,用鼠标右键单击各字段或表名,在属性对话框中输入相应的中文注释信息或字段的标签、标题等信息。(如下图:分别输入相应内容)
依此类推,设置好所有字段的相应信息。
⑥ &nbs......
名片管理系统练习1(2006-08-13 13:26:00)
摘要:(参考北京达通兴电脑科技开发有限公司——郭宝利老师写的PB项目开发实例《名片管理》)
一、主要功能:
⒈实现名片的录入、修改、查询(打印)功能;
⒉实现用户和权限的简单管理;
二、数据库设计(使用SQL AnyWhere 8.0数据库,数据库文件名为:mpglxt.db):
⒈用户信息表(users)
字段名
数据类型
长度
是否允许空值
含义
主键或索引
userid
Char
10
Not
用户ID
主键
password
Char
20
Not
密码
Username
Char
20
Yes
用户名
privelege
Char
60
Yes
权限
⒉名片信息表(mpgl)
字段名
数据类型
长度
是否允许空值
含义
主键或索引
Bh
Char
10
Not
编号
主键
Xm
Char
20
Yes
姓名
Zw
Char
20
Yes
职务
Gs
Char
60
Yes
公司
Dh
char
40
Yes
电话
Cz
Char
40
Yes
传真
Dz
Char
60
Yes
地址
Yb
Char
6
Yes
邮编
Email
Char
30
Yes
E-mail
Yw
Char
300
Yes
业务
Bz
Char
300
Yes
备注
......
验证身份证号输入的正确性(2006-08-10 12:49:00)
摘要:/*-------------------------------------------------------------------------------
* 函数名称:Boolean gf_check_identity(string as_identity)
* 函数功能: 验证身份证号输入的正确性
* 参数说明: string as_identity 身份证号
* 返 回 值: True 成功
* False 失败
* 调用举例: gf_check_identity('410101650101101')
* 尚未完善:没有对身份证号码的第18位校验位进行判断。因为我暂时没有找到第18位
* 的校验算法,等找到了我再加上。应该比较简单。
* 修改日期: 2001-6-20
* 修 改 人: 郭保利
*--------------------------------------------------------------------------------
* 修 改 人: 江松华 Date: 2006.07.13
*--------------------------------------------------------------------------------
* 修改内容:
* 增加了对身份证号码第18位数的验证功能。
*--------------------------------------------------------------------------------*/
String ls_identity_no
String ls_year,ls_month,ls_day,ls_date
String ls_today<......
PB程序开发步骤(2006-08-09 08:10:00)
摘要: PowerBuilder应用程序开发与多数编程软件类似,基本上都是经过以下5个阶段:
系统分析和系统设计——在开发之前必须充分了解系统需求,理解系统应该完成的真正任务;理解了需求后,就进入了系统设计阶段,这一阶段我们要考虑用户的界面风格、使用哪种数据库以及如何组织数据等。
系统开发——在这里就开始建立应用对象;生成用户对象、函数和结构;建立窗口和菜单;创建数据窗口对象;将数据窗口对象连接到窗口上;编写各对象的事件处理程序。(这一过程,除建立应用对象需在一开始就完成,其它步骤的顺序可以随意。在PB7之前的版本中,第一步是建立应用对象,设计Open事件代码,当然所有需要在代码中引用的对象(包括变量等)均需要先定义后使用。当然可以在代码中先注释掉,等需要引用的对象设计完成后再行去掉注释即可;在PB7版本开始需要建立WorkSpace工作区,然后再建立应用对象。)
调试——系统开发设计完成后,就需要对开发的程序进行调试,通过调试尽可能的找出所有存在的问题及错误。PB提供了单步跟踪、断点跟踪、条件断点、变量查看等多种调试功能。
测试——用于排除系统设计缺陷,检查程序是否实现了需求分析中所要求的各项功能。
生成可执行文件——系统测试无误后,就可以将应用编译成可执行文件用于发行了。
......
初学PB,我眼中的PB(2006-08-08 17:09:00)
摘要: PB(PowerBuilder)是Sybase公司开发的一个用于数据库应用软件开发的一个优秀的软件,DataWindow是其主要的专利技术,使用户非常方便的使用该控件对数据库进行操作。
我是从2006年6月开始学习PB的,学习的原因主要是公司开发ERP应用程序使用了PB开发软件,我以前学习过VFP软件,对数据库也有一点点了解。学习PB之前,我的看法是PB与VFP一样,应该比较容易掌握,区别只是VFP是对中、小型数据库的,而PB可能是对中、大型数据库进行开发的。通过学习发现PB有点类似于VB的代码风格(对VB本人其实不熟悉,但有点了解),主要要掌握应用对象(Application)、PowerScript(代码)、DataWindow(数据窗口)等,总觉得简单,现在发现PB是属于易用、易开发的软件,但真正要深入做好,却非得通过百练,对其各个应用控件、对象等非常熟悉不可。
我按照网上北京通达兴公司的学习资料(下载)名片管理实例,根据其讲解进行了练习,算是实际熟悉了一把PB的应用程序开发(应用对象事件、数据窗口、窗口、按钮、菜单、工具条等)。在这里非常感觉北京通达兴公司提供学习资料下载及郭宝利老师辛勤努力写下的易学易懂的资料。有兴趣的朋友可以去其网站看看http://www.study01job.com转转!......