Ia9 -fesil-1: 9 qxd



Yüklə 9,12 Kb.
Pdf görüntüsü
səhifə16/29
tarix08.10.2017
ölçüsü9,12 Kb.
#3616
növüDərs
1   ...   12   13   14   15   16   17   18   19   ...   29

Mətn faylları ilə işləmək üçün beş əməliyyatı yerinə yetirmək lazımdır:
1. Faylın təsvir edilməsi. Proqramda olan hər bir obyekt kimi, mətn faylı da isti-
fadədən öncə təsvir olunmalıdır. Fayl 
var
bölümündə təsvir edilir və bu nun
üçün 
text
açar sözündən istifadə olunur. Məsələn, 
var f1,  f2:  text;
yazılışı 
f1
və 
f2
-nin mətn faylı olduğunu bildirir. Bu halda 
f1
və 
f 2
-yə  fayl
dəyi şənləri də deyirlər.
2. Təsvir olunmuş faylın xarici daşıyıcıda olan konkret faylla əla qə lən dir -
ilməsi.  Diskdə saxlanılan fayla müraciət etmək üçün proqrama həmin faylın
adını və onun hansı qovluqda (kataloqda) saxlandığını bildirmək lazımdır.
Başqa sözlə, proqram faylın tam adını bilməlidir. Bunun üçün Pascal dilində
Assign
proseduru nəzərdə tutulub. Məsələn, 
C
diskində
ALTAY
qov luğunda
sax la nı lan
in.txt
faylını 
f1
fayl dəyişəninə bağlamaq üçün proq ramda 
Assign(f1,  ‘c:\ALTAY\in.txt’);
proseduru göstərilməlidir. Əgər yalnız faylın adı göstərilibsə, onda Turbo
Pascal nəzərdə tutur ki, fayl proqramın yerləşdiyi qovluqdadır. Məsələn, 
Assign(f2,  ‘out.txt’);
proseduru proqram qovluğunda yerləşən 
out.txt
faylını 
f2
fayl dəyişəninə
bağ layır. 
Assign
proseduru faylın gerçək adıyla işləyən yeganə funksiyadır.
Qalan funksiyaların hamısı fayl dəyişənindən istifadə edir. Bu səbəbdən proq -
ramçılar 
f1
-ə faylın daxili adı
c:\ALTAY\ in.txt
-yə isə onun xa rici  adı  deyirlər.
3. Faylın oxuması, yaxud yazılması üçün onun açılması. Proqramın mətn faylı
ilə ma ni pulyasiya edə bilməsi üçün həmin fayl giriş, yaxud çıxışa hazırlanma -
lıdır, başqa sözlə, fayl açılmalıdır. Mətn faylı eyni zamanda həm giriş, həm də
çıxış üçün açıla bilməz. Yəni verilənlər mətn faylından oxunursa, siz nəticələri
həmin fayla yaza bilməzsiniz. Mətn faylını açmaq üçün Pascal dilində 
Reset_prose-_duru_faylın_oxunmasına_başlamazdan_əvvəl_çağırılmalıdır._Rewrite'>Reset_və_Rewrite_prosedurları_nəzərdə_tutulub._Reset_(f1);_1._PASCAL_proqramlaşdırma_dili'>Reset
və 
Rewrite
prosedurları nəzərdə tutulub.
Reset(f1);
1.
PASCAL
proqramlaşdırma dili
57


58
Bu prosedur 
f1
fayl dəyişəni ilə əlaqələndirilmiş faylı proqrama daxil edilmək
üçün hazırlayır. Bu zaman cari mövqe göstəricisi faylın başlanğıcına keçir.
Cari mövqe göstəricisi emal olunacaq növbəti simvolu göstərir. 
Reset
prose-
duru faylın oxunmasına başlamazdan əvvəl çağırılmalıdır.  
Rewrite(f2);
Bu prosedur 
f2
fayl dəyişəni ilə əlaqələndirilmiş faylı proqramdan çıxışa veri -
ləcək verilənləri qəbul etmək üçün hazırlayır. Əgər diskdə göstərilən fayl ol -
mazsa, həmin ad altında yeni boş fayl yaradılacaq. Diskdə göstərilən fayl artıq
möv cuddursa, o, boşaldılacaq və cari mövqe göstəricisi faylın başlanğıcına ke -
çəcək. 
4. Verilənlərin fayla yazılması, yaxud fayldan oxunması. Verilənləri mətn
faylından oxumaq üçün 
ReadLn
prosedurundan istifadə etmək olar. Bu prose-
dur klaviaturadan daxil edilən verilənləri necə emal edirsə, mətn faylının hər
bir sətri ilə də elə işləyir. 
ReadLn(f1,  n);
proseduru 
f1
giriş faylından verilənləri oxuyur və 
n
dəyişəninə yazır. Faylda iki
ardıcıl elementi birdən oxuyub, 
a
və 
b
dəyişənlərinə yazmaq üçün
Read(f1,  a,  b);
prosedurundan istifadə etmək olar.
Verilənləri ekrana çıxarmaq üçün 
WriteLn

Write
prosedurları ilə artıq ta -
nışsınız. Bu prosedurlardan verilənləri mətn faylına yazmaq üçün də istifadə
edilir. 
WriteLn(f2,  n);
proseduru 
n
dəyişəninin qiymətini 
f2
faylına yazır. Yeni verilənlər fayla
növbəti sətirdən yazılacaq.
Write(f2,  a,  b);
proseduru 
f2
faylına 
a

b
ədədlərini yazır və növbəti yazı həmin sətirdən
davam olunacaq.


59
5. Faylın bağlanması. Giriş, yaxud çıxış faylı ilə işi bitirdikdən sonra diskdəki
faylla proqram arasında əlaqəni kəsmək lazımdır. Başqa sözlə, açıq fayllar
bağlanmalıdır. Bunun üçün Turbo Pascalda 
Close_proseduru_nəzərdə_tutulub._Close_(f1);_Close_(f2);_Nəzərə_alın_ki,_Close'>Close
proseduru nəzərdə tutulub.
Close(f1);
Close(f2);
Nəzərə alın ki, 
Close  (f1, f2);
yazılışı düzgün deyil – hər bir fayl ayrıca
bağlanmalıdır!
İndi fayllarla işləmək üçün iki misala baxaq. Birincidə iki ədəd fayla yazılır,
ikinci misalda isə həmin ədədlər fayldan oxunur və ekrana çıxarılır.
program P1;
var
f:  text; 
{Fayl elan olunur}
n:  Integer;
begin
Assign(f,‘file1.txt’);
{f  faylı diskdə olan file1.txt
faylı ilə əla qələndirilir}
Rewrite(f);
{f  faylı yazılmaq üçün açılır}
n  :=  7;
WriteLn(f,  n);
{n  dəyişənin qiyməti fayla yazılır}
WriteLn(f,  5);
{5  ədədi fayla yazılır}
Close(f);
{Fayl bağlanılır}
end.
-----------------------------------------------------
program P2;
var
f:  text;
{Fayl elan olunur}
n:  Integer;
begin
Assign(f,’file1.txt’); 
{f  faylı diskdə olan  
file1.txt 
faylı ilə əla qələndirilir}
1.
PASCAL
proqramlaşdırma dili


Reset(f);
{f  faylı oxunmaq üçün açılır}
ReadLn(f,  n);
{Birinci ədəd n  dəyişəninə oxu nur}
WriteLn(n);
{n  dəyişəninin qiyməti (7  ədə 
di)
ekrana çıxarılır}
ReadLn(f,  n);
{İkinci ədəd n dəyişəninə oxunur}
WriteLn(n);
{n dəyişəninin qiyməti (5  ədə di)
ekrana  çıxa rı lır}
Close(f);
{Fayl bağlanılır}
end.
Sonda fayllarla işləmək üçün tez-tez istifadə olunan bir neçə funksiya ilə də
tanış olaq. 
Mətn faylına informasiyanın artırılması. Mətn fayllarının sonuna infor-
masiya artırmaq imkanı da nəzərdə tutulub. Bunun üçün faylı 
Rewrite
prosedu-
ru ilə deyil
Append
proseduru ilə açmaq lazımdır.
Append();
Bu prosedur çağırıldıqdan sonra fayl yazılış üçün açılır, ancaq 
Rewrite
prosedurunda olduğu kimi, fayldakı mövcud informasiya silinmir. Cari mövqe
göstəricisi faylın sonuna keçir və deməli, yazılan informasiya faylın sonuna əlavə
olunur. 
Misal olaraq yuxarıdakı 
P1
proqramı vasitəsilə yaradılan
file1.txt
faylına
yeni yazı əlavə edək:
program P3;
var
f:  text;
begin
Assign(f,’file1.txt’);
Append(f);
WriteLn(f,  9);
Close(f); 
end.
60


Yüklə 9,12 Kb.

Dostları ilə paylaş:
1   ...   12   13   14   15   16   17   18   19   ...   29




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©genderi.org 2024
rəhbərliyinə müraciət

    Ana səhifə