ФАЙЛДАРДЫ АШУ, ЖАБУ, ЖОЮ
Қандай-да бір нақты файлды файлдық айнымалымен байланыстырғаннан кейін осы файлдың мазмұнына қатынас жасау үшін оны ашу қажет.
Тurbo Рascal-да файлды оқу үшін, жазу үшін, және де бір мезетте оқу үшін де, жазу үшін де ашуға болады. Файлды ашу кезінде алдымен дискіде бар файл ізделінеді немесе жаңадан жасалынады (егер файл жазу үшін ашылса) және ағымдағы нұсқауыш файл басына орнатылады. Файлдарды ашу үшін RESET және REWRITE процедуралары қолданылады.
RESET процедурасы – текстік файлдарға қолданыла отырып, оны тек оқу үшін ашады. Ал типтендірілген немесе типтендірілмеген файлдар үшін RESET процедурасын қолдансақ, оны оқу үшін де және оған жазу үшін де ашуға болады.
RESET процедурасының тақырыбы төмендегідей көрсетіледі.
Procedure RESET (var f [ : file; RecSize:word ] )
Мұндағы f - кез-келген типтегі файлдық айнымалы; RecSize – міндетті емес параметр, ол тек қана типтендірілмеген файлдар үшін анықталады және жазбаның өлшемін көрсетеді. Егер Assign процедурасын шақыру кезінде Recsize параметрі анықталмаған болса, онда үнсіз келісім бойынша жазба өлшемі 128 байтқа тең деп қабылданады.
RESET процедурасының көмегімен ашылатын файл міндетті түрде бар болуы керек. Егер көрсетілген каталогта мұндай атауы бар файл жоқ болса, онда қателік көрсетіледі. Сол сияқты құрылғылардың символдық атауы да қолданылатын кезде міндетті түрде мәліметтердің көзі бола алатын құрылғылар көрсетілуі қажет. Мысалы, егер ақпаратты принтерден оқу қажет десек, онда қателік көрсетіледі.
RESET процедурасының көмегімен ашылған файл 5-суретте көрсетілген.
REWRITE процедурасы – текстік файлға қолданылса, оны тек жазу үшін ашады. Осы процедураны типтендірілген немесе типтендірілмеген файлдарға қолданылса, оны оқу үшін де, жазу үшін де ашады.
REWRITE процедурасының тақырыбы:
Procedure REWRITE (var f [ :file , RecSize: word ] );
RESET процедурасындағы f және recsize параметрі туралы айтылғандардың барлығы REWRITE процедурасына да қатысты.
RESET және REWRITE процедураларының типтендірілген және типтендірілмеген файлдарға қолданылғандағы айырмашылығы неде? Егер RESET процдурасын жоқ файлға қолдансақ, онда қателікті көрсетеді. Ал мұндай жағдайда REWRITE процедурасы жаңа файл құрады. Егер RESET процедурасын дисктегі бар фалға қолдансақ, онда файл ашылады. Ал REWRITE процедурасы бұл жағдайда ескі файлдың мазмұнын өшіріп тастап, сол атаумен жаңа файл жасайды. Яғни REWRITE процедурасы бар файлға қолданылса, оның мазмұнының жойылуына әкеледі. Сондықтан, осы процедураны өте ұқыптылықпен қолдану керек.
REWRITE процедурасының көмегімен ашылған файл 6-суретте бейнеленген.
Файлды ашқаннан кейін (RESET немесе REWRITE) оның мазмұнын өңдеу жүргізіледі, өңдеу жұмысы аяқталғаннан кейін файл жабылып, кейде жойылады. Файлдарды жабу үшін Close процедурасы қолданылады, ал жою үшін Erase процедурасы қолданылады. Бұл процедуралар кез-келген түрдегі файлдарға қолданылады.
Close процедурасы RESET және REWRITE процедуралары ашқан файлдарды жабады.
Procedure Close (var f);
Erase процедурасы дискідегі файлды жояды.
Procedure Erase (var f);
Екі процедураның тақырыбында да бар f параметрі кез-келген типтегі файлдық айнымалыны көрсетеді.
Close процедурасын файлды жабу үшін қолдану міндетті емес, барлық ашылған файлдар программасы жұмысын аяқтаған кезде автоматты түрде жабылады. Дегенмен Close процедурасының көмегімен файлды жабу, сол файлды басқа процедурамен ашу үшін қажет болуы мүмкін (айталық, RESET процедурасының орнына REWRITE процедурасын қолдану қажет болса).
Қандайда бір файлды ашып, оны өңдеп, артынан жауып және жоюдың схемалық түрі төмендегідей болады.
Program file processing;
Var
f:file of char; {файлдық айнымалыны жариялау}
Begin
Assign (f,’b.pas’); {айнымалыны нақты файлмен байланыстыру}
Rewrite (f); {файлды ашу}
… {файл мазмұнын өңдеу}
Close (f); {файлды жабу}
Erase (f); {файлды жою}
End.
Мұнда FILE OF CHAR типіне тиісті f файлдық айнымалы жарияланады (бұл файл символдар тізбегінен тұрады). Осыдан кейін осы айнымалы b.pas файлымен байланыстырылады. Осыдан кейін файл ашылады (REWRITE процедурасының көмегімен). Ары қарай файл мазмұнына қандай-да бір өңдеулер жүргізіледі. Ең соңында B.PAS файлы жабылып (Close процедурасы), жойылады (Erase процедурасы).
Достарыңызбен бөлісу: |