Eveeet, sevgili arkadaşlar... Uzun süren 1541 muhabbetinin de sonuna geldik. Bugün, önce eski bölümlerde- ki bazı baskı hatalarını düzelteceğiz. Sonra DISKMON ile ilgili bir iki ufak ayrıntıyı açıklayıp esas konumuza ge- leceğiz. Esas konumuz, relatif dosya kullanımı... İlk hata 23. sayının düzeltmelerle ilgili paragraflarında. Şimdi o sayı- nın 54. sayfasının ilk kolonunun son 6 satırına bakın. Bahsedilen karakte- rin doğrusunun O olmadığını herhal- de anlamışsınızdır. Doğrusunu klav- yedeki P ve * tuşları arasındaki tu- şun üzerine bakarak görebilirsiniz. Hemen bundan sonra gelen 3-5 sa- tırda (yani ikinci sütunun başları) gördüğünüz PRINT, INPUT ve GET komutlarının arkasında boşluk değil, diyez işareti olacaktı. Şimdi, 55. sayfanın orta sütunun- daki dört satırlık programa bakalım. İlk satırı hatalı görünüyor, değil mi? Tabii ki, 70 sayısı yerine TO kelime- si gelecekti. Eşittir'den sonra da, | ra- kamı olmalıydı. Yani doğrusu: 40 FOR I-i TO 256 Aynı sayfanın en sonunda başlayıp diğer sayfada devam eden program da hatalardan payını almış. 20 numa- ralı satırında tırnak işaretleri arasın- da diyez işareti olacaktı. Gelelim 56. sayfaya... Orta sütun- daki programın 170 numaralı satırın- da iki tane 18 var. İkincisi 19 olma- lhıydı. 57. sayfada ise üç değişik hata ya- kaladım. İlk sütundaki uzun progra- mın 140 numaralı satırındaki eşittir işareti yerine artı işareti gelmeli. Or- ta sütundaki son programdan önce gelen cümlede, “Örneğin bunu 8 yapalım'' deniyor. Halbuki, 9 yap- maya çalışıyoruz. 57. sayfadaki son program örneğinin 30 numaralı satı- rında da bir gariplik var. Tabii ki, I harfi ile 1 sayısı arasında eşittir ka- rakteri olmalı... Sıra geldi 24. sayıdaki hatalara. Bu sayı 23. sayı kadar zengin değil, ama hatalar genellikle program örnekleri- nin içine sızmış. Kötü sonuçları ola- bilir... İlk hata 35. sayfanın orta sütunun- daki dört örnek programdan üçüncü- sünde. 70 numaralı satırında yeralan I harfi yerine 1 rakamı gelmeli. Sağ- daki kolonun ilk programında da, 20 numaralı satırdaki N$ yerine X$ yaz- mazsanız, program bir işe yaramaz. Şimdi 36. sayfaya geçelim. 5-110 Sıra!ı dosyaların en büyük sorunu, ortalardaki bir ka- yıt için dosyanın en baştan okunması ve ortadaki bir kayıtta doğrudan değişik- lik yapılamamasıydı. Rela- tif dosya kullanımı ile bu sorunlar ortadan kalkıyor. arası satır numaralarına sahip uzun programın içinde muhtelif hatalar var. İlk hata 30 numaralı satırda. Bu satırdaki ikinci eşittir karakteri yeri- ne dolar sembolü gelecekti. 42 ve 45 numaralı satırlarda ise PRINT ko- mutlarının ardından önce diyez ka- rakteri, sonra 2 rakamı gelmeliydi. 56 numaralı satırdaki büyüktür işareti- nin solunda bir de küçüktür işareti yeralmalıydı. 24. sayıdaki son hata 36, sayfanın sağ kolonunun alttan 24. satırında (boş satırları saymıyoruz) O satırda yeralan 8 rakamı yerine A harfi gel- meli... Gelelim DISKMON üzerine söyle- yeceklerimize... İnşallah görmüşsü- nüzdür, 25. sayının Program Döküm Eki'nin son sayfasında DISEMON'a dair bir düzeltme yeralıyor. O olma- dan DISKMON'u çalıştıramazsınız. Eğer bir okuyucumuz bizi uyarma- saydı, imkanı yok bu hataların far- kına varamazdık. Teşekkür ederiz. Eğer hâlâ başka hatalar varsa, çekin- meden mektup yazabilirsiniz. DISKMON ile açıklamaları yaptı- ğımız sayımızda, birkaç noktayı an- latmayı unutmuşuz. DISKMON'dan X vererek çıktığınızda, ekranın sol üst köşesinde bazı komutlar yazar. Bunlar, BASIC'inize DISKMON ta- rafından kazandırılmış yeni birkaç komuttur. Şimdi bu komutları birer birer görelim. Disketten bir program yüklemek için kullanılır. DLOAD*isim” şek- linde kullanılır ve LOAD*isim”, 8 ile aynı işi yapar. Eğer ekranda disketin directory listing'i varsa, programın adının olduğu satırın başına DLOAD yazıp RETURN tuşuna basmak ye- terli olacaktır. Eskiden LOAD yaz- mak ve sonra da ismin sonuna ,8: koymak gerekiyordu. Ancak DLO- AD komutu LOAD''isim”',8,1 yeri- - Diskete bir program save etmek için kullanılır. Kullanımı DSA- VE"'isim'” şeklindedir ve SA- VE"'isim'',8 komutunun yaptığını yapar. DVERİFY: Disketteki bir dosya ile hafızada- ki programı karşılaştırarak aynı olup olmadıklarını kontrol eder. DVE- RIFY"'isim” olarak kullanılır ve VE- RIFY''isim'”',8 ile aynı işe yarar. DIR: : Disketin directory'sini ekrana lis- telemekte kullanılır. Sadece DIR ola- rak yazılır, parametresi yoktur. DISKMON'un içinden çağrılan $ ko- mutu ile aynı şekilde davranır. Dos- ya isimleri yirmişer yirmişer yazılır. Bu bekleme sırasında RUN/STOP ile listeleme durdurulabilir veya başka bir tuş ile sonra gelen dosya isimleri görülebilir. DISK: 1541'e bir komut göndermeye ya- rar. Kullanımı DISK“komut”' şeklin- dedir. Normal BASIC'de kullanılan OPEN, 1,8,15,“komut”:CLOSE | komut dizisine karşılık gelir. RROR: 1541'in hata kanalını okur ve ge- len mesajı ekrana yazar. DMON: X ile DISKMON'dan çıktıktan sonra DMON ile tekrar DISKMON'a dönebilirsiniz. Aynı işi SYS 49152 ile de yapabilirsiniz. Artık gelelim bu ayın asıl konusu- na: Relatif dosyalama... Geçen sayıda derinlemesine incele- diğimiz sıralı dosyaların en büyük so- runu, ortalardaki kayıtları okumak için dosyanın en baştan okunmaya başlanması (yani, inanılmaz zaman kaybı) ve orta yerdeki bir kaydın üze- rinde doğrudan değişiklik yapılama- ması idi. Relatif dosya kullanımı ile evvelallah bu sorunların üstesinden geleceğiz. Relatif dosyalamada her kaydın bir numarası vardır. Önemli olan, her bir kaydın aynı uzunlukta olması gerek- liliği. Her bir kaydın uzunluğu aynı olduğu ve önceden bilindiği için ve aynı zamanda dosyanın disket üzerin- de nerede başladığı da bilindiği için, DOS'un herhangi bir kaydın yerini çabucak bulması mümkün olmakta. 63