VB6 ile Dosya Okumak Yazmak Parcalamak File ReadWrite Split
Biraz dikkat ettim de bir süredir sadece crypter paylaşmışım. :)
Bu yazımda sizlere vb6 ile dosya okuma yazma parçalama(ayırma) işlemlerini anlatacağım.
Dosya Nasıl Okunur?
Dosya okumak için birçok yol mevcut aslında ama en bilindik yöntem vb nin open get close komutudur.
şöyle açıklayabilirim open get ve close işlemlerini
Open ile dosyayı açarsınız.
Get ile belirtilen uzunlukta veriyi belirtilen başlangıçtan başlayıp degişkene atarsınız.
Close ile dosyayı kapatırsınız.
Bir örnekle şöyle açıklayabilirim.
Açıklamada bulunan ' işareti ve sonrasında yazanlar vb de açıklama olarak geçen etkisiz yazılardır.
Örnegin bir form olusturdunuz ve bir text eklediniz.
Texte yazdıgınız yolu butona tıklayarak okutmak istiyorsunuz.
Yeni bir proje oluşturup forma bir text bir command buton ekliyoruz.
Command Buton a çift tıklayarak Click eventine gidiyoruz.
ilk buton ismi Command1 olur.
Click eventi de şu şekilde olacaktır.
Private Sub Command1_Click()
Dim iNumara As Integer
Dim sOkunanVeri As String
iNumara = FreeFile 'Dosya Açma numarasını atıyoruz.
Open (Text1.Text) For Binary Access Read As #iNumara 'Dosyayı Okuma Modunda Açıyoruz.
sOkunanVeri = Space(Lof(iNumara)) 'sOkunanVeri ye Dosya uzunlugu kadar boşluk atıyoruz.
Get #iNumara, , sOkunanVeri 'Get ile dosya verisini sOkunanVeri degişkenimize atıyoruz.
Close #iNumara 'Açtığımız dosyayı işimiz bittiği için kapatıyoruz.
MsgBox "Dosya Okundu" & vbCrLf & "Boyutu: " & Len(sOkunanVeri)
End Sub
Dosya Nasıl Yazılır?
Dosya yazmak içinde yine birçok yol mevcut aslında ama en bilindik yöntem vb nin open put close komutudur.
şöyle açıklayabilirim open get ve close işlemlerini
Open ile dosyayı açarsınız.
Put ile veriyi yazarsınız.
Close ile dosyayı kapatırsınız.
Bir örnekle şöyle açıklayabilirim.
Açıklamada bulunan ' işareti ve sonrasında yazanlar vb de açıklama olarak geçen etkisiz yazılardır.
Örnegin bir form olusturdunuz ve bir text eklediniz.
Texte yazdıgınız yazıyı butona tıklayarak yazdırmak istiyorsunuz.
Yeni bir proje oluşturup forma bir text bir command buton ekliyoruz.
Command Buton a çift tıklayarak Click eventine gidiyoruz.
ilk buton ismi Command1 olur.
Click eventi de şu şekilde olacaktır.
Private Sub Command1_Click()
Dim iNumara As Integer
iNumara = FreeFile 'Dosya Açma numarasını atıyoruz.
Open (App.Path & "\Yazi.dat") For Binary Access Write As #iNumara 'Dosyayı Yazma Modunda Açıyoruz.
Put #iNumara, , Text1.Text 'Put ile text1 e yazdıgımız yazıyı yazıyoruz.
Close #iNumara 'Açtığımız dosyayı işimiz bittiği için kapatıyoruz.
MsgBox "Dosya Yazıldı" & vbCrLf & "Yazma Yol ve Adı: " & App.Path & "\Yazi.dat"
End Sub
Ek olarak dosya okumak için api de kullanabiliriz.
Onları da bir sonraki ders yazımda anlatabilirim.
Kullanacağımız apiler:
Dosya okuma api metot yöntem 1
OpenFile
ReadFile
CloseHandle
Dosya okuma api metot yöntem 2
lOpen
lRead
lClose
Dosya yazma api metot yöntem 1
OpenFile
WriteFile
CloseHandle
Dosya yazma api metot yöntem 2
lOpen
lWrite
lClose
Yazımı alıntı yapanlar lütfen alıntı olduğunu belirtsinler.
Mrb birşey vb6'da yazmak istediğim bir program var
YanıtlaSiltext1.text
text2.text
text3.text
Texboxların içindeki rakamlar en fazla 2 hanelidir. Yani rakamları random metodunda ayarladım.
Yapamadığım Örneğin text1 içindeki rakam 15 olsun
Ben bunu nasıl toplayacağım yani 15'i kendiyle toplamak istiyorum 1+5 =6
Ben butona bastığımda
TextSonuc.text = 6
Bunu nasıl yapabilirim . Teşekkürler
text içindeki sayıyı madem ki 2 basamaklı Mid ile alıcaksın.
SilDim sayi1,sayi2
sayi1 = mid(textismi.text,1,1) 'birinci rakamı aldık.
sayi2 = mid(textismi.text,2,1) '2. rakamı aldık.
Dim toplamsayi
toplamsayi = val(sayi1) + val(sayi2)
textsonuc.text = cstr(toplamsayi)
Suanda bilgisayarda editörü açamıyorum aklıma gelen kodlama bu deneyin ve dönüs yaparsanız sevinirim iyi günler. :)
Bu yorum yazar tarafından silindi.
SilRica ederim.
SilTakıldığınız yerde yazın mesajınızı gördüğüm zaman dönüş yaparım.
# Yine meşgul edeceğim,
SilHerşeyi tamamladım, Şurada takıldım.
TexBox multiline - TextBox'a kopyala yapıştır yapınca sorunsuz 10.000 üzeri rakam yapıştırabiliyorum.
Yalnız Butona tıklatarak, Satır olarak Yaklaşık 3000 küsür rakam girebiliyorum alt alta..
Örnek bir buton.
Command1_Click()
Text1.text = text2.text + text3.text & vbcrlf
Text2.text = text2.text + 1
Command1_Click
End Sub
Bu bir örnekti.
Bu rakam sınırını nasıl kaldıracağım. ?
Acaba, vbcrlf ile alta alırken, Diğer Boş satırlarıda
Kapsadığı için karakter sınırınımı aşıyor. Boşlukmu kalıyor çözemedim.
Umarım anlatabilmişimdir.. Text1 şöyle sıralanıyor örnek butona basınca
00000000
00000300
44434343
43434341
vb6 da 32768 karekter sınırı olması lazım.
Siltextbox sınırsız karekter yapmak için SetWindowText apisini kullanman gerekiyor.
okumak içinde GetWindowText apisini kullanman gerekiyor.
iyi günler.
Merhaba. VB6 ya uzun zaman önce başladım ama köyde yaşadığımdan yardımcı kaynak bulmakta zorlandım. Kitaplar yardımıyla kendimce bişeyler yapmaya çalıştım.
YanıtlaSilBugünlerde takıldığım: Random dosyalama sisteminde tanımladığım veri Type leri. Uzun metin kaydedebileceğim tanımlamayı nasıl yapabilirim.
Private Type alanlar
başlık As String
metin As String
End Type
Bu şekilde tanımladım, metin alanına sadece 120 karakter civarında veri kaydetti. Ben uzun metin kaydetmek istiyorum. Yardımcı olabilir misiniz.
Selam ve saygılar...
Skype adresimi ekleyin yardımcı olmaya çalısayım. HarmmyCoder
Sil