При самостоятельном написании функции чтения текстового файла первая проблема, с которой вы столкнетесь: как узнать, что для данного имени файла файл на диске действительно является текстовым файлом? Вот очень простой метод: относитесь к данному файлу как к нетипизированному двоичному файлу, а затем последовательно читайте каждый байт файла. Если в файле есть байт со значением, равным 0, то этот файл не является текстовым. файл, наоборот, если ни один байт в файле не имеет значения 0, можно определить, что файл является текстовым файлом. Это принцип. Давайте посмотрим, как запрограммировать его на Delphi.
Скопируйте код кода следующим образом:
functionIsTextFile (имя_файла: строка): логическое значение;
вар
Фс: TFileStream;
я, размер: целое число;
IsTextFile: логическое значение;
БайтДанные: Байт;
начинать
еслиФайлСуществует(ИмяФайла),то
начинать
Fs:=TFileStream.Create(FileName,fmOpenRead);
Истекстфиле:=истина;
я:=0;
размер:=Fs.Size;
Пока (i<size) и IsTextFiledo
начинать
Fs.Read(БайтДанные,1);
IsTextFile:=ByteData<>0;
Inc(я)
конец;
Фс.Бесплатно;
Результат: = Истекстфиле
конец
еще
Результат: = ложь
конец;