Random ( Rastgele Erişimli ) Dosya
(General)(Declarations)
Option Explicit
TYPE Uye_Kayıt ‘ Kayıt.Dat dosyasının veri yapısı
Ad As String * 15
Soyad As String * 25
Tel As String * 9
Email As String * 40
END TYPE
Dim Kişi As Uye_Kayıt
Dim Dosya_No As Integer
Dim Kayıt_Uzunluk As Long
Dim Aktif_Kayıt As Long
Dim Kayıt_Sayısı As Long
Dim Temp_Dosya_No As Long
Dim_Temp_Kayıt_No as Long
Kayıt_Uzunluk = Len(Kişi)
Dosya_No = FreeFile
Dosyayı Açmak ‘ Dosya mevcut değilse oluşturulur
Open “Kayıt.Dat” For Random As Dosya_No Len = Kayıt_Uzunluk
Kayıt_Sayısı = FileLen(“Kayıt.Dat”)/Kayıt_Uzunluk
Kayıt_Sayısı = LOF(Dosya_No)/Kayıt_Uzunluk
Kayıt Okumak
Get #Dosya_No, Aktif_Kayıt, Kişi
Text1.Text =Trim(Kişi.Ad)
Text2.Text =Trim(Kişi.Soyad)
Text3.Text =Trim(Kişi.Tel)
Text4.Text =Trim(Kişi.Email)
Yeni bir kayıt eklemek
With Kişi
.Ad = Text1.Text
.Soyad = Text2.Text
.Tel = Text3.Text
.Email = Text4.Text
End With
Kayıt_Sayısı = Kayıt_Sayısı + 1
PUT #Dosya_No , Kayıt_Sayısı , Kişi
Bir kaydı düzeltmek
With Kişi
.Ad = Text1.Text
.Soyad = Text2.Text
.Tel = Text3.Text
.Email = Text4.Text
End With
Düzeltilecek_Kayıt_No = Aktif_Kayıt
PUT #Dosya_No , Düzeltilecek_Kayıt_No , Kişi
Kayıt Silmek
Temp_Dosya_No = FreeFile
Open "TEMP.TMP" For Random As Temp_Dosya_No Len = Kayıt_Uzunluk
Aktif_Kayıt = 1
Temp_Kayıt_No = 1
Do While Aktif_Kayıt < Kayıt_Sayısı + 1
If Aktif_Kayıt<> Silinecek_Kayıt then
Get #Dosya_No, Aktif_Kayıt, Kişi
Put #Temp_Dosya_No, Temp_Kayıt_Sayısı, Kişi
Temp_Kayıt_Sayısı = Temp_Kayıt_Sayısı + 1
End If
Aktif_Kayıt = Aktif_Kayıt + 1
Loop
Close # Temp_Dosya_No
Close # Dosya_No
Kill Kayıt.Dat ‘ Orjinali sil
Name "TEMP.TMP" As Kayıt.Dat ‘ Tamponu orjinal dosya
‘ olarak isimlendir
Kayıt Aramak:
Dim Ara_Ad As String olsun.
For Aktif_Kayıt= 1 To Kayıt_Sayısı
Get #Dosya_No, Aktif_Kayıt, Kişi
If Ara_Ad = Kişi.Ad Then
MsgBox “Buldum Buldum”
Exit For
End If
Next
Dosyayı Kapatmak
Close #Dosya_No
Sequential ( Sırasal Erişimli ) Dosya
Dosya_No = FreeFile
Open “Rehber.Dat” For Output As Dosya_No ‘ Kayıt için dosya açmak.
‘ Dosya mevcutsa silip yenisi oluşturur
Print #Dosya_No, Text1.Text ‘ Kayıt girişi
Print #Dosya_No, Text2.Text
Print #Dosya_No, Text3.Text
Print #Dosya_No, Text4.Text
Close #Dosya_No ‘ Dosya kapat
Open “Rehber.Dat” For Input As Dosya_No ‘ Kayıtları okumak için dosya açmak
Text1.Text = Input$(LOF(Dosya_No), Dosya_No)
Close #Dosya_No
Open #Rehber.Dat” For Append As Dosya_No ‘ Var olan dosyayı kayıt eklemek
‘ için açmak
Print #Dosya_No, Text1.Text
Print #Dosya_No, Text2.Text
Close #Dosya_No ‘ Dosyayı kapatmak
Binary ( Byte Erişimli ) Dosya
Dosya_No = FreeFile
Ekle_Bilgi = “23. Byte tan sonra eklenecek.”
Open “OkuBeni.Txt” For Binary As Dosya_No ‘ Binary erişim.
Put #Dosya_No, 23, Ekle_Bilgi ‘ 23. bytedan itibaren eklenir
Put #Dosya_No, , Ekle_Bilgi ‘ Dosya sonuna eklenir.
Close #Dosya_No
Bilgi_Al = String$(23, ““) ‘ 23 Bytelık alan ayır
Get #Dosya_No, 54, Bilgi ‘ 54. Bytedan itibaren
‘ 23 bytelik bilgi Okur
Close #Dosya_No ‘ Dosya kapatma
BOF : Dosya başı
EOF : Dosya sonu
FileAttr : 1 – input, 2 – Output, 4 – Random,
8 – Append, 32 – Binary
LOC : Açık dosyanı okuma – yazma durumu.
LOF : Açık dosyanın uzunluğu
Text Dosyaya Formatlı Aktarma
Adı :
Soyadı :
Tel No:
E-mail :
Bilgi = Bilgi & "Adı: "& dbKayit.Ad & VbCrLf
Bilgi = Bilgi & "Soyadı: "& dbKayit.Adres & VbCrLf
Bilgi = Bilgi & "Tel No: "& dbKayit.Tel & VbCrLf
Bilgi = Bilgi & "E-Mail: "& dbKayit.Email & VbCrLf & VbCrLf
Open "Bilgi.Txt” For Output As #1
Print #1, Bilgi
Close #1
Çift Tırnak Kullanmak
Print # yerine Write # kullanılır.
Print # stringlerde çift tırnak kullanmaz.
(General)(Declarations)
Option Explicit
TYPE Uye_Kayıt ‘ Kayıt.Dat dosyasının veri yapısı
Ad As String * 15
Soyad As String * 25
Tel As String * 9
Email As String * 40
END TYPE
Dim Kişi As Uye_Kayıt
Dim Dosya_No As Integer
Dim Kayıt_Uzunluk As Long
Dim Aktif_Kayıt As Long
Dim Kayıt_Sayısı As Long
Dim Temp_Dosya_No As Long
Dim_Temp_Kayıt_No as Long
Kayıt_Uzunluk = Len(Kişi)
Dosya_No = FreeFile
Dosyayı Açmak ‘ Dosya mevcut değilse oluşturulur
Open “Kayıt.Dat” For Random As Dosya_No Len = Kayıt_Uzunluk
Kayıt_Sayısı = FileLen(“Kayıt.Dat”)/Kayıt_Uzunluk
Kayıt_Sayısı = LOF(Dosya_No)/Kayıt_Uzunluk
Kayıt Okumak
Get #Dosya_No, Aktif_Kayıt, Kişi
Text1.Text =Trim(Kişi.Ad)
Text2.Text =Trim(Kişi.Soyad)
Text3.Text =Trim(Kişi.Tel)
Text4.Text =Trim(Kişi.Email)
Yeni bir kayıt eklemek
With Kişi
.Ad = Text1.Text
.Soyad = Text2.Text
.Tel = Text3.Text
.Email = Text4.Text
End With
Kayıt_Sayısı = Kayıt_Sayısı + 1
PUT #Dosya_No , Kayıt_Sayısı , Kişi
Bir kaydı düzeltmek
With Kişi
.Ad = Text1.Text
.Soyad = Text2.Text
.Tel = Text3.Text
.Email = Text4.Text
End With
Düzeltilecek_Kayıt_No = Aktif_Kayıt
PUT #Dosya_No , Düzeltilecek_Kayıt_No , Kişi
Kayıt Silmek
Temp_Dosya_No = FreeFile
Open "TEMP.TMP" For Random As Temp_Dosya_No Len = Kayıt_Uzunluk
Aktif_Kayıt = 1
Temp_Kayıt_No = 1
Do While Aktif_Kayıt < Kayıt_Sayısı + 1
If Aktif_Kayıt<> Silinecek_Kayıt then
Get #Dosya_No, Aktif_Kayıt, Kişi
Put #Temp_Dosya_No, Temp_Kayıt_Sayısı, Kişi
Temp_Kayıt_Sayısı = Temp_Kayıt_Sayısı + 1
End If
Aktif_Kayıt = Aktif_Kayıt + 1
Loop
Close # Temp_Dosya_No
Close # Dosya_No
Kill Kayıt.Dat ‘ Orjinali sil
Name "TEMP.TMP" As Kayıt.Dat ‘ Tamponu orjinal dosya
‘ olarak isimlendir
Kayıt Aramak:
Dim Ara_Ad As String olsun.
For Aktif_Kayıt= 1 To Kayıt_Sayısı
Get #Dosya_No, Aktif_Kayıt, Kişi
If Ara_Ad = Kişi.Ad Then
MsgBox “Buldum Buldum”
Exit For
End If
Next
Dosyayı Kapatmak
Close #Dosya_No
Sequential ( Sırasal Erişimli ) Dosya
Dosya_No = FreeFile
Open “Rehber.Dat” For Output As Dosya_No ‘ Kayıt için dosya açmak.
‘ Dosya mevcutsa silip yenisi oluşturur
Print #Dosya_No, Text1.Text ‘ Kayıt girişi
Print #Dosya_No, Text2.Text
Print #Dosya_No, Text3.Text
Print #Dosya_No, Text4.Text
Close #Dosya_No ‘ Dosya kapat
Open “Rehber.Dat” For Input As Dosya_No ‘ Kayıtları okumak için dosya açmak
Text1.Text = Input$(LOF(Dosya_No), Dosya_No)
Close #Dosya_No
Open #Rehber.Dat” For Append As Dosya_No ‘ Var olan dosyayı kayıt eklemek
‘ için açmak
Print #Dosya_No, Text1.Text
Print #Dosya_No, Text2.Text
Close #Dosya_No ‘ Dosyayı kapatmak
Binary ( Byte Erişimli ) Dosya
Dosya_No = FreeFile
Ekle_Bilgi = “23. Byte tan sonra eklenecek.”
Open “OkuBeni.Txt” For Binary As Dosya_No ‘ Binary erişim.
Put #Dosya_No, 23, Ekle_Bilgi ‘ 23. bytedan itibaren eklenir
Put #Dosya_No, , Ekle_Bilgi ‘ Dosya sonuna eklenir.
Close #Dosya_No
Bilgi_Al = String$(23, ““) ‘ 23 Bytelık alan ayır
Get #Dosya_No, 54, Bilgi ‘ 54. Bytedan itibaren
‘ 23 bytelik bilgi Okur
Close #Dosya_No ‘ Dosya kapatma
BOF : Dosya başı
EOF : Dosya sonu
FileAttr : 1 – input, 2 – Output, 4 – Random,
8 – Append, 32 – Binary
LOC : Açık dosyanı okuma – yazma durumu.
LOF : Açık dosyanın uzunluğu
Text Dosyaya Formatlı Aktarma
Adı :
Soyadı :
Tel No:
E-mail :
Bilgi = Bilgi & "Adı: "& dbKayit.Ad & VbCrLf
Bilgi = Bilgi & "Soyadı: "& dbKayit.Adres & VbCrLf
Bilgi = Bilgi & "Tel No: "& dbKayit.Tel & VbCrLf
Bilgi = Bilgi & "E-Mail: "& dbKayit.Email & VbCrLf & VbCrLf
Open "Bilgi.Txt” For Output As #1
Print #1, Bilgi
Close #1
Çift Tırnak Kullanmak
Print # yerine Write # kullanılır.
Print # stringlerde çift tırnak kullanmaz.
