1.6. Faylni tashkil qilishdagi xatoliklar Faylni tashkil qilishga urinish muvaffaqqiyatsiz tugashi mumkin va dastur ishi davomida xatolik hosil bo’ladi. Bunga sabablar bir nechta bo’lishi mumkin. Masalan, fayl ishga tayyor bo’lmagan yumshoq diskda yaratilayotganda (disk yozishdan homiyalangan yoki disk yurituvchi qo’yilmagan bo’lsa). Boshqa bir sabab - avval yaratilmagan faylga ma’lumot qo’shishda (fayl yo’q - hech qayerga qo’shib bo’lmaydi)
Dastur Delphidan ishga tushirilganda va xatolik yuz vergan vaqtda xatolik haqidagi axborot beruvchi muloqot oyna ekranda hosil bo’ladi (4.2-rasm).
4.2-rasm. Agar dastur Windowsda ishga tushirilsa va xatolik yuz bersa u holda quyidagicha muloqot oynasi hosil bo’ladi (7.3-rasm)
4.3-rasm. Dastur yordamida fayl yaratishdagi natijani nazorat qilish mumkin. Buning uchun IOResult (Input-Output Result - kirish/chiqish dagi natija) funksiyasining qiymatini tekshirish kerak. Agar kirish/chiqish amali muvofaqiyatli yakunlansa IOResult funksiyasi 0 qaytaradi, aks holda xatolik kodini qaytaradi (nol emas).
Dastur kirish/chiqish amalining bajarilish natijasini tekshirisha olishi uchun unga ruxsat berish kerak. Buning uchun faylni ochish protsedurasini chaqirishdan avval kompilyatorning {$I-} direktivasini joylashtirish kerak. Bu deriktiva kirish/chiqishdagi xatoliklarni avtomatik qayta ishlashni taqiqlaydi va kompilyatorga dastur xatoliklarni nazorat qilishni o’z bo’yniga olishi haqida xabar beradi. Faylni ochish buyrug’idan so’ng {$I+} direktivasini joylashtirish kerak. Bu deriktiva kirish/chiqishdagi xatoliklarni avtomatik qayta ishlash rejimini tiklaydi.
4.4 -rasmda faylni ma’lumot qo’shish uchun ochishning algoritm blok-sxemasi keltirilgan. Bu dasturda agar qo’shish uchun diskda fayl mavjud bo’lmasa, fayl yangitdan yaratilishi ta’minlangan (mavjud bo’l,agan faylga murojaat qilishdagi xatolikni tao’g’rilash).
4.4-rasm. Yuqorida ko’rsatilgan algoritmning dasturi quyida berilgan.
AssignFile(f,filename);
{$I-}
Append(f) // qo’shish uchun ochish
{$I+}