1 Şubat 1988 Tarihli Commodore Gazetesi Sayfa 36

1 Şubat 1988 tarihli Commodore Gazetesi Sayfa 36
Metin içeriği (otomatik olarak oluşturulmuştur)

HOASA Bne5 diskete yazarak (tabii ki, eski dosya- yı sildikten sonra!) ya da şimdi vere- ceğiniz yöntem ile direkt disketin üze- rinde halledebilirsiniz. Yöntem, dosyanın kayıt kayıt bir kopyasını çıkarmaya, bu arada da is- tenen yere önceden hazırlanımış yeni kayıdı yerleştirmeye yarıyor. Ancak uzun dosyalarda bu iş de uzun zaman alacaktır. Ayrıça disketin üzerinde, dosyanın eşki uzunluğundan yeni kaydedilecek bilginin uzunluğu kadar fazla boş yer olması gerekiyor. Yani disketin yarısını kaplayan bir dosya- nız varsa bu işlemi uygulayamazsınız. Gelelim programa... 5 KX-I1ü0 6& K$-“YENİ KAYIT” l10 ÖPEN 1,8,2, “DEN,S,R”” 11 ÖPEN 2,8,3, “'DENA4,5,W* THEN 56 20 AŞSA-—AIKI 4ÖTE ST« > 64 THEN 20 411FK < > KXTHEN45 36 Yen 42 PRİNT 2,k5$ 45 PRINT 2,A$ 50 GÖTÜ &ü 56 IF K> KX THEN &ü $7 PRİNT#2,K$ &ü PRİNT*# 2, A$ JÜ 1F ST <> 64 THEN 15 80 CLOSE | 9Ö TF K > K4 THEN 98 95 PRİNT H#2,E$ 98 CLOSE 2 99 ÖPEN 1,5,15,“5:DEN” 100 PRİNT #1,“R:DEN —- DENX” ilü CLÖOSE | Program bir dosyadan diğerine ka- yıt kopyalarken devamlı olarak ka- çıncı kayıdı kopyaladığının çetelesi- ni tutuyor, Eğer o sırada kopyalaya- cağı kayır, ortaya girmesi gereken ka- yıtla aynı numarada ise önce yeni ka- yır yazılıyor, sonra eski kayır kopya- lanıyor. Eğer eski dosyadaki kayıtlar bittiği halde yeni kayıda sıra gelme- mişse (örneğin DEN'den sadece 3 ka- yıt varsa) yeni kayıt dosyanın sonu- na ekleniyor. En sonda da, eski düş- ya silinip yeni dosyanın adı eski düs- yanın adına çeviriliyor. Artık işin sotuna yaklaştık. Bir de M modu olduğunu bahsedip n'aptı- ğindan kısaca söz etmiştk. Şimdi onun da ayrıncsına girelim. Diskete dösyayı yazarken 1541'in içinde buffer kullamnıldığını biliyorsu- nuz. Siz CLÖOSE ile dosyayı kapartı- Binızda bu buffer'daki en söti bilgi kı- rıntıları da dosyaya eklenir ve direc- tory'de dosyanın sağlam kapandığı işaretlenir. Eğer CLOSE yapmadan disketi çıkarırşanız, doşyanın şonu eksik kalacaktır ve direcrory'de de kapanmamış görünecektir. Bunu da, directory dökümünde, program türü- rün yanında çıkacak yıldız karakte- rinden anlayabilirsiniz. Böyle hir dos- yayı okumaya kalkıştığınızda kırmı- zi işığımız acı acı yanıp sönmeye haş- layacak ve WRIİTE FİLE ÖPEN ha- tası gelecektir. Peki bu dosyaları oku- manın hiç mi yolu yok? Bilgiler dis- ketin üzerinde olduğu halde kaybol- muş mu sayacağız? Tahmin ertiğiniz gibi hayır. Bu gi- bi dosyaları M modu ile açıp, kayit- larımı bir başka dasyaya gönderme- miz, bu yeni dosyayı doğru dürüsi kapatmamız ve eski dosyayı da silme- imiz yeterli olacaktır. Tabii, disketi- nizde yeni dosyayı alacak yer varsa. Eğer yoksa, önce kapanmamış dos- yanın ilk birkaç kayıdını hafızaya okuyup sonra başka bir diskette ya- ratacağınız yeni bir dosyaya yazma- nız gerekir. Bu yeni dosyayı güzelçe kapattıktan sonra eski dosyanın kop- yaladığınız ilk kayıtlarını atlayarak, sonra gelen kayıtlarından olduğu ka- darını gene hafızaya okumak (M me- düu ile, tabil ki) ve öbür disketteki düs- yayı bu kez 8$ modunda açıp hafıza- daki kayıtları ona ekleyip yeniden ka- patmak ve bu işlemi iÜk dosya bitin- ceye kadar devam ettirmek gereke- cektir. Zahmetli bir iş, ama hiç yok- tan iyidir. BunaİNPUT — kullanarak küçük bir örnek verelim ve hatalı kapanmış DOSYAL'I DOSYAJZ'ye kopyalaya- lım: JÖ ÖPEN 1,8,2, “DOSYAL,S,M” Z0 ÖPEN 1,8,3,“DOSYAZ,5S, W 30 INPUT#İ,AS 40 PRİNT #2 AŞ SÜTFEST< > G4 THEN 30 60 CLOSE 2 70 CLOSE | SÜ ÖPEN 1,8,15 9ÖPRİNTHİ,'5S:DOSYAL”" 95 CLOSE İ İşte bu kadar... Artık bu bilgilerin ışığı altında kendi sıralı dosyalama sisteminizi peliştirebilmeniz lazım... Relarif dosyalarda buluşmak üzere...

Bu sayıdan diğer sayfalar: