11.07.2015 Views

Amiga Dunyasi - Sayi 23 (Nisan 1992).pdf - Retro Dergi

Amiga Dunyasi - Sayi 23 (Nisan 1992).pdf - Retro Dergi

Amiga Dunyasi - Sayi 23 (Nisan 1992).pdf - Retro Dergi

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Birden fazla kaydı silmek için ise, bu işlemi tekerteker uygularız. Bu yöntemin sakıncası, birdosyayı silmek için üzerine kayıt yapmak zorundaoluşumuz, zaman kaybedişimizdir. Yine de, benceen mantıklısı bu yolu kullanmaktır. Bir ikinci yolise tüm kayıtlar için paralel bir kayıt tutmaktır.Herhangi bir dosyanın geçerli olup olmadığını bukayıt üzerinde bulabiliriz. Mesela silinmesi gerekenkayıtlara Q, geçerli kayıtlara 0 harici bir sayıveririz. Yeni bir kayıt girerken ilk olarak bu diziyiinceler ve geçersiz kılınan dosyaların üzerine kayıtyaparız. Yok eğer geçersiz kayıt yok ise o zamanklasik sona ekleme yöntemine devam ederiz.A-B-C-D-E-F-G-H-l-J-K-L1-1-1-1-0-1-0-1-0-1-1-1Örnekte E, G, I kayıt dosyaları geçersiz olarakişaretlenmiştir. Yeni bir kayıt yapılınca sıra ile buboşluklar doldurulacaktır. Sözgelimi M, N, O ve Pkayıtlan eklenince:A-B-C-D-M-F-N-H-O-J-K-L-P1-1-1-1-1-1-1-1-1-1-1-1-1halini alacaktır. Bu yol diskette bir başka dosyaoluşturur. Hafızada fazladan yer işgal eder, üstüneüstlük basitçe hallettiğimiz kayıt durumunu inceleyenprogram kısmına ek karışıklıklar getirir. Sözüuzatmaya gerek yok. Meraklı olanlar biraz başağrısıile programlarına bu yolu ekleyebilirler. Önce ilksilme işlemine ilişkin program kısmını yazalım (bukısmı arama kısmına ilave edebilirsiniz. Bir isimaradığınızda, bulunan isim İf ile sorulmuş ve gosubisim_yaz denmişti. Bu bloğa devam ederek ve endifile bitirmek suretiyle):isim_sil:REM silinmesi istenen numara = sil isimREM Son numara = numaraif sil isim = numara then goto sondaget #1,numaraput #1,sil_isimsonda:numara = numara -1OPEN Son_isim FOR INPUT AS 2PRINT #2,numaraCLOSE #2returnBelirttiğim gibi, silinmesi istenen numarayı bulabilmekiçin arama kısmından yararlanabilir, yaniarama kısmına seçenek olarak ekleyebilir veya ayrıbir arama kısmı yazabilirsiniz. Artık programımıztamam. Yani her işi yapan bir programımız var. Sırabunu bir düzene koymakta. İlk olarak sabitlerimiziyerleştirmeliyiz. Şu Son_isim ve D_isim adıverilen değişkenleri tanımlamalıyız. Bu isimlerinmantıklı bir dos adresi olması gerekiyor. Yoksa Filenot Found şeklinde hatalar alırsınız. Tanımlamalardansonra ise sıra bir menüye geliyor. Bununiçin ekran temizlenir, Programın ismi ve seçenekleriyazılır. Daha sonra ise seçeneklerden birininseçilmesi bekleriz. Bunun ardından gerekli bölümleredallanılır ve geri gelinir. En son olarak birprogramı bitirme seçeneği bırakılır, burada ise devamlı"açıktuttuğumuz l numaralı dosya CLOSE#l ile kapatılır.Tanımlar:Son isim="Df1:<strong>Amiga</strong>/dosya.son"menu:CLSPrint "Seçenekler"Print" 1. Yeni_kayıt...."print" 6. Son"INPUT, INKEY$, ON MENU v.s.GOSUB larGoto menuSon:Close #1EndAltprogramlarisim_yaz:yeni_isim:Programımız hazır. Şimdi hataları bulmaya başlayalım.Noktalama hataları, estetik hataları, mantıkhataları (olur, olur). Böylece beraber bir programyazmış olduk. Anlatmak istediğim, bir yerdeyazılı bir programı çalıştırmakla kalmadık, programparçalarını alıp birleştirdik ve harbiden programyazdık. Sizi tebrik ederim (umarım çalışıyordur).Hala bir kaydı silmek için tüm dosyayı taramakzorunda kalıyoruz. Ufak uygulamalarımız olduğudüşünülürse, bu bizi o kadar rahatsız etmemeli.Bu sorunların önüne geçebilmek için, gerekliyöntemler köşemizin amacı dışında kalıyor. Elimizdekiprogramın verimini arttırmak için, bir ikiöneride bulunmak istiyorum: Çalışmadan önce ilgiliiki dosyayı RAM:'a veya varsa RAD:'a kopyalayın.Dosyaların erişim zamanı aşırı artacaktır. Nevar ki, çakılmalara ve elektrik kesilmelerine karşısavunmanız düşecektir. Sorunu dosyayı sık sık.(yeniden yazmak istemediğiniz kadar yazdıkça)diskete kaydederek çözebilirsiniz. Bu iş için programiçinde ek bir dosya açarak veya CLI'nın Copyemirlerini kullanarak yapabilirsiniz. İşiniz bitincedosyanın kapandığından emin olun. Aksi takdirde0 boyutlu cici bici bir dosyanız olacaktır. Ne yazıkki, elektrik kesilmeden önce size haber vermeyecekve dosyanız açık kalacaktır. Bunun önüne geçebilmekiçin, dosyayı tüm program süresince değilde, sadece ihtiyacınız oldukça OPEN ile açın.Ardından hemen CLOSE ile kapatın. En tehlikelisiise diskete yazı yazılırken elektrik kesilmesidir (elektrikkesilmesine Resetler ve sistemin kötü şakalanda dahil). Bu durumda diskete zarar gelme olasılığıyüksektir ve Disk Structure Corrupt mesajlarıbile alabiliriz. Tüm bu tehlikelere rağmen yılmayındevam edin (sözü geçen sorunlar 40 yılda bir oluyor).Programınızın hızı az mı geliyor, daha hızlı birBasic ile mesela Hisoft ile çalışın, başka dil kullanın(pascal, C) veya gidin Superbase veya MiamigaFile ile oynayın.Basic ile ilgili sorunlarınıza eğilmeye devamedeceğiz. Sorularınız varsa mektup yazın. Eğer benimyazılarımla ilgili sorunlar veya programlardahatalar varsa, lütfen adımı kullanın (bulmak dahakolay oluyor!) Gelecek sayıda bazı süsleme tekniklerinedeğinmek istiyorum (araya başka birşey girmezse),hepinize sevgiler, başarılar.AMIGA DÜNYASI 98

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!