Visual basic dosya başka bir işlemde kullanılıyor hatası

nobody946

Doçent
Katılım
4 Mayıs 2012
Mesajlar
507
Reaksiyon puanı
2
Puanları
18
arkadaşlar belli bir amaca yönelik olmadan sadece kendimi geliştirmek için bir kayıt formu oluşturmaya karar verdim. Forma 2 label, 2 textbox, 2 tanede buton koydum koduda şu şekilde hazırladım:
Kod:
Imports Microsoft.VisualBasic.FileIO
Imports System.IO

Public Class kayitformu
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles kaydetdugmesi.Click
        'kullanıcı adı ve şifreyi bir değişkene aktarma işlemi
        Dim kullaniciadi As String
        Dim sifre As String

        'kullanıcı adını kullanıcı adı kutusundaki yazıyla şifreyide şifre kutusundaki yazıyla eşleştirme işlemi
        kullaniciadi = kullaniciadikutusu.Text
        sifre = sifrekutusu.Text

        'Dosya yazma işlemi
        FileOpen(1, "D:\kayit.txt", OpenMode.Append)

        Print(1, "kullanıcı adı:" + kullaniciadi + " ")
        Print(1, "şifre :" + sifre)

        FileClose(1)

    End Sub

    Private Sub kayitformu_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        'Dosya oluşturma
        File.Create("D:\kayit.txt")
    End Sub
End Class

fakat çalıştırdığımda kayıt butonuna bastığım zaman şu şekilde bir hata veriyor:
Kod:
IOException was unhandled
The process cannot access the file 'D:\kayit.txt' because it is being used by another process.

bu hatayı nasıl çözerim? anladığım kadarıyla dosyayı oluşturuken yaptığı işlemden dolayı dosyayı açamıyor. yani işlemi bitirmem lazım, ama nasıl yapacağımı bilmiyorum. yardım ederseniz sevinirim.
 

nobody946

Doçent
Katılım
4 Mayıs 2012
Mesajlar
507
Reaksiyon puanı
2
Puanları
18
mevcut, ancak create komutu mevcut olan dosyanın üzerine yazıyor, dosya yoksa oluşturuyor. içeriği sıfırlaması için böyle yaptım
 

merhabadunya

Öğrenci
Katılım
10 Temmuz 2012
Mesajlar
4
Reaksiyon puanı
0
Puanları
0
bir dosyayı çağırdığın zaman onun yazılmaya hazır olduğunu varsayıyorsun. bu nedenle hata veriyor. şunu deneyelim:


File.Create("D:\kayit.txt").Dispose()
 

Janmark

Doçent
Katılım
22 Temmuz 2011
Mesajlar
914
Reaksiyon puanı
2
Puanları
218
Eğer yeni başladıysan vb ile alakalı ne kadar şey varsa pc'de kaldır sil yak yık yoket hemen C#'a başla :)
 

nobody946

Doçent
Katılım
4 Mayıs 2012
Mesajlar
507
Reaksiyon puanı
2
Puanları
18
bir dosyayı çağırdığın zaman onun yazılmaya hazır olduğunu varsayıyorsun. bu nedenle hata veriyor. şunu deneyelim:


File.Create("D:\kayit.txt").Dispose()

çok teşekkür edelim çözüldü sorun, fakat ne yapıyor o dispose komutu?

Eğer yeni başladıysan vb ile alakalı ne kadar şey varsa pc'de kaldır sil yak yık yoket hemen C#'a başla :)

yeni başladım sayılmaz ama çok ilerledim de denemez :) farkları nelerdir yada avantajları?
 

Janmark

Doçent
Katılım
22 Temmuz 2011
Mesajlar
914
Reaksiyon puanı
2
Puanları
218
[MENTION=267425]Samed Tarık[/MENTION], vb kalmadı gibi birşey, Eğer bu işi yapmayı düşünüyorsan C# tavsiye ediyorum sana.. www.csharpnedir.com,www.nedirtv.com bu 2 siteden rahatlıkla öğrenebilirsin. Gelecek C#'ta :), Ha şimdi diyeceksin okadar uğraştım ettim boşamı gidecek gitmeyecek tabiki farklı dilleri görmek güzeldir :) Ama C# ile yazmaya başladığın zaman vay be ne rahatmış diyeceksin :)
 

nobody946

Doçent
Katılım
4 Mayıs 2012
Mesajlar
507
Reaksiyon puanı
2
Puanları
18
@Samed Tarık, vb kalmadı gibi birşey, Eğer bu işi yapmayı düşünüyorsan C# tavsiye ediyorum sana.. www.csharpnedir.com,www.nedirtv.com bu 2 siteden rahatlıkla öğrenebilirsin. Gelecek C#'ta :), Ha şimdi diyeceksin okadar uğraştım ettim boşamı gidecek gitmeyecek tabiki farklı dilleri görmek güzeldir :) Ama C# ile yazmaya başladığın zaman vay be ne rahatmış diyeceksin :)

ben henüz 8. sınıfı bitirdim, liseye başlayacağım. bu işlere meraklı olduğum için birazda bilgisayar mühendisi olmayı düşündüğüm için ufak ufak hepsinden öğrenemye çalışıyorum. madem daha rahat diyorsunuz onuda bir denerim teşekkürler :)
 

Janmark

Doçent
Katılım
22 Temmuz 2011
Mesajlar
914
Reaksiyon puanı
2
Puanları
218
ben henüz 8. sınıfı bitirdim, liseye başlayacağım. bu işlere meraklı olduğum için birazda bilgisayar mühendisi olmayı düşündüğüm için ufak ufak hepsinden öğrenemye çalışıyorum. madem daha rahat diyorsunuz onuda bir denerim teşekkürler :)

Sonuçta OOP bir dil :) Aşırı derecede rahat tabiki :) denedikten soran fikirlerini bekliyorum :)
 

nobody946

Doçent
Katılım
4 Mayıs 2012
Mesajlar
507
Reaksiyon puanı
2
Puanları
18
peki benim kullanıcı adını ve şifreyi alt alta yazdırmamın bir imkanı varmı yan yana yazıyor şu haliyle
 

nobody946

Doçent
Katılım
4 Mayıs 2012
Mesajlar
507
Reaksiyon puanı
2
Puanları
18
Print komutunu WriteLine ile değiştirdim alt alta yazdı. Fakat Write ve WriteLine kullanınca tırnak işareti koyuyor tırnak işareti olmadan yazdırmanın bir yolu varmı?

edit: PrintLine diye bir komutta varmış :D onu kullandım oldu :D
 
Üst