易表在线答疑技术与交流用户社区 → 求教错在什么地方


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

主题:求教错在什么地方

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


加好友 发短信
等级:论坛游民 帖子:23 积分:10 威望:0 精华:0 注册:2008/2/23 14:06:00
  发帖心情 Post By:2008/2/24 21:30:00 [只看该作者]

  如何把X去掉或加上公式,避免直接关闭.

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


加好友 发短信
等级:论坛游民 帖子:23 积分:10 威望:0 精华:0 注册:2008/2/23 14:06:00
  发帖心情 Post By:2008/2/24 21:33:00 [只看该作者]

谢ylm

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


加好友 发短信
等级:论坛游民 帖子:159 积分:10 威望:0 精华:0 注册:2006/8/27 23:26:00
  发帖心情 Post By:2008/2/24 22:40:00 [只看该作者]

26楼有问题,如果增加用户,文件就一直打不开,提示文件已打开.

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


加好友 发短信
等级:蜘蛛侠 帖子:1024 积分:10 威望:0 精华:0 注册:2006/8/12 0:15:00
  发帖心情 Post By:2008/2/24 22:53:00 [只看该作者]

以上提供的种种办法不外乎判断文件是否存在,但是如果在程序运行期间,用户手工删除了那个作为判断的文件,或是程序非法操作而关闭,第二次打开又如何判断,岂不出错?易表没有置文件属性的功能,不能锁定已经打开的文件,所以这些办法只能算是应付.

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


加好友 发短信
等级:论坛游民 帖子:23 积分:10 威望:0 精华:0 注册:2008/2/23 14:06:00
  发帖心情 Post By:2008/2/25 18:42:00 [只看该作者]

   不懂老师做的程序最简单实用,但存在一个问题,如果点X关闭,提示保存文件,保存后再打开显示文件已打开,有办法解决吗???

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


加好友 发短信
等级:论坛游民 帖子:23 积分:10 威望:0 精华:0 注册:2008/2/23 14:06:00
  发帖心情 Post By:2008/2/25 21:06:00 [只看该作者]

  看来是没有办法了.....易表主要是想做给别人用的,如果自己用,当然不怕费点事删文件,也不会重复打开,关键是别人用时出错,唉,麻烦,,,,,,,,,,,,,,

 回到顶部
帅哥哟,离线,有人找我吗?
易表小虫
  37楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 帖子:213 积分:200 威望:0 精华:0 注册:2006/8/14 0:23:00
  发帖心情 Post By:2008/2/25 22:04:00 [只看该作者]

下面引用由xj227102008/02/24 10:53pm 发表的内容:
以上提供的种种办法不外乎判断文件是否存在,但是如果在程序运行期间,用户手工删除了那个作为判断的文件,或是程序非法操作而关闭,第二次打开又如何判断,岂不出错?易表没有置文件属性的功能,不能锁定已经打开的文 ...

从你这得到点启示,可否这样:在打开文件时用Export(filename,...)这里filename是文件本身,将本文件中某个标志项目导出到本文件中某表中,在退出时再删除这个标志,这时当其它用户打开这个文件时检测出这个标志即提示某用户已经登录。对于非法关闭退出的也有效,你不可能把这个文件也删掉了。用Export(filename,...)进行操作速度应该没有问题。

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


加好友 发短信
等级:蜘蛛侠 帖子:1024 积分:10 威望:0 精华:0 注册:2006/8/12 0:15:00
  发帖心情 Post By:2008/2/26 4:27:00 [只看该作者]

回复楼上
和我当初用易表编程的时候的想法一样,先用文件预处理公式判断某表中是否有指定内容,如果没有,建立这个指定内容并立即保存;如果有,说明文件是重复打开的,给出提示并关闭文件。另建立文件验证公式,如果含有指定内容就删除该内容后保存。这是易表实现文件重复打开的方法,有点笨,呵呵!
在其他编程中,都是通过注册表验证,或进程查找等方法来实现的

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


加好友 发短信
等级:蒙面侠 帖子:2409 积分:400 威望:0 精华:0 注册:2006/8/14 19:31:00
  发帖心情 Post By:2008/2/26 13:35:00 [只看该作者]

呵呵,偶也来发发自己的做法:

[B]1、应用程序系统的目录树形结构:[/B]
 主程序文件.egd
 pic<图片目录>\dxdl.txt

[B]2、在文件预处理公式中写入以下语句:[/B]

if(Exist(appdir+"dcdl.txt")=true,MsgBox("本系统在同一台机器上不允许多次运行,请按回车键退出!",0,1) and Reset()and Exit(),CopyFile(docdir+"pic\dcdl.txt",appdir+"dcdl.txt") and OpenMenu("myconts")and OpenGrid("主系统",1))

[B]3、在文件验证公式中写入:[/B]
if([%关闭%]="关闭",True,SendKeys("~") And MsgBox("请执行主程序顶层菜单上的[退出]或或主菜单上的[放弃保存退出]按钮!",0))

[B]4、在系统“退出”按钮中写入:[/B]
if(Exist(appdir+"dcdl.txt")=true,DelFile(appdir+"dcdl.txt")and SetVariable("%关闭%","关闭") And Do(12,1),SetVariable("%关闭%","关闭") And Do(12,1))

[B]5、设计思路:[/B]
在应用系统当前目录的pic子目录下放一个dcdl.txt文件(文件内容随便写),然后在应用系统启动时判断操作系统(XP)目录下是否存在dcdl.txt,如果有这个文件,则提示“本系统在同一台机器上不允许多次运行,请按回车键退出!”,如果没找到这个文件,则将pic\dcdl.txt拷贝到操作系统(XP)目录下并正常调用应用系统主菜单。

[B]程序屏蔽了易表自身的“退出”(右上角“X”)功能,主程序退出时删除操作系统(XP)目录下的dcdl.txt文件。

总之以pic\dcdl.txt作为判断标准,程序运行时拷贝dcdl.txt到操作系统(XP)目录下,如果再次启动程序时会因操作系统(XP)目录下已有dcdl.txt文件而禁止再次重复运行主程序![/B]


我一直是这个正常使用的,请大家测试评价!


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


加好友 发短信
等级:论坛游民 帖子:23 积分:10 威望:0 精华:0 注册:2008/2/23 14:06:00
  发帖心情 Post By:2008/2/26 20:25:00 [只看该作者]

回上楼,你的办法较为繁锁,道理跟不懂老师的一样,我用不懂老师的办法改动了一下,如果重复打开出现提示退出并自动删除filename.txt文件,如果用户还不懂检查是否重复打开文件,那俺也没辙了^..^

 回到顶部
总数 49 上一页 1 2 3 4 5 下一页