TC官方合作论坛

标题: TC文件操作 第十五章 [打印本页]

作者: Abin    时间: 2012-7-30 16:54
标题: TC文件操作 第十五章
TC操作的文件,一般有三种:INI格式文件,TXT格式文件,图片文件。

1、        图片文件
图片文件一般都是用做界面美化的资源,以及找图命令的资源。例如:
  1. 整型 图像序号,返回的x坐标,返回的y坐标
  2. 图像序号=图像.找图(0,0,1440,900,"d:\\111.bmp|d:\\222.bmp|d:\\333.bmp",#203040,0.8,0,返回的x坐标,返回的y坐标)
  3. 如果(图像序号>=0)
  4.        辅助.消息框(转换.整型转字符型(返回的x坐标))
  5.        辅助.消息框(转换.整型转字符型(返回的y坐标))
  6.        辅助.消息框("找到该图")
  7. 否则
  8.      辅助.消息框("没有找到该图")
  9. 如果结束
复制代码



2、       INI文件
是windows的系统配置文件所采用的存储格式,统管windows的各项配置,一般用户就用windows提供的各项图形化管理界面就可实现相同的配置了,但在某些情况,还是要直接编辑.ini才方便。

格式: INI文件是由 节、键、值组成。
节: 就是文件里中括号所表示的内容。如:[数据域]
键与值:就是文件里等号两边的内容。例如:name=张三,那么这里的name就是键,而键的值,我们就称之为值。

在TC里操作INI的命令
  1. 辅助.写配置("RealmName","East","serverGerman","D:\\abc.ini")
复制代码

RealmName为节,East为键,serverGerman为值,D:\\abc.ini为INI文件路径。
  1. 字符型 字符串
  2. 字符串=辅助.读配置("RealmName","East","D:\\abc.ini")
  3. 辅助.消息框(字符串)
复制代码
读配置其实就是获取INI文件里的值,一个INI文件里,这个值是通过节与键来确定的。


3、       TXT文件
TXT的文件操作比较复杂,所以TC提供了一个专门处理文件的空间,叫文件。这一套完整的命令,已经足够我们处理如何文件了!
3.1、创建文件
        整型 创建(字符型 path,字符型 attribute="创建文件")
        第一个参数是文件的路径,第二个是文件的属性,可以是一个也可以是多个的组合返回值是成功创建文件的文件句柄,创建失败则返回0,所以在使用的时候,要判 断函数的返回值。
例如:
  1. 整型 文件句柄
  2. 文件句柄=文件.创建("d:\\1.txt","读写|共享读|共享写|总是创建") //自定义属性
  3. 如果(文件句柄==0)
  4.     辅助.消息框("文件创建失败")
  5. 否则
  6.     辅助.消息框("文件创建成功")
  7.     文件.关闭(文件句柄)
  8. 如果结束
复制代码


3.2、打开文件
        整型 打开(字符型 path,字符型 attribute="读写|共享读|共享写|文件要存在")
        第一个参数是文件的路径,第二个是文件的属性,可以是一个也可以是多个的组合,返回值是成功打开文件的文件句柄,打开失败则返回0,所以在使用的时候,要判断函数的返回值。

3.3、关闭文件
        逻辑型 关闭(整型 handle)
        这里的handle为文件句柄,这个参数是创建文件或者打开文件的返回值。当文件不需要操作了,或者是操作完毕了,我们都应该关闭文件,释放掉系统的资源。

3.4、设置文件的读写位置
         逻辑型 设置游标位置(整型 handle,字符型 pos)
         这个命令是用来控制文件的读写位置,可以从文件头位置开始,或者是文件结束位 置开始。当我们打开文件或者是创建文件时,文件的读写位置是在文件头位置
         例如:
  1. 整型 文件句柄
  2. 文件句柄=文件.打开("d:\\1.txt")
  3. 文件.设置游标位置(文件句柄,"开始")
  4. 文件.设置游标位置(文件句柄,"结束")
  5. 文件.关闭(文件句柄)
复制代码

3.5、向文件写入内容
        逻辑型 写入(整型 handle,字符型 inputstr)
        在当前的文件读写位置,向文件中写入指定的内容。handle为文件句柄,这个参数是创建文件或者打开文件的返回值。

        逻辑型 写一行(整型 handle,字符型 str)
        在当前的文件读写位置,写入指定的内容,并且会自动换行,而写入命令是不会自动换行的。这个命令也可以直接使用写入命令来实现,只需要在写入的内容后面增加换行符(”\r\n”),”\r”表示回车,”\n”表示换行。代码如下:
  1. 文件.写一行(文件句柄,"aaaa")
  2. // 等价于
  3. 文件.写入(文件句柄," aaaa "+”\r\n”)
复制代码
        这2个写内容方法使用时,需要注意一个问题:如果写入位置在文件头,那么当文件头有内容时,会覆盖原来的内容。如果写入的内容比原有的内容长,那么会完全覆盖原有内容;如果写入的内容比原有内容短,那么只会覆盖写入长度的内容,还有一部分原有内容会保留!

         逻辑型 末尾写入(整型 handle,字符型 inputstr)
        在文件的末尾位置写入内容,使用这个命令的时候,TC会自动将文件的写入位置设置到文件的末尾,之后再写入数据。所以这个命令也可以用写入命令来实现,只需要在写入内容之前,将文件的写入位置设置到文件的结束位置就可以了。代码如下:
  1. 文件.末尾写入(文件句柄," aaaa")
  2. // 等价于
  3. 文件.设置游标位置(文件句柄,"结束")
  4. 文件.写入(文件句柄," aaaa")
复制代码

3.6、获取文件的长度
         整型 长度(整型 handle)
         命令的返回值表示获取到文件的总大小。

3.7、判断指定路径的文件是否存在
         逻辑型 是否存在(字符型 path)
         这个命令用来判断指定路径的文件是否存在,如果文件不存在,则返回假,存在则返回真。这个命令一般用了打开文件的操作之前

更多的文件操作命令,我们可以参照TC的帮助文档,只要打开TC软件,点击软件的右上角的问号,就可以打开帮助文档,之后在TC API说明里找到文件命名空间。


对上一章数组还有不熟悉的同学可以再回顾一下
http://bbs.tyuyan.com/thread-14018-1-1.html

这一章节我们学完了,一起来看下一章TC网络空间通信
http://bbs.tyuyan.com/thread-15956-1-1.html



作者: Abin    时间: 2012-7-30 17:03
自己先占一楼,备用!
作者: jrflsh    时间: 2012-7-30 17:52
木有人顶么?
我来坐板凳
作者: z0230226    时间: 2012-7-30 18:08
我也来支持
作者: whoyeyang    时间: 2012-7-30 19:33
顶吖~
作者: 陌上青衣。    时间: 2012-7-30 20:33
我又来晚了
作者: yvonyang    时间: 2012-7-31 09:44
我急于想知道,可以操作execl文件吗?请指教
作者: Abin    时间: 2012-7-31 10:02
回复 7楼yvonyang的帖子

暂时不可以,你得借助一些插件去实现!
作者: Abin    时间: 2012-7-31 10:02
回复 4楼z0230226的帖子

呵呵~~~ 大美女要经常来支持我哈!
作者: Abin    时间: 2012-7-31 10:04
回复 5楼whoyeyang的帖子

阿弥陀佛!! 方丈路过! 让我倍感万分啊!
作者: Abin    时间: 2012-7-31 10:04
回复 6楼陌上青衣。的帖子

不晚不晚~~~ 来了就好!
作者: myismaln    时间: 2012-8-16 19:08
好功能啊!~~
作者: scj2zxy    时间: 2012-8-25 16:57
没有基础的人好困惑啊
作者: 105735417    时间: 2012-8-25 18:05
顶顶
作者: 105735417    时间: 2012-8-25 18:25
收藏
作者: 冷咖啡    时间: 2012-9-19 16:09
#import "dm.dmsoft" dm,跟视频对照着看挺好的
作者: iceangellion    时间: 2012-9-24 11:43
不错,受教了
作者: zxlm119    时间: 2012-10-16 16:01
支持~~
作者: feng123144    时间: 2012-12-3 11:57
格式: INI文件是由 节、键、值组成。
新人会知道这个是什么意思吗?节是什么?键是什么?值是什么?
新人看不懂教程就是因为术语的意思不明了
作者: qisi2012    时间: 2013-1-7 20:00
好啊!!!!!!!!、
关注...............................
...............................关注
作者: laowantong    时间: 2013-3-2 08:12
回复 1楼Abin的帖子

学习
作者: laowantong    时间: 2013-3-4 00:59
xxxxx
作者: cjrcc    时间: 2013-3-25 00:36
学习了,感谢分享~!
作者: slz336    时间: 2014-8-26 13:52
我是来拿分的。谢谢




欢迎光临 TC官方合作论坛 (http://bbs.52tc.co/) Powered by Discuz! X3.1