以文本方式查看主题

-  易表在线答疑  (http://egrid2000.com/dvbbs/index.asp)
--  用户社区  (http://egrid2000.com/dvbbs/list.asp?boardid=2)
----  文件复制的指令该如何写  (http://egrid2000.com/dvbbs/dispbbs.asp?boardid=2&id=21200)

--  作者:Egei
--  发布时间:2012/5/21 17:42:00
--  文件复制的指令该如何写

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

如何写这些指令呢


--  作者:wjq1072
--  发布时间:2012/5/21 17:49:00
--  
文件复制函数,第一个参数指定原文件,第二个参数指定目标文件,必须包括完整的路径,例如:
CopyFile("c:\\data\\sales.egd","d:\\backup\\sales.egd")

--  作者:wjq1072
--  发布时间: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
--  发布时间:2012/5/21 18:02:00
--  

谢谢 老师

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

这样写有用么

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

--  作者:wjq1072
--  发布时间: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
--  发布时间:2012/5/21 19:46:00
--  

表达式变量%A%:

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

就可以选择多种文件

 


--  作者:wjq1072
--  发布时间:2012/5/21 20:30:00
--  

只说不练是不行的!

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

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

--  作者:Egei
--  发布时间:2012/5/21 21:08:00
--  

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

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


--  作者:wjq1072
--  发布时间:2012/5/22 8:16:00
--  
不行就算我没有发!!闪啦