put etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
put etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

2 Ekim 2020 Cuma

QuickBasic - 12: Dosya işlemleri-3

Yayınlama: 2000
Güncelleme: 2 Ekim 2020

Binary(ikili) Dosya Oluşturma ve Yazma

Yalnız metin içermeyen dosyalar vardır. Örneğin; resim(BMP, JPG, GIF ...) ses(WAV, MP3 ...), video(AVI, MOV, MPG ...) gibi dosyalar.

Bu tür dosyalar içinde metin aranmaz ve metinle ilgili işlemler de yapılmaz.

Ama örneğin bir GIF dosya yapısını öğrendiniz ve dosya içindeki resmi ekrana basmak istiyorsunuz.

Bunun için dosyayı binary olarak açıp içindeki kodları resim kodlarına dönüştürmelisiniz.

Binary dosya çalışma sistemi RANDOM dosya gibidir ancak önceden bir kayıt yapısı belirleme gerekliliği yoktur.

GET# ve PUT# komutları ile dosyanın istenilen kısmını okuyabilir, değişiklik yapabilirsiniz.

Binary Dosya Açma

OPEN "c:\ornek\ikili.bin" FOR BINARY AS #1
Random dosyada olduğu gibi dosya yoksa oluşturulur. Varsa sorun çıkmaz. Var olan dosya kullanılır.

14 Eylül 2020 Pazartesi

QuickBasic - 11: Dosya İşlemleri-2

Yayınlama: 2000
Güncelleme: 14 Eylül 2020

Rastgele Erişimli(RANDOM) Dosya

Belli bir kayıt yapısı olan dosya türleri için uygundur.
Dosyadaki tüm kaydın tamamını okuma yada yazma gibi bir sorunu olmadığından dolayı bellek için de uygundur.
Çok sayıda kayıt işlemi yapılabilir.
Kayıt sınırı, bilgisayarınızın sabit diskte oluşturulabilecek maksimum dosya boyutu kadardır.
İstenilen kayıt numarası verilerek sadece o kayıt okunabilir veya yazılabilir. Rastgele denmesinin sebebi budur. Baştan sona sıralı bir şekilde tüm kayıtları okumasına gerek yoktur.
Böylece hızlı bir şekilde verilere ulaşılabilir.

Random dosyaya kayıt yapmak veya kayıt okumak için bir kayıt yapısı oluşturulmalıdır.

TYPE ... END TYPE
ile kayıt yapısı belirlenir.
TYPE kayit
	no AS INTEGER
	adi AS STRING * 10
	soyadi AS STRING * 10
END TYPE
Her bir kayıtta kullanılacak değişkenler belirtildi.
Gördüğünüz gibi STRING * 10 diye yazarak string değişkenin bellekte kaç karakter kaplayacağını da belirtiyoruz.
String harici değişken türlerinin standart genişlikleri(bellekte kapladığı bayt) olduğu için genişliğine gerek yoktur.
Byte cinsinden genişlikler
STRING * n n
INTEGER 2
LONG 4
SINGLE 4
DOUBLE 8
Tanımladığımız kayıt tipini örnek alan bir değişken tanımlayalım.
DIM ogr AS kayit
Sonraki satır random dosya açmak için
OPEN "c:\ornek\ogrenci.txt" FOR RANDOM AS #1 LEN = LEN(ogr)
Rastgele erişimli dosya oluşturmak için RANDOM eki kullanılır.
Dosya yoksa yeniden oluşturulur.

13 Ağustos 2020 Perşembe

QuickBasic - 19: Grafik işlemleri-7

Yayınlama: 25 Temmuz 2020
Güncelleme: 13 Ağustos 2020

GET

Dosya işlemlerinde kullanılan GET komutundan farklı olarak grafik işlemlerinde kullanılan farklı bir GET komutu vardır. Kullanımları farklıdır.
Kullanımı:
GET [STEP] (x1-y1)-[STEP](x2,y2),değişkenadı[(indeks)]
Ekran üzerinde x1,y1 ile x2,y2 dikdörtgeni içinde kalan görüntü bilgisi belirtilen boyutlu değişkenadı'na aktarılır. Değişkene aktarılan görüntü PUT komutu ile ekranın istenilen konumuna basılır(aktarılır).

STEP : Göreceli koordinat kullanmak içindir. Bir önceki komutun aktif noktası 0,0 kabul edilir.
(x1,y1) : seçim alanı başlangıç köşe noktası
(x2,y2) : seçim alanı bitiş karşı köşe noktası
değişkenadı : Görüntü bilgilerinin aktarılacağı çok boyutlu değişken. Değişken boyutu görüntü bilgilerini aktaracak büyüklükte olmalıdır aksi halde GET komutu çalıştırılmaz. Illegal function call hatası verir.

Boyutun ne kadar olacağını hesaplamak için kullanılan formül QuickBasic yardım'da verilmiştir.
4+INT(((x2-x1+1)*(düzlemdeki pikselin bit sayısı)+7)/8)*düzlem*((y2-y1)+1)
Ekran

Modu
Bir düzlemdeki bir

pikselin bit sayısı
Düzlem

(Ekran sayfası)
1 2 1
2 1 1
7 1 4
8 1 4
9 1 2
10 1 2
11 1 1
12 1 4
13 8 1
Örneğin, SCREEN 2, sol üst köşe (0,0) sağ alt köşe (32,32) için değişkenin bayt cinsinden gerekli boyutu:
= 4 + INT ((33 * 1 + 7) / 8) * 1 * (33)
Sonuç = 169 bayt.