易表在线答疑技术与交流用户社区 → 文件复制的指令该如何写


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

主题:文件复制的指令该如何写

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


加好友 发短信
等级:论坛游侠 帖子:238 积分:882 威望:0 精华:0 注册:2012/4/11 10:40:00
文件复制的指令该如何写  发帖心情 Post By:2012/5/21 17:42:00 [只看该作者]

我想在易表的自定义菜单或自定义按钮中,执行一个复制文件的指令,改怎么写,比如我可以先用do(31)打开定位文件路径对话框,然后把选定的文件复制到指定的路径比如D:\test目录下

如何写这些指令呢


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


加好友 发短信
等级:超级版主 帖子:16190 积分:125850 威望:1 精华:0 注册:2006/8/12 12:29:00
  发帖心情 Post By:2012/5/21 17:49:00 [只看该作者]

文件复制函数,第一个参数指定原文件,第二个参数指定目标文件,必须包括完整的路径,例如:
CopyFile("c:\data\sales.egd","d:\backup\sales.egd")

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


加好友 发短信
等级:超级版主 帖子:16190 积分:125850 威望:1 精华:0 注册:2006/8/12 12:29:00
  发帖心情 Post By:2012/5/21 17:52:00 [只看该作者]

利用文件对话框获得一个文件名。

语法:

GetFileName(Filter, Title, Mode)

Filter
过滤器,指定在对话框的文件列表框中显示的文件的类型。
过滤器由description和fifter组成,中间使用使用符号“|”隔开。例如,选择过滤器为Text Files|*.txt,就显示所有的文本文件,前面的Text Files是description,后面的*.txt是fifter,fifter可以有多个文件类型组成,不同的文件类型用分号(;)隔开。
可以同时提供多个过滤器,这样话框显示时将出现一个过滤器列表,用它可以进行选择文件类型,过滤器之间同样使用符号“|”隔开。下列代码给出一个过滤器的例子,该过滤器允许选择文本文件或含有位图和图标的图形文件:
Text Files|*.txt|Pictures Files|*.bmp;*.ico

Tiltle   对话框标题

Mode     对话框类型,0为打开方式,1为保存方式

例子:
1、备份当前文件,备份文件的名称和位置由用户自己确定,可以增加一个按钮或菜单项,将其公式设为:
Save() And BackupFile(GetFileName("易表文件|*.egd","备份",1))

2、假定有一个照片列,希望由用户通过对话框选择照片填入到照片列,公式为:
SetCellText(GridName,Row,"照片",GetFileName("图形文件|*.jpg;*.bmp","选择照片",0))


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


加好友 发短信
等级:论坛游侠 帖子:238 积分:882 威望:0 精华:0 注册:2012/4/11 10:40:00
  发帖心情 Post By:2012/5/21 18:02:00 [只看该作者]

谢谢 老师

CopyFile(GetFileName("图形文件|*.jpg;*.bmp","选择照片",0),docdir+"\mypic.jpg")

这样写有用么

[此贴子已经被作者于2012-5-21 18:13:54编辑过]

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


加好友 发短信
等级:超级版主 帖子:16190 积分:125850 威望:1 精华:0 注册:2006/8/12 12:29:00
  发帖心情 Post By:2012/5/21 18:25:00 [只看该作者]

1、设置表达式变量%A%:
GetFileName("易表文件|*.egd","文件",0)

2、设置字符变量%B%;

3、按钮公式:
SetVariable("%B%",[%A%]) And CopyFile([%B%],docdir+Split(Text([%B%]),"\",Len(Text([%B%]))-Len(Substitute(Text([%B%]),"\",""))+1))

说明:
1、现在复制的文件是易表文件(当然可以其他文件);
2、现在是复制到当前文件到相同路径,更改docdir可以任意路径。


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


加好友 发短信
等级:超级版主 帖子:16190 积分:125850 威望:1 精华:0 注册:2006/8/12 12:29:00
  发帖心情 Post By:2012/5/21 19:46:00 [只看该作者]

表达式变量%A%:

GetFileName("易表文件|*.egd|电子表格|*.xlsx|文本文件|*.txt|图形|*.gif;*.jpg;*.bmp;*.ico","文件",0)

就可以选择多种文件

 


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


加好友 发短信
等级:超级版主 帖子:16190 积分:125850 威望:1 精华:0 注册:2006/8/12 12:29:00
  发帖心情 Post By:2012/5/21 20:30:00 [只看该作者]

只说不练是不行的!

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:拷贝文件.egd

[此贴子已经被作者于2012-5-21 20:55:33编辑过]

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


加好友 发短信
等级:论坛游侠 帖子:238 积分:882 威望:0 精华:0 注册:2012/4/11 10:40:00
  发帖心情 Post By:2012/5/21 21:08:00 [只看该作者]

例子不行呀,一点按钮就崩溃

是不是代码有这样的情况http://www.egrid2000.com/dvbbs/dispbbs.asp?boardid=2&Id=20880


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


加好友 发短信
等级:超级版主 帖子:16190 积分:125850 威望:1 精华:0 注册:2006/8/12 12:29:00
  发帖心情 Post By:2012/5/22 8:16:00 [只看该作者]

不行就算我没有发!!闪啦

 回到顶部