请在你的CP Pascal Editor里面做下面文章中的测试哦。
首先通过一个例子来展示pascal
读写txt
文件的方式:
Program Salaries;
Var F:Text;
Salary,max:integer;
Name:String[20];
MaxName:String;
Sex:0..1;
Begin
Max:=0;
Assign(F,'E:\Exam\Salary.txt');
Reset(F);
While not Eof(F) Do
Begin
ReadLn(F,Name,Sex,Salary);
If (Sex=1) and (Salary>Max) then
Begin
Max:=Salary;
MaxName:=Name;
End
End;
Close(F);
Writeln;
WriteLn('The highest ladis salary is for Mrs. ',MaxName,'By Value:',Max);
Writeln;
Writeln;
Writeln;
Writeln;
WriteLn('Press Enter To Exit');
ReadLn
End.
运行代码之前,在你的E:\Exam\
,放进去一个Salary.txt
文件
.txt
文件的内容如下,使用空格或者tab分隔一下:
Peter 0 3500
Helena 1 2000
John 0 0
Natalia 1 7000
Frank 0 7100
运行程序,你会发现:这个程序计算出了女性员工中的工资最高者。
解释: .txt
文件中,1代表女性,0代表男性。
代码中的eof
的意思是:end of file。
Assign
是分配,赋值的意思。
创建txt文件
下面做一件最简单的事情,创建一个txt
文件,往里面写一些东西。
请运行下面的代码:
Program Lesson9_Program2;
Var FName, Txt : String[200];
UserFile : Text;
Begin
FName := 'PASCAL_Textfile';
Assign(UserFile,'C:\'+FName+'.txt'); {assign a text file}
Rewrite(UserFile); {open the file 'fname' for writing}
Writeln(UserFile,'PASCAL PROGRAMMING');
Writeln(UserFile,'要是你有啥不明白的,');
Writeln(UserFile,'请记得仔细阅读我在简书上写的文章哦:');
Writeln('Write some text to the file:');
Readln(Txt);
Writeln(UserFile,'');
Writeln(UserFile,'The user entered this text:');
Writeln(UserFile,Txt);
Close(UserFile);
End.
运行完毕,请你到自己的C盘下面,找到你刚刚创建的文件:PASCAL_Textfile.txt
看看。
修改代码,自己继续尝试10分钟,让自己熟悉这个代码。
重写txt文件
Var UFile : Text;
Begin
Assign(UFile,'C:\PASCAL_Textfile.TXT');
ReWrite(UFile);
Writeln(UFile,'How many sentences, ' + 'are present in this file?');
Close(UFile);
End.
在原来的txt文件后面,追加(append)内容:
Var UFile : Text;
Begin
Assign(UFile,'C:\PASCAL_Textfile.TXT');
Append(UFile);
Writeln(UFile,'append: hahahahaha, '+
'oh my gooooooooooooood');
Close(UFile);
End.
重复执行上述的代码,你会发现,C:\PASCAL_Textfile.txt
文件后面会一次又一次追加上新的内容:
append: hahahahaha, oh my gooooooooooooood
删除文件
Var UFile : Text; { or it could be of 'file' type}
Begin
Assign(UFile,'C:\\PASCAL_Textfile.txt');
Erase (UFile);
End.
此时你会发现文件被删除了。
一些别的用法,你可以参考这个网页.
最后,请完成下面的操作:
在C盘
新建文件file1.txt
往里面随意写入一些文字,保存。
运行代码如下:
program CopyOneByteFile;
var
mychar : string[200];
filein, fileout : text;
begin
assign (filein, 'c:\file1.txt');
reset (filein);
assign (fileout, 'c:\file2.txt');
rewrite (fileout);
read (filein, mychar);
write (fileout, mychar);
close(filein);
close(fileout)
end.
查看C盘中file2.txt
的内容。
你是不是知道了,上面是一个操作文件的示例,程序运行在DOS下,将读取file1.txt
内容,写入到file2.txt
中。
这个过程之中,要是file2.txt
不存在,那么它将被创建。
下面的网站上有不少例子可以参考:
http://pascal-programming.info/lesson9.php
http://wiki.freepascal.org/Object_Pascal_Tutorial/zh_CN
http://www.tutorialspoint.com/pascal/pascal_variable_types.htm
http://wiki.freepascal.org/Lazarus_Documentation/zh_CN
http://progopedia.com/implementation/turbo-pascal/
https://www.daniweb.com/software-development/pascal-and-delphi/threads/50487/pascal-examples
网友评论