Lazarus – паскаль способ для файла
Со времен турбо паскаля есть стандартный способ считывания и записи данных в файл. Текстовые файлы. Речь идет о них. Я как фанат Паскаля, очень захотел этот способ использовать на практике. В рамках Паскаль, есть несколько действий которые можно сделать с файлом. Считать данные из файла, записать данные в файл, переименовать файл, удалить файл.
Запись в файл
Сначала, нужна переменная, которая имеет тип – текстовый
файл. TextFile. И
строчка, то есть тип данных строка.
var
MyTextFile:TextFile;
MyString:String;
Теперь свяжем переменную и путь к файлу.
AssignFile(MyTextFile,'Example.Txt');
Когда работа с файлом закончится нужно закрыть файл.
CloseFile(MyTextFile);
Теперь можно записать в файл информацию. Для этого, надо
указать режим работы с файлом. В паскале – это ReWrite. Запись в файл. Если такого
файла нету, то файл будет создан.
ReWrite(MyTextFile);
Теперь пишемся в файл при помощи WriteLn. Самая привычная команда в
Паскале. Только первым параметром укажем текстовый файл. В виде переменной.
WriteLn(MyTextFile,'Привет Мир!');
Чтение из файла
Чтение из текстового файла. Делается примерно также как и
запись в файл. Но выглядит чуть похитрее. Потому что файл надо считывать. Надо
знать конец файла. И брать оттуда данные по строкам. Это цикл.
Тоже связываем переменную типа текстовый файл и путь к
файлу.
AssignFile(MyTextFile,'Example.txt');
Укажем режим чтения. На этот раз это команда Reset. Это значит что будем
считывать строчки из файла.
Reset(MyTextFile);
Теперь можно начать цикл. Для считывания строчек из файла.
Считывать будем по строчкам. Строчку за строчкой.
А как узнать где конец файла? Нам надо считать все строчки и
дойти до конца файла. Для этого есть команда Eof. End of File.
Eof(MyTextFile)
Только в цикл надо писать что мы считываем данные до тех пор
пока не достигли конец файла
while (not Eof(MyTextFile)) do
Это условие цикла для считывания.
Внутри этого цикла. Считываем строчки командой ReadLn. Тоже стандартная и
хорошо знакомая команда. Только первый параметр – это имя типа текстовый файл (TextFile).
ReadLn(MyTextFile,MyString);
Не забываем закрыть файл. Когда закончили считывание. Всегда
когда закончил работу с файлом – то закрывай файл.
CloseFile(MyTextFile);
Код программы:
var
MyTextFile:TextFile;
MyString:String;
begin
//1 Запись в
текстовый файл, Паскаль метод
AssignFile(MyTextFile,'Example.Txt');
ReWrite(MyTextFile);
WriteLn(MyTextFile,'Привет Мир!');
WriteLn(MyTextFile,'Hello World!');
WriteLn(MyTextFile,'1234567890+-?');
CloseFile(MyTextFile);
//2 Чтение тектового файла, Паскаль
метод
Memo1.Clear();
Memo1.Lines.Add('Чтение из файла:');
AssignFile(MyTextFile,'Example.txt');
Reset(MyTextFile);
while (not Eof(MyTextFile)) do
begin
ReadLn(MyTextFile,MyString);
Memo1.Append(MyString);
end;
CloseFile(MyTextFile);
Дима Линк делает ретро видеоигры, приложения, немного музыку, пишет истории, и еще некоторое ретро.
ВЕБСАЙТ: http://www.dimalink.tv-games.ru/home_rus.html
БЛОГЕР: https://dimalinkrus.blogspot.com/
МАСТОДОН: https://mastodon.social/@DimaLinkRus




Комментарии
Отправить комментарий