在用Delphi 編程處理文本文件的時候,如果要裝載的文件比較大,你可能會想在文件裝載過程中提供一個裝載進度的提示--那么你就必需自己編寫直接通過文件打開/讀取函數來裝載文件內容的函數。在自己編寫文本文件讀取函數的時候,你首先會遇到的第一個問題就是:對于給定的一個文件名,怎么知道它所代表磁盤文件的確是文本文件?這里有一個很簡單的方法:把給定的那個文件看作是無類型的二進制文件,然后順序地讀出這個文件的每一個字節,如果文件里有一個字節的值等于0,那么這個文件就不是文本文件;反之,如果這個文件中沒有一個字節的值是0的話,就可以判定這個文件是文本文件了。這是原理,下面看看在Delphi 中怎樣編程來實現它-- function IsTextFile(FileName:string):boolean; var Fs:TFileStream; i,size:integer; IsTextFile:boolean; ByteData:Byte; begin if FileExists(FileName) then begin Fs:=TFileStream.Create(FileName,fmOpenRead); IsTextFile:=true; i:=0; size:=Fs.Size; While (i<size) and IsTextFile do begin Fs.Read(ByteData,1); IsTextFile:=ByteData<>0; inc(i) end; Fs.Free; Result:=IsTextFile end else Result:=false end;
|