Ștergerea înregistrărilor dintr-un fișier
Această operațiune poate fi de două tipuri:
a) în mod logic șters;
b) îndepărtarea fizică.
Când ștergeți o înregistrare logică este, de fapt nu a fost ștearsă. În schimb, o etichetă specială: înregistrare activă / pasivă. Logică de ștergere - setarea atribut la „pasiv“. În acest caz, înregistrarea nu este ștearsă. Într-un semn de verificat în timpul procesării fișierelor și prelucrate numai de înregistrare activă.
Când creați un câmp fișier Ftel Act toate înregistrările are valoarea reală - înregistrarea „activă“ (nu a fost ștearsă), și anume Programul în timpul umplerii inițiale va include un fragment:
Removal înregistrare număr Num cum se realizează corecția (Legea modifică domeniul conținutului este inversat):
La procesarea unui fișier în acest caz, au nevoie de o suplimentare de verificare a prezenței (activitate) a înregistrării:
În cazul în care nu EOF (Ftel), atunci
În cazul în care îndepărtarea fizică a înregistrării în locul informațiile sale noi este suprascrisă, și anume înregistrare șterse. Această operație se realizează conform schemei prezentate în Fig. 2.12, care arată ștergerea unei înregistrări cu numărul 1.
Forma procedurii de ștergere se înregistrează un număr predeterminat de fișier Num f. Trebuie reamintit faptul că eliminarea este redusă la înregistrările de recensământ după numărul Num 1 loc înainte. După recensământul (sau în cazul în care pentru a elimina ultima intrare a fost numit la o dată), fișierul pe care trebuie să taie din nou cu privire la utilizarea procedurii Truncate și, astfel, scoate din ultima înregistrare. Amintiți-vă că poziția curentă după operațiile de citire / scriere la fișierul este mutat la elementul următor.
Noi credem că programul descris tip Ft = fișier de zap. Funcția filesize procedură utilizată (nume de fișier). Returnează dimensiunea fișierului. Descrierea acestei funcții este dată în următorul paragraf (21.2.5).
Procedura RemoveF (Num Integer ;. Var F. Ft);