3. Типове данни
27
3.2.5.1. Текстови файлове
Най-често използвани са файловете, чиито компоненти са символи (знаци). Това
е всъщност и най-удобната форма за нас хората. В Pascal е дефиниран стандартен тип
TEXT, който представлява такъв файл. Неговото описание е:
type TEXT = packed file of char;
Текстовите файлове освен че са съставени от символи, се делят и на редове. За
по-добро отразяване на такава структура на текстовия файл са дефинирани
процедурите ReadLn и WriteLn, съответно преминаващи към четене от и запис в
следващия ред, както и функцията Eoln, която проверява дали е достигнат краят на реда
при четене.
Въпреки че компонентите на текстовия файл са само от тип char, те (текстовите
файлове) са привилегировани в сравнение с другите файлове и в тях може да записват
(или четат) променливи от всички стандартни типове (с изключение на типа BOOLEAN).
Преди да се извърши записът в текстов файл, всяка променлива се превръща (неявно)
от своето вътрешно представяне в символен вид и тогава се записва във файла.
Аналогично, при четене първо се превръща символното представяне във вътрешно и
след това се записва в променливата.
3.2.5.2. Стандартни файлове
В UniPascal са дефинирани следните пет стандартни текстови файла:
*
Input - стандартен входен файл, обикновено е клавиатурата на компютъра,
но може да бъде пренасочен от операционната система към външен файл;
*
Output - стандартен изходен файл, обикновено е екранът на компютъра,
но също може да бъде пренасочен;
*
Message - входно/изходен файл, винаги работи с клавиатурата или екрана
на компютъра и не може да бъде пренасочен;
*
Auxiliary - входно/изходен файл (в зависимост от операционната система:
най-често сериен вход и/или изход);
*
Printer - изходен файл, обикновено е печатащо устройство, но понеже е
свързан с хардуерен модул за паралелен вход/изход може да се използва
и за входен файл.
За тези пет стандартни файла не е необходимо да се използват процедурите
RESET, REWRITE или CLOSE, нещо повече - дори и да се използват, те няма да имат
ефект.В заглавната част на програмата могат да бъдат указани няколко от тези файлове
(но само от тези пет) като параметри на програмата. Ако не са указани параметри, се
подразбират файловете Input и Output. За файловете Input и Output е възможно при
стартиране на програмата да бъдат пренасочени и тогава тя няма да чете от
клавиатурата и/или да пише на екрана, а ще извършва операциите над зададените при
стартирането й файлове. Понякога е необходимо някои от съобщенията да не бъдат
пренасочвани, както и четенето да се извършва непременно от клавиатурата (например
при съобщаване на някаква грешка на потребителя на програмата и получаването на
указания какво да прави тя по-нататък). В такъв случай може явно да се укаже, че е
необходимо да се използва файла Message. От друга страна може би програмата ще
трябва да работи винаги с файла Message и само рядко да се използва Input и Output.
Трябва ли всеки път да се указва явно използването на файла message във всеки READ
и WRITE? В UniPascal е реализирана възможността да се укаже кой именно файл се
подразбира като параметър на стандартните функции за работа с текстови файлове,
когато бъде пропуснат.
<<  <  GO  >  >>

Вернуться к началу сайта