Управление на Ascii (текстови) файлове от кода на Delphi

Най-просто казано, текстовите файлове съдържат четене ASCII знаци. Можем да мислим, че работата с текстов файл в Delphi е аналогична на възпроизвеждане или запис на информация на VCR касета.

Въпреки че е възможно да направите промени в текстов файл, прескочете, когато обработвате информация, или добавете някои данни към файла, различен от в края на краищата е препоръчително да използваме текстов файл само когато знаем, че работим с обикновен текст и няма такива операции необходимо.

Счита се, че текстовите файлове представляват последователност от символи, форматирани в редове, където всеки ред се прекратява с маркер за край на реда (a CR / LF комбинация).

TextFile и методът на присвояване

За да започнете работа с текстови файлове, трябва да свържете файл на диск с файлова променлива във вашия код - декларирайте променлива от типа TextFile и използвайте процедурата AssignFile, за да свържете файл на диск с файл променлива.

Информация за четене от текстов файл

Ако искаме да прочетем обратно съдържанието на файл в списък с низове, само един ред код ще свърши работата.

instagram viewer

За да четем информация от файл по ред, трябва да отворим файла за вход чрез използване на Нулиране процедура. След като файлът е нулиран, можем да използваме ReadLn за да прочетете информация от файл (чете един ред текст от файл и след това преминава към следващия ред):

След добавяне на един ред текст от файл към компонента на бележката SomeTxtFile трябва да бъде затворен. Това се прави от Близо ключова дума.

Можем също да използваме процедура за четене, за да четем информация от файл. Read че работи точно като ReadLn, освен че не премества показалеца към следващия ред.

EOF - Край на файла

Използвайте функцията EOF, за да сте сигурни, че не се опитвате да четете отвъд края на файла. Да речем, че искаме да покажем съдържанието на файла в полета за съобщения - един ред в даден момент, докато стигнем до края на файла:

Забележка: По-добре е да използвате Докато цикъл отколкото цикъла До, за да се вземе предвид (малко вероятно) възможността файлът да съществува, но не съдържа никакви данни.

Писане на текст във файл

Най- WriteLn е може би най-разпространеният начин за изпращане на отделни части информация до файл. Следващият код ще прочете текст от компонент Memo1 (ред по ред) и ще го изпрати до някакъв новосъздаден текстов файл.

В зависимост от състоянието на файла, предоставен на процедурата за презаписване, той създава нов файл (отваря файла за изход) с име, присвоено на SomeTextFile. Ако файл със същото име вече съществува, той се изтрива и на негово място се създава нов празен файл. Ако SomeTextFile вече е отворен, той първо се затваря и след това отново се създава. Текущата позиция на файла е зададена в началото на празния файл.

Забележка: Memo1.Lines. SaveToFile ('c: \ MyTextFile.txt') ще направи същото.

Понякога просто трябва да добавим някои текстови данни в края на съществуващ файл. Ако случаят е такъв, ще се обадим Добавяне за да се гарантира, че файлът е отворен с достъп само за запис с файлов указател, разположен в края на файла. Нещо като:

Бъдете наясно с изключенията

По принцип винаги трябва да използвате обработка на изключения когато работите с файлове. I / O е пълен с изненади. Винаги използвайте CloseFile най-накрая, за да избегнете възможността за повреда на FAT на потребителя. Всички предишни примери трябва да бъдат пренаписани, както следва:

Манипулиране със структурирани файлове

Delphi има възможност да обработва както ASCII файлове, така и файлове, които съдържат двоични данни. Ето техниките за работа типизирани и нетипизирани (двоични) файлове.

instagram story viewer