1 / 24

Файлове

Файлове. 1. Същност. Наредена последователност от елементи, разположено върху външно запомнящо устройство (ВЗУ). 2. Видове в зависимост от елементите на файла. С пряк достъп (компонентите са с еднаква дължина); С последователен достъп (при различна дължина на компонентите).

akando
Download Presentation

Файлове

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Файлове

  2. 1. Същност Наредена последователност от елементи, разположено върху външно запомнящо устройство (ВЗУ)

  3. 2. Видове в зависимост от елементите на файла • С пряк достъп (компонентите са с еднаква дължина); • С последователен достъп (при различна дължина на компонентите).

  4. 3. Дефиниране на тип файл • Type <име на файл>=FILE of <базов тип>; {базовият тип е произволен, с изключение на тип файл} • VAR <списък променливи>:<име на тип>; <списък променливи>: FILE of <базов тип>;

  5. 4. Примери • Type tel=RECORD kod:longint; telnumber:longint; END; Ftel= FILE OF tel; • VAR t1:Ftel;

  6. 5. Прилика и разлика с масива • Прилика- всеки елемент е индексиран с начална стойност 0; • Разликата е в наличието на файлов маркер (указател). В определен момент той съдържа номера на текущия елемент. Стойността на указателя може да се обработва със стандартни подпорограми.

  7. 6. Стандартни процедури • Процедура за назначаване: ASSIGN(FileVar,St); • Предназначение: свързва вътрешния с външния файл; • Действие: St е текстов израз даващ явното име на файла. Това име на файла се присвоява на променливите за файл FileVar и този файл се намира на диска под име St. Не се допуска използването на Assign върху вече отворен файл. • Пример: assign(t1,’tel.dat’);

  8. Стандартни процедури • Процедура за създаване: REWRITE(FileVar); • Предназначение: създава нов файл и го отваря за запис, като файловия указател сочи към началния запис. Ако файлът вече съществува, то той се счита за празен и се изтрива досегашното у съдържание; • Пример: rewrite(t1);

  9. Стандартни процедури • Процедура за отваряне: RESET(FileVar); • Предназначение: файлът върху диска под името присвоено на променливата FileVar се подготвя за обработка и указателя се поставя в началото на файла; • Пример: reset(t1);

  10. Стандартни процедури • Процедура за четене: READ(FileVar,Var); • Предназначение: чете данни от файла, като Var означава една или повече компоненти от файла FileVar, отделени с запетая. Всяка компонента се чете от файла и след всеки оператор за четене указателят на файла се премества към следващия елемент; • Пример: read(t1,a1,a2);

  11. Стандартни процедури • Процедура за запис: WRITE(FileVar,Var); • Предназначение: записва данни във файл, като Var означава една или повече компоненти от файла FileVar, отделени с запетая. Всяка компонента се записва във файла и указателят на файла се премества към следващия елемент; • Пример: write(t1,b1,b2,b3);

  12. Стандартни процедури • Процедура за запълване или освобождаване на вътрешния буфер: FLUSH(FileVar); • Предназначение:при условие, че файлът е отворен с rewrite, то процедурата flushпредизвиква освобождаване на вършения буфер във външния файл. Flush осигурява възможността следващата след нея операция върху файла да извърши действително четене от файла върху диска. Ако файла е отворен с reset, то flush ще предизвика ново запълване на вътрешния буфер след процедурата за четене от файла. Flush не може да се прилага над затворен файл; • Пример: reset(t1); read(t1,a,b,c); flush(t1);

  13. Стандартни процедури • Процедура за затваряне: CLOSE(FileVar); • Предназначение: затваря файла върху диска, свързан с FileVar и в директорията на диска, където файла е разположен, се отрязва новото му състояние; • Пример: close(t1);

  14. Стандартни процедури • Процедура за изтриване: ERASE(FileVar); • Предназначение: изтрива файла върху диска, свързан с FileVar и в директорията на диска, където файла е разположен. Ако файлът е отворен, необходимо е да се изпълни командата close; • Пример: erase(t1);

  15. Стандартни процедури • Процедура за преименуване: RENAME(FileVar,St); • Предназначение: преименува файла върху диска, свързан с FileVar като му дава ново име, взето от текстовата променлива St; • Пример: rename(t1,’tel.dta’);

  16. 7. Стандартни функции • Функция за позициониране: SEEK(FileVar,n); • Предназначение: премества файловия указател на n-тата му компонента. Позицията на първата компонента е 0. За да се разшири даден файл може да се избере стойност на номера на компонента извън границата на последната компонента; • Пример: seek(t1,0);

  17. Стандартни функции • Функция за достигнат край на файла: EOF(FileVar); • Предназначение: дава стойност true, ако указателя на файла е достигнал последния му елемент иfalse в противен случай.

  18. Стандартни функции • Функция за достигнат край наред във файла: EOLN(FileVar); • Предназначение: дава стойност true, ако указателя на файла е достигнал край на ред (или на файл) иfalse в противен случай.

  19. Стандартни функции • Функция за текущата стойност на указателя на файла: EOLN(FileVar); • Предназначение: дава текущата стойност на файлoвия указател.

  20. Стандартни функции • Функция за броя компоненти на файла: FILESIZE(FileVar); • Предназначение: дава като резултат броя компонентите на файла.

  21. 8. Текстови функции • Текстовия файл има за основни компоненти знакове, които са структурирани в дялове, всеки от които завършва с маркер за край на файл. • Текстовите файлове могат да бъдат обработени само последователно, т.е. те са от втория тип (с последователен достъп). • Декларират се като променливи от тип text. • Примери: Var tf:text;

  22. 9. Прилика с другия вид файлове • Процедурите за файлове важат и тук; • Новото е възможността за добавяне на записи след края на съществуващ файл. За тази цел се използва процедурата APPEND(например append(t1))

  23. 10. Въвеждане на информация • Оператори READили READLN; • Пример: Var tf:text; x1,x2,:integer; s:string; ………….. readln(tf,x1,x2,s);

  24. 11. Извеждане на информация • Оператори WRITEили WRITELN; • Пример: Var tf:text; x1,x2,:integer; s:string; ………….. writeln(tf,x1,x2,s);

More Related