381
Assign (f,’c:\azad\aysel.txt’)
bu yazılışda f – fayl dəyişəni, ’c:\azad\aysel.txt’ isə müraciət olunan faylın
ünvanıdır.
Faylla işləmək üçün faylı açmaq lazımdır. İnformasiya daşıyıcısında artıq
mövcud olan faylı açmaq üçün
Reset(,
)
prosedurundan istifadə olunur. Bu yazılışda
parametri
məcburi olmayan
parametr olub, tipsiz fayllar üçün oxunan blokun baytlarla ölçüsünü bildirir. Bu
parametr verilmədikdə kompilyator avtomatik olaraq blokun həcminin 128 bayta
bərabər olduğunu qəbul edir. Qeyd edək ki, prosedurda göstərilən ada malik fayl
olmadıqda, proqramın yerinə yetirilməsi dayanır və kompilyator giriş-çıxış
xarakterli səhv haqqında məlumat verir.
Məsələn,
Reset (f);
Turbo Pascal dilində nəzərdə tutulmuş digər
Rewrite
(,
)
prosedur isə ünvanı
Assign
prosedurunda
elan olunan yeni fayl
yaradaraq onu açır. Bu yazılışda da
parametri məcburi olmayan
parametr olub, tipsiz fayllar üçün oxunan blokun baytlarla ölçüsünü bildirir. Eyni
qaydada, bu parametr verilmədikdə kompilyator avtomatik olaraq blokun həcminin
128 bayta bərabər olduğunu qəbul edir. Fayl artıq
movcud olduqda, prosedur icra
olunduqda həmin fayl pozulur. Qeyd edək ki,
Reset(
dəyişən>,
) proseduru verilənlərin fayldan yalnız oxunmasını,
Rewrite
(, )
proseduru
isə verilənlərin
fayldan həm oxunmasını, həm də fayla verilənlərin yazılmasını təmin edir.
Mətn fayllarının sonuna yeni verilənləri əlavə etmək üçün faylın açılması
Append
()
prosedur vasitəsilə təmin olunur.
Faylı açdıqdan sonra fayldan verilənləri oxumaq, fayla verilənlər yazmaq,
əlavə etmək, verilənləri redaktə etmək olar.
Fayldan
verilənləri oxumaq üçün
Read(,
,,...)
və
Readln(, ,,...)
prosedurlarından istfadə etmək lazımdır. Bu yazılışlarda
,,...
dəyişənlərinin qyimətləri fayldan oxunur.
Read(,
,,...)
proseduru verilənlərin ardıcıl oxunmasını təmin edir.
Readln
(, ,,...)
proseduru yalnız mətn faylından
verilənlərin yeni sətirə keçməklə oxunmasını təmin edir.
Fayla əməliyyatların nəticəsini yazmaq üçün
Write
(
dəyişən>, ,,...),
və ya
Writeln
(,
,,...)
prosedurdan istifadə etmək lazımdır. Bu yazılışda
,,...
dəyişənlərinin qiymətləri fayla yazılır.
Writeln(
dəyişən>, , , ...)
proseduru yalnız mətn faylına verilənlərin
yazılmasını təmin edir.
Mətn fayllarında verilənlərin oxunması ardıcıl yolla həyata keçirilir. Bu zaman
kursorun cari mövqeyini təyin etmək üçün aşağıdakı standart funksiyalar nəzərdə
tutulmuşdur:
382
1.)
Eof
(
) funksiyası verilənlərin oxunması və ya
yazılması prosesində faylın sonuna çatdıqda
True
qiymət, əks
halda isə
False
qiymət alır.
2.)
Eoln
(
) funksiyası verilənlərin oxunması və ya
yazılması prosesində sətrin sonuna çatdıqda
True
qiymət, əks halda isə
False
qiymət alır.
Adətən,
eof
funksiyası
While…end
dövr operatorunun daxilində istifadə
olunur və mətn faylının bütün sətirlərinin oxunması üçün,
eoln
funksiyası isə
sətirdən bütün simvolların oxunması üçün istifadə olunur. Faylla əməliyyat yerinə
yetirildikdən sonra o, bağlanılmalıdır.
Bunun üçün standart
Close
(
dəyişən>
)
proseduru nəzərdə tutulmuşdur
. Prosedur faylı
bağlayır, yəni fayl
tipli dəyişənin təyin etdiyi informasiya daşıyıcısında olan faylla əlaqəni kəsir.
Məsələn, BIBLO adlı faylı c:\ diskində təşkil etmək lazımdır.
Program Biblio;
Type
Books=record
Nomer:integer;
Autor:string [46];
Title: string [60];
ISBN: string [16];
End;
Var
BooksFile: text;
Books1 : Books;
Begin
Assign (Booksfile,'c:\Biblo.txt');
Rewrite (Booksfile);
readln (Books1.Nomer);
writeln(BooksFile,Books1.Nomer);
readln (Books1.Autor);
writeln (BooksFile, Books1.Autor);
readln (Books1.Title);
writeln (BooksFile,Books1.Title);
readln (Books1.ISBN);
writeln (BooksFile,Books1.ISBN);
Close (BooksFile);
End.
Qeyd edək ki,
Read
və
Write
prosedurları vasitəsilə tipsiz fayllara verilənlər
128 baytdan ibarət olan bloklarla yazılır və oxunur. Tipsiz fayllardan verilənlərin
daha sürətli oxunması üçün əlavə olaraq
BlockWrite(var f:file; var buf;
count:Word; result:Word),
verilənləri daha sürətlə yazmaq üçün isə
BlockWrite(var f:file; var buf; count:Word; result: Word)
prosedurlarından istifadə olunur. Buf - parametri müvafiq olaraq oxunan və yazılan
verilənə uyğun ixtiyari dəyişən, count – oxunan və yazılan blokların sayını, result –
oxunan və ya yazılan yazıların sayını bildirən parametrlərdir.
Məsələn,
Program Turqut;
Var