| 以文本方式查看主题 - 搭建论坛 (http://bbs.diylsoft.com:8118/starforum/index.asp) -- 数据库交流 (http://bbs.diylsoft.com:8118/starforum/list.asp?boardid=6) ---- [转帖]跟我学“发烧积木”系列之四--数据输入的设计 (http://bbs.diylsoft.com:8118/starforum/dispbbs.asp?boardid=6&id=686) |
| -- 作者:admin -- 发布时间:2002-12-6 20:23:06 -- [转帖]跟我学“发烧积木”系列之四--数据输入的设计
2.2 输入交易表的具体要求
2.2.1 交易日期、班次、油品代码字段可以自动复制前一笔输入的内容,当内容一致时不需要输入,直接回车即可,内容不一致时可以通过鼠标或者直接修改;
2.2.2 按顺序输入内容回车后,光标自动跳到下一个要输入的字段,从而实现仅仅操作数字小键盘就可以完成交易的连续输入;
2.2.3 当输入卡号内容回车后可以在屏幕上显示该卡号所对应的车辆的相关信息以及该车所属单位的相关信息;
2.2.4 输入油品代码回车后自动显示该油品的品名、单价等相关信息;
2.2.5 可以通过选择日期、班次过滤出本班的交易明细并且自动计算汇总金额,通过与打印的交易小票以及本班班报表核对,以检查输入数据的正确性;
2.2.6 发现某一天的交易输入错误,可以查找到输入错误的交易进行修改。
3、 设计的实现
3.1 设计出框架
3.1.1 首先设计上半部分框架
①先在项目中放置几个普通标签或者立体标签等标签类构件,并把它们的标题设置为“交易日”、“班次”、“卡号”、“油品代码”、“加油数量”、“单价优惠”等等内容,自动调整大小以及透明属性设为“真”;
②设置数据库构件ADO数据库连接1、ADO数据表1、数据源1到项目上,设置ADO数据库连接1的数据库名称属性为“油站数据库”,ADO数据表1的数据库属性设为“ADO数据库连接1”、表名称属性为“交易表”,数据源1的数据集属性设为“ADO数据表1”;
③放置字段日期编辑1,数据源设为“数据源1”,选择字段为“交易日期”;
字段组合框1,数据源设为“数据源1”,选择字段为“班次”;
字段行编辑1,数据源设为“数据源1”,选择字段为“卡号”;
字段行编辑2,数据源设为“数据源1”,选择字段为“油品代码”;
字段数字编辑1,数据源设为“数据源1”,选择字段为“加油数量”;
字段数字编辑2,数据源设为“数据源1”,选择字段为“单价优惠”;
字段文本1,数据源设为“数据源1”,选择字段为“客户号”;
字段文本2,数据源设为“数据源1”,选择字段为“金额”;
其他字段可以参照源程序进行设置,
④放置数据导航条,并且设置数据源为数据源1,并且放置几个“增加”、“存储”、“替换”等相关按纽。
再对各个构件的位置、大小等具体属性进行设置,使其看起开更加美观。
经过以上操作,我们就基本设置好了上半部分的大致框架。接下来我们将进行具体的事件设置。
3.1.2重要属性及其具体事件语句的设置
为了理清设计思路,我们有必要按照软件使用者的操作顺序以及事件执行的顺序来设计具体事件。
a 当我们开始进行数据输入工作时,一般会单击“增加”按纽,首先要执行交易表的增加方法,然后设置选中第一个要输入的字段行编辑1,同时可以把其他一些标签的内容预置为空;具体如下:
技巧:由于交易日期和班次可以通过鼠标选择,只要把ADO数据表1的“复制字段”属性设置为[交易日期? 班次? 油品代码],从第三笔交易开始,当增加一笔交易时,这三个项目会自动复制你前一次输入的内容,如果不需要更改直接回车就可以了,这样是不是极大地提高了你的输入效率?
b 增加ADO数据表2(单位车辆表)、公用事件1、一般对话窗口1等相关构件(请参考源程序设置)
技巧:我们输入完一个字段内容后希望光标自动移到下一个要输入的字段,而且要自动检查所输入的卡号是否存在,如果存在继续执行,光标会跳到油品代码字段,如果不存在则弹出对话窗口提示重新输入。通过设置构件的“按下Enter键”事件可以实现 ,如输完卡号回车,设计如下:??
通过ADO数据表2的定位查询(首先设置好定位查询属性)检查卡号是否存在,在“查询失败”事件中设置如下:
由于前面在“按下Enter键”中已经设置了字段行编辑2设置输入焦点,也就是说当查询成功后光标会自动跳到字段行编辑2(油品代码),当然也可以前面不设置,而放到ADO数据表2查询成功事件内设置更符合思维逻辑。同样道理把其他构件的“按下Enter键”事件都设置好。
c 输入完最后一个字段(单价优惠)回车后,需要保存所输入的内容:
位图按纽2为存储按纽,代码如下:
首先执行公用事件的所有事件,也就是保存后光标又回到“增加”按纽,回车开始新一条交易的输入。而公用事件的具体代码语句如下:
公用事件-甲事件
公用事件-乙事件
公用事件-丙事件
这样就基本完成了输入的基本设计,当然还需要不断完善,比如为了使打开输入时使交易日期为最后一笔交易的日期或者是当前日期,我们可以在输入界面的“窗口可见”事件中设置。
以上还有其他一些构件没有详细介绍,大家可以参考源程序进行学习。同时为了能够自己找出开发中出现的错误,使执行语句尽可能地精简,从而提高软件运行速度,大家平时要养成良好的编程习惯:
1、 开发时多使用注释语句,以免将来程序变的非常复杂时能够轻易明白语句所要实现的目的,便于理解和进一步的修改优化;
2、 学会自己调试发烧积木程序,打开主界面的“管理\\调试运行当前程序”执行方式选择“单步”然后执行,检查每一条语句执行后的结果,这样可以非常方便地看到语句运行的先后顺序及其运行结果;
3、 平时在熟悉发烧积木使用手册的基础上多研究一下相关实例的编程方法。
下载源码
|
| -- 作者:引力波 -- 发布时间:2002-12-7 10:29:15 -- admin先生: 最近我设计了一个职称证书打印软件,有高级、中级、初级三个同类型数据表,公用一个报表页面,利用“数据表”中的“数据操作”将字段内容赋值给字段标签,共有11个字段内容,但我看“数据操作”中只能提供9个,该如何处理,请您赐教。 |
| -- 作者:洪滨 -- 发布时间:2002-12-7 10:49:04 -- 请在积木主页下载教学管理实例做参考,对你会有帮助的! |
| -- 作者:阳光 -- 发布时间:2002-12-7 13:07:48 -- 以下是引用引力波在2002-12-7 10:29:15的发言:
admin先生:
最近我设计了一个职称证书打印软件,有高级、中级、初级三个同类型数据表,公用一个报表页面,利用“数据表”中的“数据操作”将字段内容赋值给字段标签,共有11个字段内容,但我看“数据操作”中只能提供9个,该如何处理,请您赐教。
今天是星期六,大家都休息了吧?小女了先试着回答您的问题。
其实,数据操作一共提供了10个固定字段(包括:字段名称、字段内容),您很不幸,正好差一个字段。只好动态赋值,就是要用到第10个字段。您没看到在“操作数据”属性中,还有一个“字段_X”吗?我记得光盘上的“劳动服务管理系统”就是用了这种方法,你可以参考参考。
|
| -- 作者:admin -- 发布时间:2002-12-7 17:14:03 -- 谢谢阳光。回答基本正确。“字段_X”与“字段名称”对应起来,动态进行赋值。具体实例是——“劳动服务管理系统”的导入与导出数据,由于该数据库字段超过了10个,所以采用了这种方法。您可以借鉴。 另“引力波”,您有问题时,可以开新帖,您现在的问题与第一楼并不相关,不宜于其他会员的查看。 [此贴子已经被作者于2002-12-7 17:22:13编辑过]
|
| -- 作者:admin -- 发布时间:2002-12-7 17:18:06 -- 值得一看的好文! 水手剖析自己的“加油站管理系统”。 |
| -- 作者:引力波 -- 发布时间:2002-12-8 11:13:44 -- 谢谢!!! |
| -- 作者:独情冰心 -- 发布时间:2003-12-23 21:09:22 -- 源码不能下啊 |
| -- 作者:水手 -- 发布时间:2003-12-24 8:51:10 -- http://www.headersoft.com/temp/feverstu.chm中的好象可以。 |