美文网首页
对文件的操作:打开读写txt文件@Pascal学习日记

对文件的操作:打开读写txt文件@Pascal学习日记

作者: masakakaikai | 来源:发表于2015-04-22 21:56 被阅读1574次

    请在你的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

    相关文章

      网友评论

          本文标题:对文件的操作:打开读写txt文件@Pascal学习日记

          本文链接:https://www.haomeiwen.com/subject/ivhufttx.html