1 Mart 1989 Tarihli Commodore Gazetesi Sayfa 42

1 Mart 1989 tarihli Commodore Gazetesi Sayfa 42
Metin içeriği (otomatik olarak oluşturulmuştur)

Disket üzerinde bir Directory oluşturmak: Bir solukta söylendiğinde çok basit geliyor. Oysa Directory'deki her karakter bir macera vaat etmekte. Eğer dosya tipleri üzerinde bazı de- ğişiklikler yaparsak bunların bir de- rece korunmasını sağlayabiliriz. Yi- ne resim İ'de görülen directory'ye bakın. Burada seguential olarak gö- rülen son dosya aslında normal bir Basic programıdır. Herşey iyi güzel de bunu nasıl yükleyeceğiz diye bir soru yöneltebilirsiniz. Bu sorunun ce- vabının ne kadar basit olduğunu gü- rünce şaşıracaksınız: LOAD*“6510, S,R”',8 yazdığınızda bu seguential dosyanın rahatça yüklendiğini göre- ceksiniz. Tabii ki program daha ön- ce SAVE “6510,5,W *,8 ile kaydedil- miş olmalıdır. Gerçek seguential dosyalarda yu- karıda belirtilen yöntemle yüklenebi- lir, fakat bu şekilde hiçbir sonuç ala- mazsınız, zira bilgisayarınız kitlenir. USR tipinde dosyalar yaratmak için yukarıdaki LOAD ve SAVE ko- mutlarında < S>>harfi yerıne<<U» yazmalısınız. Görüldüğü gibi normal bir - mın seguential veya USR-File gibi gösterilmesi herhangi bir sorun teşkil etmemektedir. Fakat Relative File olarak go.stcrilmek istenen program- larda iş biraz karışıyor. Burada Floppy Relative-File'ı bir program gi- bi bilgisayara göndermeyi kesinlikle reddediyor. Şimdi yapacağımız bazı işlemlerle disket üzerindeki dosyaları kısa süre- ler için “*canlandıracağız.*' Bu iş için Block-yazma ve Block-okuma ko- mutlarını kullanacağız. 'İlk olarak boş bir diskete ihtiyacı- mız olacak. Bu disketin üzerine ko- ruma altına alacağımız programı ve ardından bunu yükleyecek bir alt program kaydedin. Bu alt programa daha sonra detaylı olarak değinece- ğiz. Yukarıda belirtilenleri aynı sıra- da yapmaya dikkat edin. Yukarıdaki işlemler tamamlandık- tan sonra scratch komutu kullanarak ilk dosyayı yani ana programı silin. Dikkat! Bu andan itibaren disket üze- rinde hiçbir yazma işlemi gerçekleş- 42 -tirmemelisiniz! Bilgisayar ekranına gelen direc- tory'de yalnızca ikinci program, ya- ni ana dosyayı yükleyen alt program bulunmaktadır. Her ne kadar direc- tory'de gözükmese de ana program disket üzerinde hâlâ yer almaktadır ve 18. Track'da #*DEL>dosya tipi ile kaydedilmiştir. DEL komutunun önündeki<* >bir basım hatası değil- dir. Bu directory dilinde bir progra- mın düzgün olarak kaydedilmediği anlamına gelir. Bu tür yıldızlar genel- de seguential dosyalarda herhangi bir hata yapıldığında veya diskete sığma- yan normal programlarda bulunur. Disket sürücümüz bu işe çok sinirlen- diği için directory yüklenirken hatalı programların yanına “<*DEL > ko- mutunu yerleştirmektedir ve bu şekil- de kullanıcıya, saatlerce, olmayan bir program yüklemeye uğraşmaması için mesaj göndermektedir. Disket üzerinde var olan fakat gö- rülmeyen bu ana programı tekrar canlandıralım. Bunun için dosya ti- pi baytının 130($82) değerini alması- nı sağlamalıyız. Disket üzerindeki ilk dosyanın tipi 2 no.lu baytta (bilgisa- yarlarda sayma işlemleri 0'dan baş- ladığı için baştan üçüncü bayt) kayıt- hdır. Bu nedenle 18 track'ın 1. sec- tor'unun 2. baytını değiştirecek olan alt programda şu satırlar bulunmak- tadır. OPEN 3,4,3, "# ı OPEN 15,8,1 PRIİNT #15, "Ul :30181” PRINT # 15,“B-P:3 2” PRİNT # 3, CHR$(130) PRIİNT #15,“U2:3018 1” PRINT #15,“1* CLOSE 15,3 LOAD*;**? 8 Son satırda bulunan LOAD komu- tu directory'ye bakılıp tahmin edile- ceği gibi ilk sırada bulunan alt prog- ramı yüklemez, aksine yukarıdaki sa- tırlarla tekrar hayata döndürdüğü- müz âna programı yükler. Bura- da önemli olan ana programın yük- lenmesinden önce < PRINT # 15, “*Dr>komutu ile initialisation işle- minin gerçekleştirilmesidir. Floppy directory bir kez okunduktan sonra bunu hafızasına almaktadır. Bilgi- sayar tarafından bir kez daha direc- tory istendiğinde disket sürücü 18. Track'ı okumadan hafızasında bulu- nanı bildirmektedir. Sonuç olarak ye-

Bu sayıdan diğer sayfalar: