ITPub博客

首页 > 应用开发 > IT综合 > 用Developer2000开发POS机程序常见问题的解决-3

用Developer2000开发POS机程序常见问题的解决-3

原创 IT综合 作者:lilong 时间:2004-11-17 13:13:02 0 删除 编辑
POS机的程序更新是一个很令人头痛的问题,尤其是POS机数量比较多的时候。 [@more@]

如果手工逐个更新POS机的程序实在是太麻烦了,而且容易遗漏。要是能像其他软件一样可以自动检测程序的版本,并且可以自动下载最新的更新程序就好了。

我的解决思路大致是:
1.建立一个FTP服务器,用于存储最新的更新程序。
2.建立一个表用于存储最新的版本号。
3.在安装目录中存放一个文本文件存储当前的版本号。
4.在登录的时候比对文本中的版本号与服务器数据库中的版本号,如果不同则下载最新的程序。

登录程序的WHEN-NEW-FORM-INSTANC触发器内容如下:
DECLARE
in_file text_io.file_type;
linebuf VARCHAR2(80);
var_ver VARCHAR2(30);
version VARCHAR2(30);
BEGIN
in_file:=text_io.fopen('version.txt','r'); --version.txt存放当前的版本号
text_io.get_line(in_file,linebuf);
var_ver:=linebuf;
text_io.fclose(in_file);
SELECT ver into var_ver from t_version; --t_version表存放最新的版本号
IF version<>var_ver THEN
SET_ALERT_PROPERTY('ALERT_SH',ALERT_MESSAGE_TEXT,'有更新的程序版本,请进行版本升级!');
IF SHOW_ALERT('ALERT_SH')=ALERT_BUTTON1 THEN
HOST('UPDATE.BAT',NO_SCREEN); --调用外部ftp程序
END IF;
end if;
exception
when no_data_found then
SET_ALERT_PROPERTY('ALERT_SH',ALERT_MESSAGE_TEXT,'没有找到版本信息,请与后台人员联系!');
IF SHOW_ALERT('ALERT_SH')=ALERT_BUTTON1 THEN
NULL;
END IF;
Exit_Form(No_Validate);
end;

update.bat的作用是调用外部的ftp命令,内容如下:
ftp -n -i -s:update.dat

update.dat是ftp批处理文件,内容如下:
open 192.168.0.1
user guest 123456
bin
mget *.*
disconnect
bye

以后如果有新的版本,只要修改t_version表中的版本号,同时把新程序和新的version.txt一起放在ftp服务器的指定目录中就可以了。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/18966/viewspace-780877/,如需转载,请注明出处,否则将追究法律责任。

下一篇: 中国足球
请登录后发表评论 登录
全部评论
  • 博文量
    50
  • 访问量
    902978