Visual Studio Hakkı...
 
Bildirimler
Hepsini Temizle

Visual Studio Hakkında Yardım  

Hasan
(@muhsinguducu)
Üye

Merhaba.Bir projede texbox ve combobox lara girdiğim bilgileri d:\data\data.doc dosyasının içine otomatik kaydetsin istiyorum.d:\ sürücüsünde data klasörü yeni oluşturulmalı.Yani yoksa bile oluşturmalı.Komutları düzenledim ancak kayıt esnasında hata veriyor.Sebebini bulamadım.Yardımcı olursanız sevinirim.Nerede hata yapıyorum acaba.Bana hangi komutta hata yaptığımı ve doğru komutu söylerseniz sevinirim.Acil lazım.

1
2

Imports System.IO

 

Public Class Form1

    Public strKlasorAdi As String = Form_Giris.varsayilanKlasor

    Public strDosyaAdi As String = Form_Giris.varsayilanKlasor & "\" & Form_Giris.varsayilanData

 

    Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click

        'Resim gösterme

        Dim dosyaDialog As New OpenFileDialog

        With dosyaDialog

            .Title = "Resim Ekle..."

            .InitialDirectory = My.Computer.FileSystem.SpecialDirectories.Desktop

            .Filter = "Resim Dosyasi (*.jpg, *.png)|*.jpg;*.jpeg;*.png"

        End With

        If dosyaDialog.ShowDialog = Windows.Forms.DialogResult.OK Then

            Try

                Dim resimBmp As New Bitmap(dosyaDialog.FileName)

                If Not IsNothing(PictureBox1.Image) Then PictureBox1.Image.Dispose() 'daha önce resim secilmisse onu bosaltiyor yada uyari mesajida döndürebilirsin yada silebilirsinde

                PictureBox1.Tag = dosyaDialog.FileName

                PictureBox1.Image = resimBmp

            Catch

                MsgBox("Resim dosyasi yüklenemedi." & vbNewLine & "Gecersiz resim dosyasi !!!", MsgBoxStyle.Critical, "Hata...")

            End Try

 

        End If

    End Sub

 

    Private Sub Button2_Click(sender As System.Object, e As System.EventArgs) Handles Button2.Click

        If String.IsNullOrEmpty(TextBox3.Text) Or Not IsNumeric(TextBox3.Text) Then

            MsgBox("Numara alani bos yada gecersiz numara !" & vbNewLine & "Lütfen Numara alanina sayisal bir deger giriniz.", MsgBoxStyle.Exclamation, "Numara tanimlanmadi...")

            Exit Sub

        End If

 

        'numara daha önceden kaydedilmismi kontrol ediyor

        If NumaraKontrol(strDosyaAdi) = True Then

            Exit Sub

        End If

 

 

        'secilen cinsiyat olusturuluyor

        Dim strCinsiyet As String = ""

        If RadioButton1.Checked = True Then

            strCinsiyet = "Kadin"

        ElseIf RadioButton2.Checked = True Then

            strCinsiyet = "Erkek"

        Else

            strCinsiyet = ""

        End If

        If strCinsiyet = "" Then

            MsgBox("Cinsiyet secilmedi !" & vbNewLine & "Lütfen kayit öncesi cinsiyet bölümünü isaretleyiniz.", MsgBoxStyle.Exclamation, "Cinsiyet secilmedi...")

            Exit Sub

        End If

 

 

        If IsNothing(PictureBox1.Image) Then    'resim dosyasi secilmediyse kaydetmeyip uyari veriyor

            MsgBox("Resim dosyasi secilmedi !" & vbNewLine & "Lütfen kayit öncesi resim dosyasi seciniz.", MsgBoxStyle.Exclamation, "Resim secilmedi...")

            Exit Sub

        End If

 

        Dim kopyalaResimAdi As String = strKlasorAdi & "\" & TextBox3.Text & IO.Path.GetExtension(PictureBox1.Tag)

 

 

        Dim kayitString As String = TextBox1.Text & "," & TextBox2.Text & "," & TextBox3.Text & "," & DateTimePicker1.Text & "," & _

            strCinsiyet & "," & ComboBox1.Text & "," & ListBox1.SelectedItem & "," & ComboBox2.Text

 

        Try

            Dim writer As New StreamWriter(strDosyaAdi, True, System.Text.Encoding.UTF8)

            writer.WriteLine(kayitString)

            writer.Close()

 

            ' resim dosyasi varsayilan yada secilen klasor icine kopyalaniyor

            If Not File.Exists(kopyalaResimAdi) Then  'kopyalanacak resim adi daha önce varsayilan D:\data da kaydedilmediyse kopyaliyor aynisi varsa yapmiyor

                System.IO.File.Copy(PictureBox1.Tag, kopyalaResimAdi)

            End If

 

        Catch ex As Exception

            MsgBox(TextBox3.Text & " nolu kayit yapilamiyor!" & vbNewLine & "Veri dosyasi gecersiz yada bozuk olabilir.", MsgBoxStyle.Exclamation, "Kayit yapilamiyor...")

            Exit Sub

        End Try

        MsgBox(TextBox3.Text & " numarali kayit," & vbNewLine & "Basariyla kaydedildi.", MsgBoxStyle.Information, "Kayit Eklendi...")

    End Sub

 

 

 

 

    Function NumaraKontrol(ByVal dosya As String) As Boolean

        Try

            Using dosyaOku As New StreamReader(dosya)

                While Not dosyaOku.EndOfStream

                    Dim satirOku() = Split(dosyaOku.ReadLine(), ",")

                    If Trim(TextBox3.Text) = satirOku(2) Then

                        MsgBox(TextBox3.Text & " numarali kayit daha önce olusturuldu." & vbNewLine & "Lütfen farkli bir numara giriniz.", MsgBoxStyle.Critical, "Kayitli numara girdiniz...")

                        Return True

                        Exit Function

                    End If

                End While

            End Using

        Catch

            MsgBox("Veri Dosyasi Okunamadi !!!" & vbNewLine & "Dosya gecersiz yada bozuk olabilir.", MsgBoxStyle.Critical, "Numara Kontrol Hatasi...")

        End Try

        Return False

    End Function

 

    Private Sub Button3_Click(sender As System.Object, e As System.EventArgs) Handles Button3.Click

        Me.Close()

    End Sub

End Class

Bu konu 7 ay önce Hakan Uzuner tarafından düzenlendi
Alıntı
Topic starter Gönderildi : 17/06/2020 09:22
Hasan
(@muhsinguducu)
Üye

Yardım edebilecek yokmu ?

CevapAlıntı
Topic starter Gönderildi : 17/06/2020 12:21
Serkan Ateş
(@SerkanAtes)
Üye

Lütfen sorunuzun altına gereksiz post girmeyin. Konu ile ilgili bir arkadaş müsait olduğunda sorunuza cevap verecektir. https://www.cozumpark.com/community/duyurular__uyarlar-4/650/

Gönderen: @muhsinguducu

   Catch

            MsgBox("Veri Dosyasi Okunamadi !!!" & vbNewLine & "Dosya gecersiz yada bozuk olabilir.", MsgBoxStyle.Critical, "Numara Kontrol Hatasi...")

        End Try

Yukarıdaki satırı aşağıdaki şekilde değiştirin ve tekrar çalıştırın. Verdiği hatayı paylaşın lütfen. İyi çalışmalar.

Catch ex As Exception
MsgBox("Can't load Web page" & vbCrLf & ex.Message)
End Try

.

http://www.microsoft.com")
Catch ex As Exception
MsgBox("Can't load Web page" & vbCrLf & ex.Message)
End Try
">

Bu ileti 7 ay önce 3 defa Serkan Ateş tarafından düzenlendi
CevapAlıntı
Gönderildi : 17/06/2020 16:41
Serkan Ateş
(@SerkanAtes)
Üye

@muhsinguducu probleminizin son durumu hakkında bilgi verir misiniz ?

İyi çalışmalar.

CevapAlıntı
Gönderildi : 18/06/2020 07:52
Hasan
(@muhsinguducu)
Üye

Serkan hocam merhabalar.Cevap için teşekkürler.Kuralları bilmiyordum.Dediğiniz komutu değiştirdim.Verdiği hataları atıyorum.Yanlız birşey farkettim.İlk defa data dosyası oluşturunca hata veriyor.İkinci sefer kayıt tuşuna bastığımda kayıt yapıyor.Yani dosyayı 1 kere oluşturduktan sonra kayıt yapıyor.Sanki ilk oluştururken,arka planda dosya açık gibi algılıyor.ilk oluşturmada bu hatayı veriyor sanki.İlk defa oluştururkende hata vermesin istiyorum.

1
2

 

Bu ileti 7 ay önce Hasan tarafından düzenlendi
CevapAlıntı
Topic starter Gönderildi : 18/06/2020 08:40
Serkan Ateş
(@SerkanAtes)
Üye

Öncelikle içerik için kullanacağınız dosyanın varlığını denetlemelisiniz. Bunun için "File.Exists(String)" metodunu kullanabilirsin. Eğer ilgili dosya mevcut ise fonksiyon True değeri döner. Eğer bulamaz ise False değeri dönecektir. Fonksiyondan gelen değere göre işlemlerinizi yönlendirebilirsiniz. Daha detaylı bilgi ve örnekler için https://docs.microsoft.com/en-us/dotnet/api/system.io.file.exists?view=netcore-3.1

İyi çalışmalar.

 

CevapAlıntı
Gönderildi : 18/06/2020 09:55
Hasan
(@muhsinguducu)
Üye

Değerli arkadaşım cevabın için teşekkürler.Çokta bilgi sahibi değilim.Galiba çözemeyeceğim bu işi.

Aşağıdaki komutlarla kontrol ettiriyorum zaten.Komutların hepsini worde kaydedip atayım tekrar.Sizide uğraştırmak istemiyorum.Ancak bir yerde hatam var onu çözemedim.Olmayacaksada önemli değil.Bu şekilde çalıştırırım.

Yinede teşekkür ederim.Çok saolasın.

 

Try

            Dim writer As New StreamWriter(strDosyaAdi, True, System.Text.Encoding.UTF8)

            writer.WriteLine(kayitString)

            writer.Close()

 

            ' resim dosyasi varsayilan yada secilen klasor icine kopyalaniyor

            If Not File.Exists(kopyalaResimAdi) Then  'kopyalanacak resim adi daha önce varsayilan D:\data da kaydedilmediyse kopyaliyor aynisi varsa yapmiyor

                System.IO.File.Copy(PictureBox1.Tag, kopyalaResimAdi)

            End If

CevapAlıntı
Topic starter Gönderildi : 18/06/2020 10:37
Hakan Uzuner
(@hakanuzuner)
Kıdemli Üye Yönetici

Forum bu şekilde ilerlemiyor ne yazık ki, yani benim sistemime bağlanın bir soruna bakın veya kodu ilettim inceleyin gibi, burada balık tutmayı öğretmeyi amaçlıyoruz.

Kolaylıklar.

Danışman - ITSTACK Bilgi Sistemleri
****************************************************************
Probleminiz Çözüldüğünde Sonucu Burada Paylaşırsanız.
Sizde Aynı Problemi Yaşayanlar İçin Yardım Etmiş Olursunuz.
Eğer sorununuz çözüldü ise lütfen "çözüldü" olarak işaretlerseniz diğer üyeler için çok büyük kolaylık sağlayacaktır.
*****************************************************************

CevapAlıntı
Gönderildi : 18/06/2020 19:02
Hasan
(@muhsinguducu)
Üye

@hakanuzuner

Ben balığı tutuyorum zaten.Ama istediğim balığı tutmak için hangi yemi kullanmam gerek onu soruyorum.

CevapAlıntı
Topic starter Gönderildi : 19/06/2020 08:20
Hakan Uzuner
(@hakanuzuner)
Kıdemli Üye Yönetici

Yok bayapı kodu gönderip inceleyin diyorsunuz, bence bu balığı bizim tutup sizin yemeniz. Tabi ki projeyi yapın demiyorsunuz ama bizim size bu bölüme bakın, bu tekniği kullanın veya bu yöntemi araştırın dememiz balık tutmayı öğretmektir, koda bakıp hatan bu hatta al bu kod parçacığı ile düzelir dememiz bayağı löp et oluyor 🙂 En azından bizim 12 yıllık forum kültürümüzde bu yok, çünkü bunu ilk zamanlarda yapıyorduk inanılmaz kötüye kullanım olunca bıraktık.

Danışman - ITSTACK Bilgi Sistemleri
****************************************************************
Probleminiz Çözüldüğünde Sonucu Burada Paylaşırsanız.
Sizde Aynı Problemi Yaşayanlar İçin Yardım Etmiş Olursunuz.
Eğer sorununuz çözüldü ise lütfen "çözüldü" olarak işaretlerseniz diğer üyeler için çok büyük kolaylık sağlayacaktır.
*****************************************************************

CevapAlıntı
Gönderildi : 19/06/2020 12:20
Hasan
(@muhsinguducu)
Üye

Kodları görmeden hatayı kimse bulamazki.Gerçi sizde haklısınız.Herkesin işi gücü var.yarım saat o kadar kodu kimse incelemez.Neyse siz benim forumdaki bütün konu başlıklarını silebilirsiniz.Kendi yağımızda kavrulalım.Olmuyorsa olmuyor.Uğraştırmanın anlamı yok.Yinede emeği geçen herkeze teşekkürler.Löp et sevmem zaten.Kemikli olcak bana.Sıyıra sıyıra 😀 

CevapAlıntı
Topic starter Gönderildi : 19/06/2020 12:27
Paylaş: