• 文件系统01 零基础入门学习Delphi34


    文件系统01

     

    让编程改变世界

    Change the world by program


     

    Delphi7的文件系统

      通常所说的文件是指存放在磁盘上的一组数据的集合,也称为磁盘文件。 文件的分类:按文件中的数据格式分,文件可分成“文本文件” 和“二进制文件”。  

    [文本文件]

    存放的是与数据对应的字符的ASCII码,一个字符占一个字节。 如有实数-1234.567,要存放在文本文件中,将以字符'-'、'1'、'2'、'3'、'4'、'.'、'5'、'6'、'7'的形式存放,占9个字节。  

    [二进制文件]

    数据都是以二进制形式存放的,数据在文件中存放的格式和它在内存中的格式是一样的。 如 -1234.567 可看成是一个Real型数据,在内存中占4个字节。 可见,二进制形式存放数据占有存储空间较少,但不直观。文本文件占用的存储空间较多,比较直观。  

    使用磁盘文件的步骤

     

    [常识补丁]

    磁盘文件是存放在磁盘上的,而运行的程序只能处理在内存中的数据,不能直接处理磁盘等外存储器上的数据。(小鱼画图时间) 因此只有把磁盘文件中的数据读到内存中,才能在程序中使用。 同样,程序中产生或修改的都是内存中的数据,必须把这些数据写到相应的文件中去,才能使数据保存下来。 可见,磁盘文件在使用之前必须“打开”,在使用完毕后应要“关闭”。  

    [常见的实现方式]

    创建文件

    读取文件

    向一个文件的末尾添加数据

    读文件中某一位置的数据(随机读)

    修改文件中某一位置的数据(随机写)

     

    文件指针

     

    问题:如何在一个文件中间部分写入数据?

    磁盘文件打开后,将会产生一个指针,它指向下一次要读写的数据位置,该指针称为文件指针。 文件指针具有自动移动的功能,文件刚打开时,文件指针指向磁盘文件中的第1个数据,当读取了这个数据后,文件指针自动指向下一个数据。 当把数据写入某个文件时,文件指针总是自动指向下一次要写入数据的位置。  

    Delphi 7中的文件类型及文件类型变量的定义

      在Delphi 7中,经常使用的文件有两类:TextFile(文本文件)和 File(二进制文件) TextFile 文件中包含着我们能读懂的文本。 File 存放形式是二进制,一般用来存放记录类型的数据(称记录型文件)。  

    文本文件变量的定义

    使用文件前需要定义一个文件型的变量,文本文件型变量的定义格式与功能如下:   [定义一个文本文件变量] [codesyntax lang="delphi"]
    Var
        文本文件变量名: TextFile;
    [/codesyntax] 如: [codesyntax lang="delphi"]
    var
        FishcFile:TextFile;
    [/codesyntax]   该语句定义了一个TextFile 类型的文本文件变量,变量名为FishcFile。 该变量可以与一个文本文件相联系,文本文件中可以用来存放字符。    

    文本文件的使用

    再次强调一下:文本文件在使用之前必须要打开(加载到内存),对打开的文件可以进行读写操作,读写过后要关闭。  

    文本文件的打开

    打开文本文件可分成两个步骤:

    一是把文件变量与实际的文本文件关联起来;

    二是打开相应的文本文件。

     

    关联文本文件变量与文本文件

    可通过AssignFile过程来关联文件变量与实际的磁盘文件,该过程的格式与功能如下: [codesyntax lang="delphi"]
    procedure AssignFile(var F; FileName: string);
    [/codesyntax] 如: [codesyntax lang="delphi"]
    AssignFile(FishcFile, ‘Fishc.txt’);
    [/codesyntax]   [说明] 关联了文件类型变量与磁盘文件过后,下面对磁盘文件的操作就可以通过文件型变量来进行了,程序中就不需要再与具体的磁盘文件打交道。  

    打开文本文件

    把磁盘文件与文件型变量关联在一起后,就可以打开文件,打开文件可使用Reset、Rewrite 或Append过程中的一个来进行。   [Reset] 以”只读”方式打开 procedure Reset(var F [: File; RecSize: Word ] ); 看上去很复杂? 没事,其实我们只需要这么调用即可:Rewrite(FishcFile);   [Rewrite] 以”只写”方式创建与打开 procedure Rewrite(var F: File [; Recsize: Word ] ); 注意:如果磁盘上有一个同名的文件,该文件将被删除并创建一个新的空文件。当前文件指针将置于空文件的开头。   [Append] 以”添加”方式打开 procedure Append(var F: Text); 注意:使用这种方式打开文件后,文件指针位于文件的结尾。  

    Pay attention

    参数Word是一个可选参数,当文件是一个无类型的文件时,该参数用来定义无类型文件的尺寸大小。 三种方式,如果指定的文件已经打开,将首先关闭该文件,然后再创建/打开它,当前文件指针将置于空文件的开头。 当使用 Append 和 Reset 的时候,如果打开的文件不存在,将会出现一个错误。  

    文本文件的关闭

    关闭文件使用CloseFile过程: procedure CloseFile(var F); 注意:使用CloseFile 过程关闭文件时,对文件的更新将实际写到磁盘文件中去,并断开文件型变量 F 与实际的磁盘文件之间的联系。  

    [成对出现]

    AssignFile(FishcFile, ‘Fishc.txt'); …… …… CloseFile(FishcFile);  

    文本文件的写操作

      [写操作]  可以使用Write 和Writeln 过程向文本文件中写入数据。 Write 只是把指定数据写到文本文件中去,Writeln 不仅把数据写到文本文件中去,而且还要在写入的数据后加上换行符。 用这两个过程输出的数据可以是以下类型:Char、Byte、Shortint、Word、Longint、Cardinal、Single、Real、Double、Extended、Currency、PChar、AnsiString、ShortString、string、Boolean、Bool。   Write过程的格式和功能如下: [codesyntax lang="delphi"]
    procedure Write( [var F: Text; ] P1 [ , P2,..., Pn] );
    [/codesyntax]   功能:向文件型变量F关联的文件中写入P1,P2,…,Pn 等表达式的值。 另外,在相应的数据后增加一个“:”和一个表示域的宽度的数字可以指定域宽和小数位。 尝试一下:Example(课件及源代码下载   小数位的指定方法是在域宽数字后加“:”再加上表示小数点位数的整数。 尝试一下:Example2(课件及源代码下载 [buy] 获得所有教学视频、课件、源代码等资源打包 [/buy] [Downlink href='http://kuai.xunlei.com/d/LYGFGDFIMYZJ']视频下载[/Downlink]
  • 相关阅读:
    收集的各种学习链接,方便查找
    用python调试Appium和雷电模拟器连接时出现Original error: Could not find 'adb.exe' in PATH
    App自动化测试之Appium环境安装(涉及雷电模拟器和真机)
    元素定位工具ChroPath
    Python+Selenium学习笔记19
    Python+Selenium学习笔记18
    Python+Selenium学习笔记17
    Python+Selenium学习笔记16
    Python+Selenium学习笔记14
    Python+Selenium学习笔记15
  • 原文地址:https://www.cnblogs.com/LoveFishC/p/3846175.html
Copyright © 2020-2023  润新知