İçeriğe geç
ShiftDelete.Net
Haber ara/ SDN'ye SorGiriş
Haber Akışı SDNTV İnceleme Forum Yapay Zeka Akıllı Telefon Elektrikli Otomobil Oyun ShiftDelete.Net Global Teknoloji Haberleri Mobil Otomobil Donanım Savunma Bilim Sosyal Medya İnternet Giyilebilir Teknoloji Rehber Ürünler Sinema Dizi Akıllı Ev Motosiklet Mikromobilite Kripto Para Sağlık Teknolojileri Son dakika Yazarlar
  1. Ana sayfa
  2. Topluluk
  3. Programlama
  4. Programlama Dilleri
Programlama Dilleri

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

nobody94610.07.201210 cevap6.065 görüntüleme
#1
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:

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:

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.
Cevaplar
#2
D:\kayit.txt dosyası mevcut mu? oluşturdun mu?
nobody946 Konuyu açan
#3
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
#4
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()
#5
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 Konuyu açan
#6
merhabadunya dedi: ↑
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?
Janmark dedi: ↑
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ı?
#7
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 :)
nobody946 Konuyu açan
#8
Janmark dedi: ↑
@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 :)
#9
Samed Tarık dedi: ↑
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 Konuyu açan
#10
peki benim kullanıcı adını ve şifreyi alt alta yazdırmamın bir imkanı varmı yan yana yazıyor şu haliyle
nobody946 Konuyu açan
#11
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

Cevabını yaz

Cevap yazmak için giriş yap ya da üye ol. Eski forum kullanıcı adın ve parolanla girebilirsin.