Open - 打开文件或串行通道
Open用于打开文件或串行通道,以进行读取或写入。
例一
VAR iodev logfile;
Open "HOME:" \File:= "a.txt", logfile \Write;
打开单元HOME:中的文件LOGFILE1.DOC,以进行写入。随后,当写入文件时,在程 序中使用参考名称logfile
例二
VAR iodev logfile;
Open "a.txt", logfile \Write;
结果与例1相同。默认路径为HOME:
ReadStr - 从一个文件或串行通道读取一个字符串
ReadStr(Read String)用于从一个基于字符的文件或串行通道读取一个字符串。
VAR string text;
VAR iodev infile;
Open "HOME:/file.doc", infile\Read;
text := ReadStr(infile);
向text分配一个从文件file.doc读取的字符串。
返回值 数据类型:string 从指定文件或串行通道读取的字符串。如果文件为空(文件末尾),则返回字符 串"EOF"
Write - 写入到基于字符的文件或串行通道
Write用于写入基于字符的文件或串行通道。可将特定数据的值同文本一样写入。
Write logfile, "Execution started";
通过引用名称logfile,将文本Execution started写入文件。
VAR num reg1:=5;
Write logfile, "No of produced parts="\Num:=reg1;
通过引用名称 logfile,将文本No of produced parts=5写入文件。
综合
读取文件内容
MODULE Module1
VAR iodev infile;
VAR string text;
VAR bool IsEmpty;
PROC main()
!打开文件
Open "C:\\a.txt", infile\Read;
!设置是否是空
IsEmpty:=TRUE;
!判断文件读取状态
WHILE IsEmpty DO
!读取一行文字
text:=ReadStr(infile);
!判断读取的是不是空白 是 IsEmpty 设置为false
IF text <>EOF THEN
TPWrite text;
ELSE
IsEmpty:=FALSE;
ENDIF
!延时
WaitTime 1;
ENDWHILE
!关闭文件
Close infile;
ENDPROC
ENDMODULE
把内容写入到文件里
MODULE Module1
VAR iodev infile;
PROC main()
!打开文件
Open "D:\\c.txt",infile\Write;
!写入文字
Write infile,"Hello World!";
!关闭文件
Close infile;
ENDPROC
ENDMODULE
希望对你们有所帮助,如有不足之处,欢迎大家留言探讨,本文已经首发在个人微信公众号:龙猫YOU ,欢迎关注!