您的位置:首页 > 编程语言 > Delphi

学innosetup实践fastscript(delphi)

2007-05-07 15:45 176 查看
常常遇到要写一些客户端程序,其中90%以上的代码都是一样的,但10%是不一样的。
最土的办法自然是copy一个老程序过来,改一点就行了。但是从软件重用精神讲还是处于初级阶段。
但那些不同之处又是不能通过参数来调整这么简单的,有时还非得代码不可。
我能想到的对策就是2种:插件和脚本。
插件比较重量级,需要编译,需要开发环境。适合逻辑比较复杂的情况。
脚本一般由于不能设断点调试,文本编辑器就可以了,适合逻辑比较简单的情况。
但是插件和脚本逻辑上是完全一样的,都是定义一组回调函数以符合预定义的接口规范,供主程序调用。

因为我最近又实践了一下脚本语言,
不怕丢脸,主程序还是Delphi,脚本还是fastscript.
我自己其实也希望是Java跟javascript/JRuby/Groovy的组合,下次有机会吧,至少原理是一样的吧。

界面:略。

我定义了3个事件:
AfterScan(var SN,Index)
Verify(SN,var ErrMsg):boolean
Submit(SN[])

这样以来,主程序的逻辑就比较简单:
1 用户扫描SN,调用AfterScan(),比如Trim(),或者大小写转换,加前缀等。
2 调用Verify(),如果校验失败就提示错误信息并要求重新输入,成功就继续。
3 最好调用Submit(),因为这里变化比较多。到底要怎么处理这些SN完全凭脚本的定义了。常见的是保存到哪个表。

这样一来,我就把不变的部分逻辑用主程序实现。
变化的部分用脚本定义。
主程序随时可以根据用户的选择,装入不同的脚本,实现不同的业务处
理逻辑。
原来的好多个模块估计就这样可以用一个主程序替换掉了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: