Súbor z hľadiska operačného systému: množina dát, ktorá je uložená na vonkajšom pamäťovom zariadení a má pridelené (OS alebo užívateľom) určité vlastnosti meno, cestu, veľkosť, práva prístupu, dátum vzniku,... z hľadiska programovacieho jazyka: lineárna postupnosť prvkov t.j. premenných rovnakého typu uložených na vonkajšom médiu Rozdelenie súborov z hľadiska obsahu: - textové - typové z hľadiska vykonávanej činnosti: - zo súboru sa budú len čítať údaje - do súboru sa budú len zapisovať údaje - zo súboru sa budú čítať údaje a aj sa údaje do súboru budú zapisovať
Textové súbory - postupnosť zobraziteľných znakov, ktoré môžu byť usporiadané do riadkov s nerovnakou dĺžkou - jednotlivé riadky sú ukončené špeciálnymi znakmi CR (ASCII 13) a LF (ASCII 10) - logický koniec súboru je EOF (ASCII 26) Základné činnosti so súbormi 1. Priradenie definovanie vzťahu medzi logickými a fyzickými dátami 2. Otvorenie oznámenie operačnému systému, že program bude pracovať s konkrétnou fyzickou dátovou štruktúrou, v programe môže byť otvorených viac súborov 3. Čítanie/Zápis uskutočňovanie I/O operácii 4. Vnútorné činnosti programu so zložkami prečítaných údajov 5. Zatvorenie oznámenie OS, že program nebude ďalej pracovať s danou fyzickou dátovou štruktúrou
Základné procedúry Assign(S,súbor) prepojenie, priradenie mena súboru, vytvorenie cesty pre súbor Reset(S,veľkosť) otvorenie na čítanie Rewrite(S,veľkosť) vytvorenie nového súboru na zápis Append(S) otvorenie na zápis už existujúceho súboru Close(S) zatvorenie súboru Read /ln(s,premená...) čítanie zo súboru Write/ln(S,premenná...) zápis do súboru
ASSIGN(S,názov) Prepojenie logickej dátovej štruktúry s fyzickou dátovou štruktúrou S... súborová premenná, ktorá je deklarovaná ako súbor názov... prepojenie, priradenie mena a typu súboru, vytvorenie cesty pre súbor v danom adresári BEGIN assign(s,'data.txt'); assign(s, 'c:\fpc\bin\ vst.doc');... RESET(S); Otvorenie už existujúceho súboru iba na čítanie a nastavenie sa na jeho začiatok. S... názov premennej deklarovanej ako súbor
APPEND(S) Otvorí súbor na zápis, ukazovateľ v súbore sa nastaví na koniec súboru, môžeme pridať text, t.j. len zapisovať za už existujúci text. CLOSE(S) Zatvorenie otvoreného súboru. REWRITE(S) Vytvorenie a otvorenie súboru na zápis dát, činnosť závisí od toho, či súbor už existoval (zruší ho) alebo vytvorí nový súbor. Možno len zapisovať do súboru! S... identifikátor premennej deklarovanej ako súbor ľubovoľného typu
Funkcia EoF(S) Test konca súboru S...premenná typu súbor súboru Funkcia EoLN(F) Výsledkom je logická hodnota: true ak prečítaná hodnota je znak konca súboru false ak prečítaná hodnota nie je znak konca Test konca riadku, funkciu je možné použiť len pre textové súbory S...premenná definovaná ako súbor typu text Výsledkom funkcie je logická hodnota: true bol prečítaný koniec riadku false nebol prečítaný koniec riadku
Ďalšie procedúry a funkcie EoF(S) test konca súboru Seek(S,pozícia) nastavenie ukazovateľ v súbore na požadovanú pozíciu IOResult(S) kód posledne vykonanej I/O operácie SeekEoF(S) nájdenie konca súboru EoLN test konca riadku (len textové) SeekEoLN nájdenie konca riadku (len textové) FileSize(S) veľkosť súboru FilePos(S) aktuálna pozícia v súbore
Funkcia SeekEoF(F) F... Identifikátor premennej deklarovanej ako textový súbor činnosť funkcie: 1. nastavuje pozíciu v súbore na nasledujúci znak, pričom ale preskakuje medzery, TAB, CR, LF 2. testuje, či tento nasledujúci znak je znak konca súboru 3. výsledkom funkcie je logická hodnota - true nasledujúci znak je znak konca súboru - false nasledujúci znak nie je koniec súboru