|
如果你觉得本教程对你有帮助,欢迎大家转载到各大论坛博客。转载还请注明出处哦{:soso_e113:}。老罗感谢大家一直以来的支持!{:soso_e100:}
hi,各位同学好。前面几节课把Skill的一些基础知识已经讲得差不多了。从本节课开始,将慢慢以实例来讲解如何编写出自己的Skill工具。
文件的读取与写入在skill编程中用得比较多。比如常见的丝印导出导入,原理就是先把丝印字号大小、坐标、角度导出到一个文件,然后在另外一个单板上再读取该文件丝印的各个信息,将板上的丝印按文件中的保存的信息进行设置。再比如导出器件placement功能也基本相似。当然,用文件的地方太多了,也列举不完。
本节课开讲之前先简单讲下路径:
绝对路径:即直接指定文件的路径,包括盘符。比如e:/1.txt;f:/1/2/3/test.txt
相对路径:即相对于某一个路径来说的。比如:/1.txt;./test/1.txt
1.如果路径以(~/)开始,那么搜索路径为环境变量home指定的路径
2.如果路径以(./)开始,那么搜索路径为你当前工作目录路径
3.如果路径以(../)开始,那么搜索路径为当前目录的父目录。
文件输入(读取):
文件读取基本步骤如下:
1. 首先使用infile指定读取文件输入端口
2. 使用gets、fscanf等函数读取文件内容
3. 当读取完成后,务必使用close函数关闭文件端口
infile函数
infile打开一个输入端口准备读取文件。
基本结构:
infile(S_fileName)
=> p_inport | nil
说明:
S_fileName:为读取文件路径,可以为相对路径也可为绝对路径。
p_inport:文件端口打开成功,则返回端口值。用于读取文件。
nil:文件打开有误,或者文件不能读取。
注意:在读取完文件后,需要使用colse函数把文件端口关闭。
get函数
基本结构:gets(s_variableName [ p_inputPort ])
s_variableName:存储读取值的变量
p_inputPort:文件输入端口
例子:读取一个文件中的内容。
在G盘根目录下新建一个文本文件,命名“file.txt”,在文件中输入以下内容:
#This is the data for test#
line 1
line 2
line 3
line 4
line 5
line 6
line 7
line 8
line 9
line 10
新建一个il文件,输入下面代码,并使用Skill Debuger加载:
- ;gets
- if(isFile("G:/file.txt");判断文件是否存在
- then
- printf("Read File "G:/file.txt" for test gets:\n");提示读取文件
- file = infile("G:/file.txt")
- while(gets(s file)
- printf("%s" s)
- );end while
- close(file);注意,文件执行结束后,一定要使用close关闭端口,否则其他程序无法操作。
- printf("\nEnd of the file!\n")
- else
- axlUIConfirm("Not found file!!!");若文件不存在则弹出提示框
- )
复制代码
上面代码首先使用infile函数读取指定的一个文件,并将文件端口传递给变量file,再使用while循环语句,读取文件。其中gets函数用于读取文件中的一行,将读取到的值传递给变量s。当gets函数读取到文件结尾时(EOF)会返回nil,跳出while循环。
读取文件函数除了gets外,还有fscanf.
fscanf函数
如果你觉得本教程对你有帮助,欢迎大家转载到各大论坛博客。转载还请注明出处哦{:soso_e113:}。老罗感谢大家一直以来的支持!{:soso_e100:}
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
|