Текстови файлове в Делфи, Делфи, Delphi компонент, източник Delphi

Текстови файлове в Делфи

И вие ми пишат писма глоба почерк, защото мястото е малък в раницата.

Романтични, създаващи писма с трептящ пламък на свещ, уви, отишли ​​за добро. Въпреки че някои творчески последователи епистоларен стил продължават да съществуват в невежество и се доверяват на своите неясни мисли за хартия, последното сега най-вече се използва по предназначение, т.е. за сгъваеми фигури оригами и публикуването на плакати, призоваващи за защита на зелената приятел (които за нас е гората, а не крокодил Гена, а не пиян другар).

Всички наши твърди дискове, флаш памети, CD- и DVD-ROM дискове до върха пълен с файлове. Всеки от тях си има име и - почти винаги - разширяването, която следва последната точка в името на файла, и обикновено се отнася до назначаването на файла и формата на данните, съхранявани в него.

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

Текстови файлове в Делфи, Делфи, Delphi компонент, източник Delphi

Когато се учи на линията, а след това научихме, че различните видове струни по различни начини се съхраняват в паметта на компютъра. И вие може да бъдете изненадани от факта, че всички струни се съхраняват на един диск, но не съвсем като в клетките на паметта.

И така, ние виждаме, че всички герои в низа са написани без никакви промени, но в края на реда са само два знака - $ 0D и $ 0A (или по същия начин в по-популярното десетични числа - # 13 и # 10). Те все още са в старите дни, определени за връщане принтер превоз и нов ред. Този анахронизъм запазена и до сега в текстови файлове, които не знаят за принтери.

Остава да видим как линии са написани по такъв странен начин, затова считаме, че основните операции с текстови файлове - запис на диска и обувка в заявлението. Те няма да ви дам неприятности, ако просто следвайте "рецептата".

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

Той обикновено се означава с буквата F (от думата файла File), но това не е задължително. Тя е тази променлива ще бъде псевдонима истинския файл.

След това е необходимо да се сдружават файла с името на променливата на файла с помощта на процедурата

По-лесно е да се разбере, конкретен пример.

Ето как можете да свържете нашия файл с файл променлива «osh_frc_v.txt» а (защото пътят до него не е уточнено, файлът трябва да се намира в същата папка като самото приложение!).

Сега можете да отворите файл за четене или записване.

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

процедура Reset (VAR F: файл); (В нашия пример - Reset (F);), и можете да изтеглите данните. Те ще бъдат прочетени от първия ред.

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

За да запишете данните във файла, използвайте процедурата

процедура Rewrite (VAR F: файл); (В нашия пример - Препишете (F);)

Това ще създаде нов файл с посоченото име и да го отворите за писане. Бъдете внимателни: ако файлът с това име вече съществува на диска, той ще бъде унищожен! Ето защо по-безопасно да запиша информация на съществуващ файл функция

функционира Добавяне (Var F: Text): цяло число; (В нашия пример - Добавяне на (F);)

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

4. За да записват данни във файл процедури са

процедура запис (Var F: подаде [. P1;; Pn]);

процедура Writeln (Var F: подаде [. P1;; Pn]);

Конзолите са написани незадължителни параметри, които са израз на следните видове: Чар, низ, PChar, число, реално, булев. По този начин, в текстов файл може да се запише не само символи и думи, линии, но и броят на (логически тип файл в изходните теста на обучаемия думите при писане изрази). Броят на изражения в списъка с резултати, може да бъде всеки.

Ако един ред Напиши процедура файлови съхранява данни от различен тип, те ще бъдат написани една до друга без интервали или други разделители. Writeln процедура прави същото нещо, но след това се затваря линията във файла (добавен към края на линията символи $ 0D 0A $).

Записва низ в кавички (но без кавичките!). Или едно и също нещо:

Можете също така да се смесва константите и променливите:

Ако имате голяма нужда да можете да пишете на броя на линиите и логическите константи:

Тогава линията ще се появи на диска:

И вие ми пишат писма глоба от написаното на ръка!

Всички номера, когато пишете на файла трябва да бъдат отделени една от друга с най-малко едно място, раздел, или край на ред код.

Процедура само с един параметър - Writeln (F) - просто допълва линията, без да пишете нищо в него.

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

процедура трябва да прочете данни от текстов файл:

Конзолите са написани незадължителни параметри, които са на променливите на следните видове: Чар, канап, число, реално, PChar. Броят на променливите в списъка с вход може да бъде всичко.

Ние често ще използва втората процедура (Readln) - да се разгледа цялата си низ към определен низ променлива:

Ако един ред съдържа и други видове данни, разделени с интервал, например, "123 321 TRUE», те могат да се разглеждат, както следва:

В резултат на тази операция, стойността на цяло число променлива п е броя 123, цяло число променлива m - номер 321, на низ променлива и - низ "истински" (стойността не може да се счита логическа променлива!).

Не забравяйте да се следват подходящите видове променливи и данни, за да се чете, или грешка!

Ако процедура Readln чете само частта с данни на линията (в списъка на входни променливи е по-малко от низа), а след това останалата част от линията ще бъде пропуснат.

Ако променливите, когато процедурата отсъства - Readln (F); - след текущия ред във файла, а данните се предават от следното описание прочетете линия.

Ако низът се чете в типа на променливата или кратък низ PChar и има повече символи, отколкото споменатите максимална дължина на низа, входния низ е съкратено.

Когато влезете в герой от файл в променлива от тип Чар е само за четене 1 характер, включително и края на редовете.

Прочетете Readln процедурите и да започне да чете данни от първия ред на файла, след което последователно се движи Readln да рояк линия на СТО, една трета (!) - и така нататък до края на файла. С тяхна помощ, не е възможно да се четат данни от произволен ред на файла, но мога да пропусна желания брой редове Readln процедура (F), а след това да се предположи, желания ред.

5. След приключване на операцията по файл, той трябва да бъде затворена процедура:

процедура CloseFile (VAR F: файл); (в нашия пример - CloseFile (F);)

Помогнете на проекта! Кажи на приятел за този сайт: