Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?

Официальный форум Simple-Scada.

Автор Тема: Лишний символ TextFileReadLn  (Прочитано 1381 раз)

pan2000

  • Постоялец
  • ***
  • Сообщений: 210
    • Просмотр профиля
Лишний символ TextFileReadLn
« : 01 Августа 2018, 08:55:53 »
Функция TextFileReadLn при первом обращении возвращает лишний первый символ.

Пример во вложении.
« Изменён: 01 Августа 2018, 10:15:08 от Simple-Scada »

Simple-Scada

  • Администратор
  • *****
  • Сообщений: 3160
    • Просмотр профиля
    • Simple-Scada
Re: Ошибка TextFileReadLn
« Ответ #1 : 01 Августа 2018, 10:13:33 »
Здравствуйте.

Функция TextFileReadLn работает одинаково для всех строк в файле, независимо от их позиции, или от количества обращений к файлу. Ваш файл сохранён с отметкой BOM (Byte order mark), поэтому она просто считывается из файла. Сохраните файл без BOM, либо удаляйте символы BOM в коде скрипта:
Код: (delphi)
begin
  TextFileOpen('MyTextFile.txt', '', fomReset, fcpUTF8);
  Text1.Text := TextFileReadLn.Replace(#$FEFF, '');
  Text2.Text := TextFileReadLn;
  TextFileClose;
end.