Commodore sayı 25, sayfa 63

Bu sayfadaki yazılar

Sayfanın metni

Sayfa 63

Eveeet, sevgili arkadaşlar... Uzun süren 1541 muhabbetinin de sonuna geldik. Bugün, önce eski bölümlerdeki bazı baskı hatalarını düzelteceğiz. Sonra DISKMON ile ilgili bir iki ufak ayrıntıyı açıklayıp esas konumuza geleceğ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 karakterin doğrusunun O olmadığını herhalde anlamışsınızdır. Doğrusunu klavyedeki P ve * tuşları arasındaki tuşun üzerine bakarak görebilirsiniz. Hemen bundan sonra gelen 3-5 satı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ütunundaki 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 kelimesi gelecekti. Eşittir'den sonra da, | rakamı olmalıydı. Yani doğrusu:

40 FOR I-1 TO 256

Aynı sayfanın en sonunda başlayıp diğer sayfada devam eden program da hatalardan payını almış. 20 numaralı satırında tırnak işaretleri arasında diyez işareti olacaktı. Gelelim 56. sayfaya... Orta sütundaki programın 170 numaralı satırında iki tane 18 var. İkincisi 19 olmalıydı. 57. sayfada ise üç değişik hata yakaladım. İlk sütundaki uzun programın 140 numaralı satırındaki eşittir işareti yerine artı işareti gelmeli. Orta sütundaki son programdan önce gelen cümlede, “Örneğin bunu 8 yapalım” deniyor. Halbuki, 9 yapmaya ç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 karakteri olmalı... Sıra geldi 24. sayıdaki hatalara. Bu sayı 23. sayı kadar zengin değil, ama hatalar genellikle program örneklerinin içine sızmış. Kötü sonuçları olabilir... İlk hata 35. sayfanın orta sütunundaki 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$ yazmazsanız, program bir işe yaramaz. Şimdi 36. sayfaya geçelim. 5-110

Sıralı dosyaların en büyük sorunu, ortalardaki bir kayıt için dosyanın en baştan okunması ve ortadaki bir kayıtta doğrudan değişiklik yapılamamasıydı. Relatif 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 yerine dolar sembolü gelecekti. 42 ve 45 numaralı satırlarda ise PRINT komutlarının ardından önce diyez karakteri, sonra 2 rakamı gelmeliydi. 56 numaralı satırdaki büyüktür işaretinin 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 gelmeli. Gelelim DISKMON üzerine söyleyeceklerimize... İnşallah görmüşsünüzdür, 25. sayının Program Döküm Eki'nin son sayfasında DISKMON'a dair bir düzeltme yeralıyor. O olmadan DISKMON'u çalıştıramazsınız. Eğer bir okuyucumuz bizi uyarmasaydı, imkanı yok bu hataların farkına varamazdık. Teşekkür ederiz. Eğer hâlâ başka hatalar varsa, çekinmeden mektup yazabilirsiniz. DISKMON ile açıklamaları yaptığımız sayımızda, birkaç noktayı anlatmayı unutmuşuz. DISKMON'dan X vererek çıktığınızda, ekranın sol üst köşesinde bazı komutlar yazar. Bunlar, BASIC'inize DISKMON tarafından kazandırılmış yeni birkaç komuttur. Şimdi bu komutları birer birer görelim. DLOAD: Disketten bir program yüklemek için kullanılır. DLOAD"isim" şeklinde kullanılır ve 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 yeterli olacaktır. Eskiden LOAD yazmak ve sonra da ismin sonuna ,8: koymak gerekiyordu. Ancak DLOAD komutu LOAD"isim",8,1 yerine geçmez. DSAVE: Diskete bir program save etmek için kullanılır. Kullanımı DSAVE"isim" şeklindedir ve SAVE"isim",8 komutunun yaptığını yapar. DVERIFY: Disketteki bir dosya ile hafızadaki programı karşılaştırarak aynı olup olmadıklarını kontrol eder. DVERIFY olarak kullanılır ve VERIFY ile aynı işe yarar. DIR: Disketin directory'sini ekrana listelemekte kullanılır. Sadece DIR olarak yazılır, parametresi yoktur. DISKMON'un içinden çağrılan $ komutu ile aynı şekilde davranır. Dosya 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 yarar. Kullanımı DISK"komut" şeklindedir. Normal BASIC'de kullanılan OPEN 1,8,15,"komut":CLOSE 1 komut dizisine karşılık gelir. DERROR: 1541'in hata kanalını okur ve gelen 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 konusuna: Relatif dosyalama... Geçen sayıda derinlemesine incelediğimiz sıralı dosyaların en büyük sorunu, 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 üzerinde doğrudan değişiklik yapılamaması 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ı gerekliliği. Her bir kaydın uzunluğu aynı olduğu ve önceden bilindiği için ve aynı zamanda dosyanın disket üzerinde nerede başladığı da bilindiği için, DOS'un herhangi bir kaydın yerini çabucak bulması mümkün olmakta.

Klavyeyle gezinmek için ← ve → tuşları.