Foxtable(狐表)用户栏目专家坐堂 → 代码疑问


  共有14051人关注过本帖树形打印复制链接

主题:代码疑问

帅哥哟,离线,有人找我吗?
czy
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33945 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2010/10/15 12:24:00 [显示全部帖子]

楼主的问题好象有点无厘头了,字符型用<>做比较是可行的,测试结果也表明是没问题的,可楼主就是不行。

发布前后发布后又不一样的结果,这让人摸不着头脑了。

 


 回到顶部
帅哥哟,离线,有人找我吗?
czy
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33945 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2010/10/15 12:33:00 [显示全部帖子]

以下是引用程兴刚在2010-10-15 12:06:00的发言:

 

    主要操作思路及原理:由于不关闭system.foxdb,直接通过system.foxdb来下载覆盖,会被windows操作系统禁止覆盖,因为system.foxdb文件是打开的,所以用了一个update.foxdb来切换

 

下载完成后用CopyFile进行复制并重命名打开的项目名称是可以覆盖的,升级完成后只需syscmd.Project.Open(ProjectFile)就可以重新打开更新后的项目。


 回到顶部
帅哥哟,离线,有人找我吗?
czy
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33945 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2010/10/15 14:47:00 [显示全部帖子]

如果是sql数据源,我觉得按下面的步骤就可以了。

假设在原项目中进行升级:

 

'判断是否可以升级
'获取下载文件大小,将值保存到变量中
DownloadFile '下载更新文件到指定目录
'获取刚下载的文件的大小,将值保存到变量中
'比较服务器文件和已下载的文件大小是否一致(如果不一致说明下载中出错)
CopyFile '复制刚下载的文件,并重命名覆盖原项目
DeleteFile '删除下载的文件
syscmd.Project.Open(ProjectFile) '重启项目


 回到顶部
帅哥哟,离线,有人找我吗?
czy
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33945 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2010/11/1 11:18:00 [显示全部帖子]

以下是引用卟离卟弃在2010-11-1 10:25:00的发言:

 

不会的,假设下载的文件名称为“test.Table”,保存在项目目录下的“test”文件夹中

 

FileSys.CopyFile(ProjectPath & test & "\test.Table",FileSys.GetFileInfo(ProjectFile).Name,True)


 回到顶部
帅哥哟,离线,有人找我吗?
czy
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33945 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2010/11/1 12:00:00 [显示全部帖子]

如果不是单个的文件可以考虑用MoveDirectory,如果替换狐表的所有程序文件,不能替换的可能仍然存在。

 

MoveDirectory

将目录中的内容移到另一个目录,并删除原目录。

语法:

MoveDirectory(Directory, Destination)

Directory: 要移动的目录
Destination:目标位置

例如:

FileSys.MoveDirectory("C:\YourFolder", "D:\MyFolder")


 回到顶部
帅哥哟,离线,有人找我吗?
czy
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33945 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2010/11/1 15:02:00 [显示全部帖子]

问题应该在这吧?

 

FileSys.MoveDirectory("D:\零时文件\其它\自动升级程序", "D:\零时文件\其它\自动升级程序二\" & FileSys.GetFileInfo(ProjectFile).Name,True)


 回到顶部
帅哥哟,离线,有人找我吗?
czy
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33945 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2010/11/2 9:01:00 [显示全部帖子]

以下是引用bohe在2010-11-1 21:37:00的发言:

C版,FileSys.GetFileInfo(ProjectFile).Name 什么意思,帮助中没找到。

 

返回正在使用的项目名称。

[此贴子已经被作者于2010-11-2 9:01:36编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
czy
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33945 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2010/11/2 11:47:00 [显示全部帖子]

试试不替换.exe文件,这个文件好象也没什么必要去替换它。

 回到顶部