<li id="j64py"><acronym id="j64py"></acronym></li>

  • <em id="j64py"></em>

    <em id="j64py"><acronym id="j64py"></acronym></em>
    <dd id="j64py"></dd>
    <em id="j64py"><acronym id="j64py"><input id="j64py"></input></acronym></em>
    <rp id="j64py"><object id="j64py"><blockquote id="j64py"></blockquote></object></rp>
    <button id="j64py"><acronym id="j64py"></acronym></button>
    捐助郴維網
    感謝您對郴維網的支持,你的支持將是郴維網持續發展的動力!
    二維碼
    ×
    當前位置:郴維網 >基礎知識 > 正文
    24 2020.03

    delphi TextFile操作文本文件

    點擊次數:795 更新時間:2020-3-24 11:21:07  【打印此頁

    概念

        在Delphi中定義了TextFile類型表示文本文件,由字符的ASCII碼組成,最小存取單位為字符。文本文件也稱為ASCII碼文件。利用常見的文字編輯器可以瀏覽支件內容。

        TextFile類只支持ANSI編碼,無法對其它編碼進行讀寫操作。

     

    相關方法

       一、文本文件變量的定義

        var <文件變量名>: TextFile;  
        // 或
        var <文件變量名>: Text;
    

        二、文件變量和文件關聯

            在使用文件變量進行文件操作之前,需要將文件變量與要操作的文件關聯,即給文件變量名賦值。文件變量賦值可以使用過程AssignFile,過程的說明語法格式如下:

        procedure AssignFile(Var F;Filename:string);
        {
        參數:
          F		文件變量名
          Filename	文件名字符串,包括路徑的文件名全稱。
        
        示例:
          AssignFile(txt, 'e:\test.txt’);
        }
    

       三、使用文件變量打開文件

           Reset方法

        procedure Reset(var F: File; [ RecSize: Integer]); overload;
        {
        功能:
          以只讀方式打開名為F現有外部文件。如果不存在給定名稱的現有外部文件,
          或者無法使用當前文件模式打開該文件,則會導致錯誤。
          如果F已經打開,它首先關閉,然后重新打開。當前文件位置設置為文件的開頭。
          如果F被分配一個空名稱,比如AssignFile(F, ''),那么在調用Reset之后,F引用標準輸入文件。
          調用Reset之后,如果文件為空,則Eof(F)為True;否則,Eof(F)為False。
          如果發生任何I/O錯誤,Reset將關閉文件。您不需要調用CloseFile。
          注意:{$I+}使用異常處理運行時錯誤。使用{$I-}時,請使用IOResult檢查I/O錯誤。
          
        參數:
          F		文件變量名
        }
    

           Rewrite方法

        procedure Rewrite(var F: File; [ RecSize: Integer]); overload;
        {
        功能:
          創建一個新的外部文件,文件名指定給F。
          如果已存在同名的外部文件,則刪除該文件并在其位置創建新的空文件。
          如果F已經打開,它首先關閉,然后重新創建。當前文件位置設置為空文件的開頭。
          如果F被分配了一個空名稱,比如AssignFile(F,''),那么在調用Rewrite之后,F引用標準輸出文件。
          調用Rewrite之后,Eof(F)始終為True。      
          如果發生任何I/O錯誤,重寫將關閉文件。您不需要調用CloseFile。
          注意:{$I+}使用異常處理運行時錯誤。使用{$I-}時,請使用IOResult檢查I/O錯誤。
          
        參數:
          F		文件變量名
        }  
    

            Append方法

        function Append(var F: Text): Integer;
        {
        功能:
          向文件末尾追加內容
          調用Append前確保文件是以只寫方式打開。
          如果給定名稱的外部文件不存在,則會發生錯誤。如果F已經打開,它將關閉,然后重新打開;當前文件位置設置在文件末尾。
          如果F被分配了一個空名稱,比如AssignFile(F,''),則在調用Append之后,F引用標準輸出文件。
          
        參數:
          F		文件變量名
        }
    

       四、讀/寫文件 方法

           4.1、讀取文件內容。在以讀的方式打開文件后,可以使用Read和Readln語句來讀取文件內容。

        procedure Read(var F: File; V1; [ ..., VN]);
        {
        功能:
          對于文本文件,它將一個字符或多個字符讀入一個或多個變量。      
          
        參數:
          F			文件變量名
          V1、V2、...、VN	為需要輸入的變量,其類型可以為字符串、字符、整數和實數類型
        }
    
        procedure Readln(var F: File; [ ..., VN]); overload;
        {
        功能:
          讀取一行文本,然后跳到文件的下一行。
          
        參數:
          F			文件變量名
          V1、V2、...、VN	為需要輸入的變量,其類型可以為字符串、字符、整數和實數類型
        }
    

           4.2、向文件寫入數據。以寫的方式打開文件后,即可向其中寫入數據,寫人數據使用Write和Writeln過程。

        procedure Write([var F: File]; P1; [ ..., PN]); overload;
        {
        功能:
          對于文本文件,它將一個字符或多個字符寫入文本文件。      
          
        參數:
          F			文件變量名
          P1、P2、...、PN	為需要輸出的變量,其類型可以為字符串、字符、整數和實數類型
        }
    
        procedure Writeln([var F: File]; [ P1; [ ..., PN] ]); overload;
        {
        功能:
          向文件中寫入一行數據。在寫入數據后會在行尾添加行尾標記(換行符),而下次要寫入的數據將寫在新的一行。      
          
        參數:
          F			文件變量名
          P1、P2、...、PN	為需要輸出的變量,其類型可以為字符串、字符、整數和實數類型
        }
    

       五、Eof 文件尾標記

      
        function Eof([var F: File]): Boolean; overload;
        {
        功能:
          判斷當前文件指針位置是否到達文件的結尾。
          
        參數:
          F		文件變量名
          
        返回值:
          當前文件指針位置超過文件的最后一個字符或文件為空,則Eof(F)返回True;否則Eof(F)返回False。
        }
    

        六、關閉文件

        procedure CloseFile(var F: File);
        {
        功能:
          關閉文件并釋放打開文件時使用的資源。對于寫操作只有ColoseFile后才能把數據真正寫入磁盤文件中。
          
        參數:
          F		文件變量名
        }
    

     

    使用示例

        讀文件

    procedure TForm1.btn1Click(Sender: TObject);
    var
      Filename: string;
      F: TextFile;
      tmpStr: string;
    begin
      Filename:= 'test.txt';
      AssignFile(F, Filename);
      Reset(F); // 讀
      while not EOF(F) do
      begin
        Readln(F, tmpStr); // 讀取一行保存至變量tmpStr中
        mmo1.Lines.Add(tmpStr);
      end;
      CloseFile(F); // 最后別忘了關閉
    end;
    

        寫文件

    procedure TForm1.btn2Click(Sender: TObject);
    var
      Filename: string;
      F: TextFile;
    begin
      Filename:= 'test.txt';
      AssignFile(F, Filename);
      Rewrite(F); // 創建并打開一個新文件(或覆蓋原有文件)
      Writeln(F, 'http://www.xiaomao777.com'); // 寫入一行字符串
      CloseFile(F); // 最后別忘了關閉
    end;
    

        追加內容

    procedure TForm1.btn3Click(Sender: TObject);
    var
      Filename: string;
      F: TextFile;
    begin
      Filename:= 'test.txt';
      AssignFile(F, Filename);
      Append(F); // 以追加的方式打開文件,指針到文件尾
      Writeln(F, 'http://www.xiaomao777.com'); // 寫入一行字符串
      CloseFile(F); // 最后別忘了關閉
    end;
    

        日志文件(文件不存在則創建,存在則追加內容)

    procedure AppendFile(s, Filename: string);
    var
      F: TextFile;
    begin
      // 先判斷一下文件是否存在, 不存在時就創建它
      if not FileExists(Filename) then
      begin
        AssignFile(F, Filename);
        Rewrite(F);
        CloseFile(F);
      end;
    
      AssignFile(F, Filename);
      Append(F); // 以追加的方式打開文件,指針到文件尾
      Writeln(F, s); // 把內容 s 寫入文件
      CloseFile(F);
    end;
    
    // 調用
    procedure TForm1.btn2Click(Sender: TObject);
    begin
      AppendFile('http://www.xiaomao777.com', 'test.txt');
    end;
    
    Tips
    郴維網為您提供各類專業服務:
    軟件開發,電腦配件銷售,WIFI路由器銷售,上門電腦維修,上門安裝系統,系統安裝,軟、硬件安裝,電腦除塵清灰,顯示器維修,WIFI安裝調試,服務器維護,數據恢復,密碼破解,網絡布線,網絡檢修,打印機維修,打印機加碳粉,蘋果電腦安裝系統,蘋果電腦安裝雙系統,監控安裝維護,電腦外包,筆記本電腦維修,餐飲、美容行業軟件安裝 等。。。。。。
    點擊次數:795 更新時間:2020-3-24 11:21:07  【打印此頁
    關鍵詞推薦:郴州電腦城 郴州電腦維修公司 維修電腦公司 郴州軟件開發 上門電腦維修 上門安裝系統 筆記本電腦維修 郴州打印機維修 打印機加碳粉 電腦安裝雙系統 蘋果電腦雙系統 液晶顯示器維修 聯想筆記本維修 聯想筆記本維修電話 戴爾筆記本維修電話 郴州戴爾筆記本維修 戴爾筆記本郴州維修點 華碩筆記本維修點 郴州華碩筆記本維修 郴州筆記本上網維修
    亚洲成a人片77777,玩弄漂亮少妇高潮大叫,国产重口老太和小伙,两个黑人挺进校花体内np