テキスト ファイル読み取り関数を自分で作成する場合、最初に遭遇する問題は、指定されたファイル名について、それが表すディスク ファイルが実際にテキスト ファイルであることをどのようにして知ることができるかということです。これは非常に単純な方法です。指定されたファイルを型指定されていないバイナリ ファイルとして扱い、ファイルの各バイトを順番に読み取ります。値が 0 のバイトがファイル内にある場合、そのファイルはテキストではありません。ファイル; 逆に、ファイル内に 0 の値を持つバイトがない場合、そのファイルはテキスト ファイルであると判断できます。これが原則です。これを実装するために Delphi でプログラムする方法を見てみましょう。
次のようにコードをコピーします。
functionIsTextFile(ファイル名:文字列):ブール値;
変数
Fs:TFileStream;
i、サイズ:整数;
IsTextFile:ブール値;
バイトデータ:バイト;
始める
ifFileExists(ファイル名)then
始める
Fs:=TFileStream.Create(ファイル名,fmOpenRead);
IsTextFile:=true;
i:=0;
サイズ:=Fs.サイズ;
While(i<size)andIsTextFiledo
始める
Fs.Read(ByteData,1);
IsTextFile:=ByteData<>0;
株式会社(i)
終わり;
フリー。
結果:=IsTextFile
終わり
それ以外
結果:=false
終わり;