Visual Basic Dosya yazma methotları

BoZaN HaCk

Katılımcı Üye
16 Ara 2012
946
0
KıZıLTepE
VB'de dosya yazma ve okuma methotlarına ilişkin açıklama
YAZMA MODLARI

1 – Output Modu
---------------------------------------------------------------------

Dosya sirali erisim modunda sadece yazma islemi için açilir. Veriler tek yönlü tasinir ve okuma islemine izin verilmez.
Yazma islemi birkaç farkli teknikle yapilabilir.Bunlardan birincisi PRINT metodudur. Print metodunda bilgiler yan yana veya alt alta aralarinda hiçbir ayiraç kullanilmadan yazilir.
Print Veriler yan yana yazilir.#1,bilgi1,bilgi2,bilgi3
Print #1, bilgi1
Print #1, bilgi2
Veriler alt alta yazilir.Print #1, bilgi3
Write metodu ise ikinci bir seçenektir. Bu metot ile yazma islemi yaptigimizda hedef dosyaya gönderdigimiz bütün bilgiler “bilgi” seklinde çift tirnak ile ayrilirlar. Yine print metodunda oldugu gibi tek satirda gönderilen bilgiler hedef dosyaya da tek satirda yazilirlar, alt alta write komutu verilerek yazilan bilgiler ise hedef dosya üzerinde de alt alta bulunurlar.
Fakat print metodundan farkli olarak write ile tek satirda gönderilen bilgiler hem çift tirnakla belirtilir hem de her bilgi arasina virgül isareti yazilarak ayrilirlar.
Output metodu ile yeni bir kayit yaptiginizda, yeni bilgiler eski kayitlarin üzerine yazilacaktir. Bo mod ile islem yaparken eski verilerinizin kaybolacagini veya zarar görecegini bilmeniz gerekir.

2 – Append Modu
---------------------------------------------------------------------
Output modunda bulunan bütün özellikleri kullanabilen bir sirali erisim modudur. Print ve write komutlari output modunda oldugu gibi kullanilirlar.
Output modu ile yaptiginiz tüm islemleri Append modu ile yapabilirsiniz. Aralarinda tek bir fark vardir o da Append modunda yeni kayit yapildiginda kendini dosya sonuna eklemesidir. Yani Append modunda islem yapildiginda eski kayitlariniz silinmez ve yeni kayit dosya sonuna kendini otomatik olarak ekler. Böylece hem Output modunda kayit yapmis hem de verilerinizi kaybetmemis olursunuz.

3 – Random Modu
---------------------------------------------------------------------
Sirali erisim dosyalarindan oldukça farkli bir yapiya sahiptir. Bir veritabani yapisina uygundur ve düsük seviyeli bir veritabani için rahatlikla kullanilabilir.
Bu moda yapilan her kayit bir kayit numarasina sahiptir. Ayrica her kayit belli bir uzunluktadir ve belirtilen uzunlugu asan kayitlarda artik bölüm hedef dosyaya yazilmaz. Dosya açma islemi sirasinda dosya kayit bilgisinden hemen sonra kayitlarin karakter uzunluklari belirtilerek her kaydin bir kayit numarasi almasi saglanir.
Kullanimi : Open App.Path & “/volkan.txt” For Random As #1 Len=15 seklindedir. Satirin sonunda bulunan Len = 15 bilgisi her kaydin ne kadar karaktere sahip oldugunu gösterir. Böylece sistem hedef dosyadaki bütün kayitlari okur ve bunlari 15 karakterlik parçalara bölerek birer sira numarasi verir. Bu sira numarasiyla daha sonra kayitlar okunabilir.
Gönderdigimiz veriler belirtilen kayit uzunlugundan fazla ise degisken tanimlamamiza bagli olarak ya kayitlarin sonundaki fazlalik atilarak kayit yapilir yada kayit tam yapildigi halde bir bölümü daha sonraki kayit içinde yer alir.
Eger gönderdigimiz bilgiler kayit uzunlugundan kisaysa eksik bölge kadar bosluk karakteri kayit sonuna eklenerek kayit uzunlugu olmasi gereken boyuta getirilir. Bu özellik ile kayitlarimiz belli bir düzende siralanir ve veritabani gibi kullanilabilir.
Random modunda PUT metodu kullanilir.

4 – Binary Modu
---------------------------------------------------------------------
Binary dosyalama modu diger modlara göre çok daha gelismis uygulamalar için tasarlanmistir. Bütün özel dosya biçimleri Binary modu ile kayit edilebilir ve içinde metin tabanli dosyalama modlarina göre daha karmasik bilgiler barindirabilir. Her kayit metin degeri olarak 1 karakterlik yer kaplar. Random erisim modunda oldugu gibi her kayit bir kayit numarasina sahiptir fakat sadece 1 karakterlik kayitlar yapabildigimiz için bu kayit numaralari aslinda hedef bilginin dosya içindeki karakter sirasidir.
Binary erisim modu ile her karaktere ayri ayri erisebilir, düzenleyebilr veya silebilirsiniz. Bu özelliginden dolayi metin tabanli dosya biçimleri disindaki bütün özel dosya biçimlerine Binary mod ile erismek zorunda kaliriz. Örnegin bir .EXE veya .BMP dosyasi olusturmak istedigimde kullanacagimiz dosya erisim biçimi kesinlikle Binary mod olmalidir. Aksi taktirde olusturdugumuz dosya islemci veya isleyici program tarafindan dogru olarak okunamaz, islenemez.
Kullanimi :put #1, 1, bilgi1 seklindedir. “, 1 ,” kayit numarasidir. Yani bu bilgi1’in 1. karakter oldugunu belirtir.



OKUMA MODLARI
---------------------------------------------------------------------

1 – Input Modu
---------------------------------------------------------------------
Input modunda dosya okumak için iki teknik kullanabiliriz. Bunlardan birincisi Input okuma modudur.
Bu teknikte dosya açildiktan sonra verilen her input komutu dosyada bir satirin okunmasi anlamina gelir. Satir numarasi verilmedigi halde bir input komutundan sonra gelen diger input komutu siradaki satirin okunmasi anlamina gelir. Dosya kapanmadigi sürece her input komutunda bir sonraki satir okunacaktir. Bu durum dosya açildiktan sonra her satirin sadece bir defa okunabilmesi anlamina gelir. Ayrica hedef satira ulasmak için o satirdan önceki bütün satirlari da okumak zorunda kaliriz. Dosyayi tümüyle okuyacak ve bir degiskene atayacak olursak input teknigi etkili bir çözüm olabilir, fakat dosya üzerinde özel islemler yapmak istiyorsak input teknigi bize çesitli sorunlar çikartacaktir.
Input modunda kullanacagimiz ikinci teknik ise Line Input. Bu teknikte hedef satir numarasi verilebilir ve diger kayitlarla ugrasilmadan direkt olarak hedef satir okunur. Istendiginde daha önce okunmus bir satir tekrar okunabilir, okunmus olan satirdan da daha önceki bir satira ulasilabilir. Metin tabanli kayitlar olusturmussak input modu ve line input teknigi isinize yarayacaktir.

2 – Random Modu
---------------------------------------------------------------------
Random modu yine bu moda kaydedilmis olan verileri okumak için kullanilir. GET teknigi kullanilir.
seklindedir.Kullanimi : Get #1, 1, bilgi1

3 – Binary Modu
---------------------------------------------------------------------
Binary modu yine bu moda kaydedilmis olan verileri okumak için kullanilir. GET teknigi kullanilir.
Kullanimi : Get #1, 1, bilgi1 seklindedir.


KODLARIN KULLANIMINA ÖRNEK
---------------------------------------------------------------------

Private Sub command1_Click()
Dim bilgi As String
Open App.Path & “/volkan.txt” For Input As #1
Do While Not EOF(1)
Bilgi = bilgi & Input(1,#1)
Loop
Close #1
MsgBox (bilgi)
End Sub

Private Sub Command1_Click()
Dim bilgi1 As Byte
Dim bilgi2 As Byte
Dim bilgi3 As Byte
Dim bilgi4 As Byte
Open App.Path & “/volkan.txt” For Binary As #1
Get #1, 1, bilgi1
Get #1, 10, bilgi2
Get #1, 20, bilgi3
Get #1, 30, bilgi4
Close #1
MsgBox (CStr(Chr(bilgi1))&vbCrLf_
&CStr(Chr(bilgi2))&vbCrLf_
&CStr(Chr(bilgi3))&vbCrLf_
&(CStr(Chr(bilgi4)))
End Sub
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.