以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 当前行问题 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=184116) |
-- 作者:michl -- 发布时间:2022/11/24 9:55:00 -- 当前行问题 当打开窗口时执行了filechanged删除行代码,如何能让之前选定的行不变? 比如图中当前行是D,此时执行了datatable("表A").deletefor("第一列 = \'B\'"),当前行会随之下移。如何让当前行还是D不变?
|
-- 作者:有点蓝 -- 发布时间:2022/11/24 10:24:00 -- dim r as row = table("表A").current datatable("表A").deletefor("第一列 = \'B\'") table("表A").position = r.index
|
-- 作者:michl -- 发布时间:2022/11/24 10:48:00 -- 谢谢!再追问两个问题: 1.同上代码中AppendLoad追加一行时,是否当前行不受影响 2.Delay疑问,比如delay=1秒,假设filechanged代码执行需要2秒,当多个用户触发监视器事件时会发生什么,delay属性应该如何设置比较合理? 还是不用考虑这个,每个用户触发的事件都不会遗漏
|
-- 作者:有点蓝 -- 发布时间:2022/11/24 10:51:00 -- 1、正常没有影响,这种事件测试一下不就知道了 2、不同用户的操作都是独立的,监视的是自己电脑上的目录,和其它电脑没有什么关系
|
-- 作者:michl -- 发布时间:2022/11/24 10:58:00 -- 1.测试了没有影响 2.监视的是共享文件,也就是每个电脑都可能会触发事件
|
-- 作者:有点蓝 -- 发布时间:2022/11/24 11:10:00 -- 不建议使用共享目录,可能会有冲突。比如A用户读取后马上删除了文件,其它用户可能还没有开始读取。又比如文件修改,A修改了文件,所有人触发了一次,B又修改这个文件,然后又触发一次 |
-- 作者:michl -- 发布时间:2022/11/24 11:33:00 -- 文件被删除这个暂时不考虑。您说的另一种情况"又比如文件修改,A修改了文件,所有人触发了一次,B又修改这个文件,然后又触发一次" 这个正是希望达到的效果:每个用户修改文件后都触发一次。 我所担心的是会不会每个人修改文件后,因为filechanged代码执行时间问题,影响其他用户再修改再触发该事件。即每个用户修改后都能被执行触发一次,不被遗漏
|
-- 作者:有点蓝 -- 发布时间:2022/11/24 12:16:00 -- 文件修改后肯定触发。不过有个问题,a修改,紧接着b修改,这时c也读取了a修改后的文件,然后可能由于什么原因导致b还没有保存,这时理论上可能会出现在1秒内b和c同时保存了文件,可能b比c(或者相反)早保存10毫秒。导致a读取的文件只有b或者c其中一个人保存的内容,而且c也有可能没有办法读取到b保存的内容 |