MyChat Scripts: функция LoadLineFromFile, получить указанную строку из текстового файла
Получить строку под указанным номером из текстового файла. Концом строки считается пара символов CRLF (ASCII #13#10). Кодировку файла можно задавать. Нумерация строк начинается с единицы.
Синтаксис
function LoadLineFromFile(sFileNameWithPath: string; iLineNumber: integer; iEncodingType: integer; var sText: string): integer;
Параметры и возвращаемые значения
Параметр |
Тип |
Значение |
sFileNameWithPath |
string |
имя текстового файла с полным путём к нему; |
iLineNumber |
integer |
номер строки, которую нужно прочитать; |
iEncodingType |
integer |
тип кодировки файла, число; |
var sText |
string |
прочитанная строка. Если произошла ошибка — то пустая строка. |
Результат функции
0 |
строка успешно получена; |
-1 |
файла не существует; |
-2 |
в файле меньше строк, чем вы указали в переменной iLineNumber; |
-3 |
ошибка доступа к файлу; |
-4 |
номер строки должен быть больше нуля. |
Пример
const
FILE_NAME = 'F:\Doc\MyChatJSONprotocol.txt';
LINE = 67;
var
iResult: integer;
s, sLog: string;
begin
iResult := LoadLineFromFile(FILE_NAME, LINE, 6, s);
case iResult of
0: sLog := s;
-1: sLog := 'file not found';
-2: sLog := 'file has less strings then you specified';
-3: sLog := 'unknown error';
-4: sLog := 'line number must be greater than 0';
end;
mLogScript(sLog, '');
end.
Результат работы скрипта
[18:07:35] (Log "LoadLineFromFile"): 1. Сразу после открытия коннекта со стороны клиента по TCP на указанный порт (по умолчанию 2004) сервер может прислать ошибку и оборвать соединение спустя 3 секунды.
[18:07:35] (Run "LoadLineFromFile"): Время выполнения скрипта: 7 мс
[18:07:35] (Run "LoadLineFromFile"): Скрипт выполнен успешно.