Ma'ruza №1 Paskal tilining umumiy tavsifi


Matnli fayllarni kiritish va chiqarish



Download 336,5 Kb.
bet29/54
Sana29.12.2021
Hajmi336,5 Kb.
#75131
1   ...   25   26   27   28   29   30   31   32   ...   54
Bog'liq
Ma'ruza №1 Paskal tilining umumiy tavsifi

Matnli fayllarni kiritish va chiqarish.


Append(VAR F : text), Readln(VAR F : text; V1 [,V2,...Vn]), Writeln(VAR F : text; V1 [,V2,...Vn]), Yeoln(VAR F: text), Eof(VAR F:text), SeekEoln(VAR F: text), SeekEof(VAR F: text), Flush(VAR F: text), SetTextBuf(VAR F : text; VAR Buf[; size : word]) protsedura va funksiyalari
Matli fayllar uz spetsifikasiga ega. Read ukish va Write yozish protseduralarining maxsus kengaytmasi belgili bulmagan tiplar bilan ishlash imkoniyatini beradi.

Read(F, Ww) larning chakirilishi, bu yerda Ww - word tipidagi uzgaruvchi, sonlar ketma-ketligini F faylidan ukib, Ww.uzgaruvchisiga uzlashtiradi. Boshqa xollarda dasturda xatolikka olib keladi.

Matinli fayllarni ochishni standart usullarda olib borish mumkin:

Fayl uzgaruvchisiga mos fayl nomini kuyish ( Assign protsedurasi), yangi matn faylini ochish ( Rewrite protsedurasi);

yoki fayl uzgaruvchisiga mos fayl nomini kuyish ( Assign protsedurasi ), bor faylni ochish (protsedura Reset).

Matinli fayllar uzining spetsifikatsiyasiga karab, ukish yoki yozish operatsiyalaridan bittasi bilan ishlash imkoniyatini beradi. Shuning uchun matnli fayllar bilan ishlashda yana bitta protsedura ,faylni ochish protsedurasi paydo buladi:


Append(VAR F : text);
Bu protsedura faylni ochib, kursorni fayl oxiriga keltirib kuyyadi. Append protsedurasiga kuyiladigan talablar xam xuddi Reset va Rewrite protseduralariga kuyilgan talablarga uxshash.

Matinli fayllarni kayta ishlash uchun Read va Write protseduralari kullaniladi. Readln protsedurasi katorlarni buluvchi maxsus til vositasi xisoblanadi. Uning vazifasi xuddi Read ning vazifasiga uxshash va ukishni kator oxirining markerigacha olib boradi va boshqa yangi katorga utishni ta’minlayladi. Writeln, protsedurasi xamma kattaliklarni yezishni ta’minlaydi. Protseduralar yezilishining Ko’rinishi kuyidagicha:


Readln(VAR F : text; V1 [,V2,...Vn]);

Writeln(VAR F : text; V1 [,V2,...Vn]);


bu yerda V1...Vn turli tipdagi uzgaruvchilar. Read va Readln protseduralari orasidagi fark nimada degan savolga kuyidagicha javob berish mumkin. Read protsedurasi berilganlarni xammasini bir katorga olib kirish imkonini beradi Readln operatsiyasi esa albatta bir kator tugagandan keyin avtomatik ravishda ikkinchi katorga utishni ta’minlaydi, ya’niy berilganlarni turli katorlardan olib kirish mumkin. Write va Writeln protseduralarida xam xuddi shunday.
Kiritish chiqarish operatsiyalarini bajarayetgan paytda maxsus Eoln, Eof, SeekEoln, SeekEof funksiyalaridan tashkil topgan til vositasini kullash mumkin.
Aagarda faylning joriy pozitsiyasi fayl oxiri markerida turgan bulsa Yeoln(VAR F: text) funksiyasi, True ning bulev kiymatini kaytaradi. Kolgan xamma xolatlarda funksiyaning kiymati False buladi.
Agarda kursor oxirgi komponentadan keyin turgan bulsa, Eof(VAR F: text) True ning bulev kiymatini kaytaradi, aksi xolda False buladi.
Misol. Matnli faylning birinchi katoridan oltita ketma-ket belgilarni ukish.
VAR

F: text;


St: string[6];

BEGIN Assign(F, 'EXAMPLE.PAS'); { EXAMPLE.PAS fayli bor bulishi kerak } Reset(F);

WHILE NOT Eoln(F) DO BEGIN { birinchi kator oxirini tekshirish }

Read(F, St);

Writeln('St = ', St); { ekranga chiqarish }

END;


Readln(F); { 2- katorga utish }

Close(F);

END.
SeekEoln(VAR F: text) funksiya kursor kator oxirida turganda True ning bulev kiymatini kaytaradi. Aksi xolda funksiya False kiymatni kaytaradi.
SeekEof(VAR F: text) funksiyasi agarda ko’rsatkich fayl oxiri markerida turgan bulsa True ning kiymatini kaytaradi. Bu funksiyalarni kullash tekisli fayllardan sonli kiymatlarni ukishda kulaylik yaratadi. Diskdagi matnli fayllar bilan tashki dastur orasidagi axborot almashuvini kurib chikamiz. Berilganlarni olib kirish uchun operativ xotiradagi kiritish- chiqarish buferidan foydalanamiz.

Paskal tilida standart kiritish chiqarish buferi 128 bayt xajmga ega buladi. Xar kaysi ochilgan faylga uzining buferi kuyiladi. Tashki axborot tashuvchilariga murojat kilishni optimallashtirish vazifasi kuyiladi.

Masalan , Writeln protsedurasi xamma berilganlarni buferga ketma-ket yezadi. Oxirgi bufer band bulgan xolatdagina yezuvlar tashki kurilmaga yeziladi. Yezuvlarni diskga kuchirib bulgandan sung bufer keyiggi axborot kabul kilish uchun bushaydi. Yezuvlarni bu tartibda yezish juda kup vaktni oladi Shuning uchun maxsus kiritilgan Flush(VAR F: text) protsedurasi Write va Writeln protseduralari yerdamida yezuvlarni diskdagi fizik yezuvlar bilan boglash imkoniyatini beradi. Protsedurani chakirish yezish uchun berilgan xamma belgilarni xakikiyligini ularni tashki faylga yezilishini garantiyalaydi. Bu protsedularni Rewrite va Append. protseduralari orkali ochilgan matnli fayllar uchun kullash mumkin. Amaliy dasturlarda bu protseduralardan kisman foydalanilmaydi.
Amaliyetda matnli fayllarni kayta ishlash xotiradagi xamma fayllarni sanab chikish va undan keyin fayllarni diskga yezish uchun xizmat kiladi.

SetTextBuf(VAR F : text; VAR Buf[; size : word]) protsedura


F fayliga Size xajmdagi uzining kiritish- chiqarish Buf ni o’rnatish imkonini beradi Size parametri chakirishda tashlab ketilishi mumkin.U xolda bufer ulchovi SizeOf(Buf) ga mos buladi. F fayl uzgaruvchisiga SetTextBuf ning kuyilishi uzgaruvchiga yangi tashki faylni kullashgacha tarkalishi mumkin.
Misol. Kiritish- chiqarish buferini kuyilishi

VAR


F: text;

Ch: char;

Buf: array[1..2048] of char; { bufer 2 Kbayt }

BEGIN


Assign(F, ParamStr(1)); { komanda katoridan faylga nom kuyish }

SetTextBuf(F, Buf); { faylga 2 Kbayt buferni o’rnatish }

Reset(f);

WHILE NOT Eof(F) DO BEGIN { faylni ekranga chiqarish }

Read(F, Ch);

Write(Ch);

END;

END.



Download 336,5 Kb.

Do'stlaringiz bilan baham:
1   ...   25   26   27   28   29   30   31   32   ...   54




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish