Tiplashmagan fayllar Reja: Tiplashmagan fayllar Tiplashmagan fayllarni kiritish-chiqarish Tiplashgan fayllardan farqi . Maksimal tezlikda ishlaydigan fayllarni ko'rib utamiz. Paskal tilidagi tiplashmagan faylni belgi va baytlar yig'indisidan iborat deb kabul kilinadi. Tiplashmagan faylni ochish uchun File rezervlashgan so'zidan foydalaniladi: VAR UntypedFile : File; Tiplashmagan fayl tuppadan-to'g'ri kiritish fayli bo'lib, o'qish va yozish operatsiyasini bir vaqtning uzida yozish imkoniyatini beradi. Bu fayllar uchun eng asosiy parametrlar baytlardagi yozuv uzunligi hisoblanadi. Yozuv uzunligi bir baytga ega bo'lgan tiplashmagan faylni ochish kuyidagicha bajariladi: Rewrite(UntypedFile, 1); yoki Reset(UntypedFile, 1); Fakatgina tiplashmagan fayllar uchun qo'llaniladigan ikkinchi parametr faylning bir seansdagi yozuv uzunligini beradi. Tiplashmagan fayllarni kiritish-chiqarish Tiplashmagan fayllarda kiritish-chiqarish operatsiyalarini Read va Write operatorlaridan foydalanib, berilganlarni uzatish paytida yaxshi muvaffakiyatga erishmaslik mumkin.Shuning uchun berilgan tipdagi fayllar uchun Turbo-Paskalda kiritish-chiqarish operatsiyasini tezlatish uchun quyidagi 2ta yangi protseduralar ishlatiladi. BlockRead(VAR F : file; VAR Buf; Count : word ;result:word); Bu protsedura Buf o'zgaruvchisining F faylidan aniq sondagi bloklarni xotiraga sanaydi. Buf parametri F fayldan yigiladigan axborotlarni xoxlagan o'zgaruvchisini bildiradi. Count parametri sanalaetgan bloklar sonini beradi. Result parametri shart bo'lmagan parametr hisoblanib, protsedura chakirilganda sanalgan ezuvlar sonini o'z ichiga oladi. Result parametrlarini qo'llanilishi sanalgan bloklar soni Count parametrida berilgan bloklar sonidan kam bo'lishligini oldindan aytadi. Agar Result chakirish paytida ko'rsatilgan bulsa, u holda kiritish-chiqarish situatsiyasida xatolik bulmaydi.o'qish vaqtidagi shunga o'xshash va boshqa xatolarni kuzatish uchun IOresult funksiyaning $I-, $I+ optsiyalari ishlatiladi. BlockWrite(VAR F : file; VAR Buf; Count:word ;result:word); Bu protsedura Buf o'zgaruvchisidagi malum ezuvlar sonini F fayliga tez uzatish uchun xizmat qiladi.BlockWrite protsedurasining barcha parametrlari BlockRead protsedurasining parametrlariga mos tushadi.Ikkala protsedura xam bloklarni kiritish-chiqarish operatsiyalarini bajaradi. Bloklarning baytlardagi xajmi quyidagi formula orqali aniklanadi: Xajm = Count * RecSize, bu yerda RecSize - ochilish paytida berilgan fayl ezuvining o'lchovi. Bu protseduralarning kulayligi shundaki , foydalanuvchi fayl operatsiyalari uchun bufer o'lchovini o'zi aniklashi mumkin. Bu imkoniyat resurslarni rejalashtirishda kul keladi. Misol. Bu dastur faylni berilgan xajm bo'yicha bir necha bo'laklarga bo'lib, xar bir bo'lakni disklarga alohida ezish imkoniyatini beradi. PROGRAM DivFile; CONST SizeBuffer = 25600; kiritish-chiqarish uchun bufer o'lchovi TYPE BufFile = array[1SizeBuffer] of Byte; VAR Buffer: BufFile; bufer W1, W2, W3 : word; KolZap, Siz : LongInt; NameFile, NamePart: string[60]; chiqarish va bosh fayl nomi FileMain, FilePart: file; tiplashmagan fayllar uchun o'zgaruvchilar Flag1, Flag2 : boolean; mantikiy operatsiyalar uchun fayllar FUNCTION Answer : boolean; Xatolik bo'lgan paytda foydalanuvchi bilan muloqot uchun funksiya VAR CH : char; BEGIN Write('Ishni davom ...

Joylangan
05 Jun 2024 | 18:27:23
Bo'lim
Informatika va AT
Fayl formati
zip → doc
Fayl hajmi
13.65 KB
Ko'rishlar soni
78 marta
Ko'chirishlar soni
6 marta
Virus yo'q.
VirusTotal da tekshirish
O'zgartirgan san'a:
29.03.2025 | 01:34
Arxiv ichida: doc
Joylangan
05 Jun 2024 [ 18:27 ]
Bo'lim
Informatika va AT
Fayl formati
zip → doc
Fayl hajmi
13.65 KB
Ko'rishlar soni
78 marta
Ko'chirishlar soni
6 marta
Virus yo'q.
VirusTotal da tekshirish
O'zgartirish kiritilgan:
29.03.2025 [ 01:34 ]
Arxiv ichida: doc