1 / 25

Обработване и съхраняване на файлове

Обработване и съхраняване на файлове. Изготвил: Т. Маргаритова. 1. Файлове . Същност. В ЕП има специален тип данни, който се нарича файл и се използва за обработка на данни, разположени във външна памет.

howell
Télécharger la présentation

Обработване и съхраняване на файлове

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. Правила за обработка на файлове. • 3.1. Файлова променлива и физически файл. Обработката на файл в програмите се описва с помощта на променлива от тип файл, която се нарича файлова променлива. Файловата променлива се свързва с конкретен физически файл, намиращ се на диск, дискета или др. Една файлова променлива може да обработва различни физически файлове.

  5. 3.2. Четене и запис. С данни, съхранени във файлове, може да се извършват две входно-изходни операции. • Въвеждане /четене/ на техните стойности. • Извеждане /запис/ на елементи – използва се за промяна на стойности на вече съществуващи елементи или за добавяне на нови такива.

  6. 3.3. Брой елементи. Броят елементите на файловете не е предварително зададен /определен/ и може да се изменя. Новите елементи, като правило, могат да се добавят само в края на масива.

  7. 3.4. Файлов указател. За да имаме възможността да избираме отделен елемент, да му даваме стойности или пък да използваме неговите стойности, всеки файл се свързва с така нареченият файлов указател. Той сочи във всеки момент текущия, достъпния файлов елемент, който може да се обработва.

  8. 3.5. Обработка на файлове. Необходимо е да се спазва следната последователност от действия: • Файловата променлива да се свърже с физически файл, който ще се обработва; • Да се “отвори“ файла – действие, чрез което конкретния физически файл се подготвя за обработка. • Да се обработят елементите на файла, т.е. чрез четене или запис на елементите; • “затваряне“ на файла след обработка. Ако тази операция не се извърши има опасност да се изгубят част от данните. • След като файлът е затворен, файловата променлива има възможност да се свърже с друг физически файл.

  9. ВАЖНО! • В езика Паскал се използва главно така нареченият типизиран файл, в който всички елементи са от един и същи тип /най-често запис/. • Елементите на даден типизиран файл заемат еднакво място в паметта.

  10. 4. Дефиниране на тип файл. • Пример 1: type Biblioteka= file of reals;/файл с елементи/ Kniga=record; Ime, Avtor: String{30}; Cena: real; End; Kartoteka: file of Kniga; /файл с елементи от тип запис/ Var ABiblioteka: Biblioteka; F: Kartoteka; /файлови променливи/

  11. 4. Дефиниране на тип файл. • Пример 2: type Tel=record; Kod: longineger; Telnumber: longinteger; End; Ftel=file of tel; Var T1:Ftel; /файлова променлива/

  12. 5. Множество от стойности. • Стойностите от тип файл са физически файлове във външната памет. В тях се съхраняват данни от типа, определен за елементите на съответния тип файл.

  13. 6. Стандартни процедури и функции. • Проверка за край на файла: EOF(FileVar) Дава стойност TRUE ако файловият указател е достигнал последния му елемент и FALSE в противен случай. Полученият резултат е от тип Boolean.

  14. 6. Стандартни процедури и функции. • Определяне размера на файла: FILESIZE(FileVar); Определя броя на елементите във файла, т.е. n+1, където n е номер на последния файлов елемент. Полученият резултат е от тип целочислен.

  15. 6. Стандартни процедури и функции. • Определяне текущата позиция във файла: FILEPOS(FileVar); Определя поредния номер на елемента, към който сочи файловият указател. Полученият резултат е от тип целочислен.

  16. 6. Стандартни процедури и функции. • Процедура за свързване - Assign(FileVar, St); Свързва вътрешния с външния файл. Stе текстов израз, даващ явното име на файла. Свързва файловата променлива FileVarс физическият файл с име St.

  17. 6. Стандартни процедури и функции. • Процедура за отваряне – Reset(FileVar); Файлът върху диска под името, присвоено на променливата FileVarсе подготвя за обработка и файловият указател се поставя в началото на файла. Файловият указател се насочва към елемент с номер 0. Ако файлът не съществува, спира изпълнението на програмата и извежда съобщение за грешка.

  18. 6. Стандартни процедури и функции. • Процедура за създаване /отваряне/ - Rewrite(FileVar); Създава /отваря/ нов файл и насочва файловият указател в началото му. Ако такъв файл съществува, той се изтрива и се създава отново.

  19. 6. Стандартни процедури и функции. • Процедура за запис – Write(FileVar, Var1,Var2,…,VarN); Във файла последователно се записват стойностите Var1,Var2,…,VarN, започвайки от текущият елемент на файла. След всеки запис файловият указател се премества с един елемент към края.

  20. 6. Стандартни процедури и функции. • Процедура за четене – Read(FileVar, Var1,Var2,…,VarN); Чете данни от файла, започвайки от текущия елемент, прочита последователно N елемента. След всяко четене файловият указател се премества към края на файла. При опит да се чете след края на а файла, се получава съобщение за грешка.

  21. 6. Стандартни процедури и функции. • Процедура за позициониране – Seek(FileVar, Pos); Posе целочислен израз; Насочва файловият указател към елементите с пореден номер Pos. • Пример: Seek(F,1) – насочва към втория елемент. ! Номерацията почва от нула.

  22. 6. Стандартни процедури и функции. • Процедура за затваряне – Close(FileVar); Затваря файла върху диска, свързан с FileVarи в директорията на диска, където файла е разположен, се отразява новото му състояние.

  23. 6. Стандартни процедури и функции. • Процедура за изтриване – Erase(FileVar); Изтрива физическия файл върху диска, свързан с FileVar/файловата променлива/.

  24. 6. Стандартни процедури и функции. • Процедура за преименуване – Rename(FileVar, St); Преименува файла върху диска, свързан с FileVar, като му дава ново име, взето от текстовата променлива St.

  25. ЗАДАЧА:Да се запишат във файл квадратите на първите 100 естествени числа. • Примерна програма, която може да реши тази задача: Program KVADRAT; Var F:file of integer; I:integer; Begin Assign(F,’F1’);/свързва вътрешния файл с външния с име F1/ Rewrite(F); /създава файла F/ For i:=1 to 100 do Write(F,sqr(i));/във файла последователно се записват стойностите на квадратите на i-тия елемент/ Close(F);/затваря файла върху диска, свързан с F/ End.

More Related