Duyuruyu Kapat
Facebook Gözat
Twitter Gözat

Zayıf olduğunuz konular nelerdir ?

Konu, 'Visual Basic .Net' kısmında Cihan Yakar tarafından paylaşıldı.

  1. hamdiatay

    hamdiatay Yeni Üye

    Kayıt:
    14 Ocak 2012
    Mesajlar:
    20
    Beğenilen Mesajlar:
    0
    çok teşekkür ediyorum aslane. bu kod işimi görür. bir de trycast ve DirectCast arasındaki fark nedir. bu konuda bir açıklama yapabilirmisin.
     
  2. aslan.e

    aslan.e Daimi Üye

    Kayıt:
    4 Şubat 2011
    Mesajlar:
    1,192
    Beğenilen Mesajlar:
    0
    Şehir:
    Eskişehir
    Kod:
      Public Sub hatayakalama()
            Dim frm As Form
            For Each frm In My.Application.OpenForms
                For Each c As Control In frm.Controls
                    If TryCast(c, TextBox) Is Nothing Then
                    End If
                Next
            Next
        End Sub
        Public Sub hatayakala()
            Dim frm As Form
            For Each frm In My.Application.OpenForms
                For Each c As Control In frm.Controls
                    If DirectCast(c, TextBox) Is Nothing Then
                    End If
                Next
            Next
        End Sub
    
    Kodlarını denersen aradaki farkı görürsün sanırım. Trycast sonuç döndürmüyor.

    http://msdn.microsoft.com/en-us/library/7k6y2h6x(v=vs.80).aspx linki yardımcı olabilir.
     
  3. hamdiatay

    hamdiatay Yeni Üye

    Kayıt:
    14 Ocak 2012
    Mesajlar:
    20
    Beğenilen Mesajlar:
    0
    teşekkür ederim aslane.iyi çalışmalar diliyorum.
     
  4. hamdiatay

    hamdiatay Yeni Üye

    Kayıt:
    14 Ocak 2012
    Mesajlar:
    20
    Beğenilen Mesajlar:
    0
    iyi akşamlar aslane. tablelayoutpanel ile ilgili birsorunum var. yardımcı olabilirsen sevinirim.
    yukarıdaki kodu ile TableLayoutPanel1'e buton ekliyorum. yükseklik yüzdelerini ayarlamama rağmen aşağıdaki resimdeki form görünümünü alıyorum. internetten araştırdığım kadarıyla birçok insan bu konuda sıkıntılı. herhangi bir çözüm önerin olabilirmi?

    Eki Görüntüle 11244
     
  5. aslan.e

    aslan.e Daimi Üye

    Kayıt:
    4 Şubat 2011
    Mesajlar:
    1,192
    Beğenilen Mesajlar:
    0
    Şehir:
    Eskişehir
    Kod:
             TableLayoutPanel1.ColumnStyles.Clear()
            TableLayoutPanel1.RowStyles.Clear()
            TableLayoutPanel1.Height = 500
            TableLayoutPanel1.Width = 200
            TableLayoutPanel1.ColumnStyles.Add(New ColumnStyle(SizeType.Percent, TableLayoutPanel1.Width))
            Dim butonadedi As Integer = 6
            For i As Integer = 1 To butonadedi
                TableLayoutPanel1.RowStyles.Add(New RowStyle(SizeType.Percent, TableLayoutPanel1.Height / butonadedi))
                Dim buton As Button = New Button()
                buton.Text = "txt" 'dt.Rows(i - 1).Item(0)
                buton.Name = "buton" & (i)
                buton.Dock = DockStyle.Fill
                TableLayoutPanel1.Controls.Add(buton)
                'AddHandler buton.Click, AddressOf Butonlar_Calisiyor
                buton.Font = New System.Drawing.Font("Swis721 BdRnd BT", 20.0!, FontStyle.Regular, CType(0, Byte))
            Next
    
    Bu şekilde denersen olur sanırım.
     
  6. hamdiatay

    hamdiatay Yeni Üye

    Kayıt:
    14 Ocak 2012
    Mesajlar:
    20
    Beğenilen Mesajlar:
    0
    kesinlikle oldu çok teşekkür ediyorum. iyi çalışmalar.
     
  7. hamdiatay

    hamdiatay Yeni Üye

    Kayıt:
    14 Ocak 2012
    Mesajlar:
    20
    Beğenilen Mesajlar:
    0
    iyi çalışmalar aslane. picturebox ile ilgili birsorunum var. yardımcı olabilirsen sevinirim.
    Eki Görüntüle 11265
    yazdığım telefon rehberi programında database de ilk kolon kimlikno, ikinci kolon adısoyadı,üçüncü kolon iştelefonu... gibi devam ediyor. datagridie veriyi alırken 1. kolonun visible özelliğini false yapıyorum bu kolon gözükmüyor. kayıtların kimlikno su aynı zamanda resimler klasöründe jpg uzantılı olarak kaydediyorum. örneğin adısoyadı erbeton olan firmanın kimlikno 256 resimler klasöründede 256.jpg olarak kartviziti bulunuyor. sorunum şu ki ben bu kaydı silmek istediğimde yani;

    satırında silme işlemini yapamıyor dosya başka bir program tarafından kullanılıyor mesajı veriyor.
    Eki Görüntüle 11266
    bu satırdan önce
    yazmama rağmen bu hatadan kurtulamıyorum. müsait olunca bu konuda görüşünü almak isterim.
     
  8. aslan.e

    aslan.e Daimi Üye

    Kayıt:
    4 Şubat 2011
    Mesajlar:
    1,192
    Beğenilen Mesajlar:
    0
    Şehir:
    Eskişehir
    picturebox1.Image = Nothing yerine picturebox1.Image.dispose() şeklinde ilişiği kes.

    Not:Ben image dosyasını da veritabanına atardım senin yerinde olsam.
     
  9. hamdiatay

    hamdiatay Yeni Üye

    Kayıt:
    14 Ocak 2012
    Mesajlar:
    20
    Beğenilen Mesajlar:
    0
    picturebox1.Image = Nothing yerine picturebox1.Image.dispose() denedim hala aynı hatayı alıyorum.
    database çok şiştiği için resimleri klasörde tutmayı düşünüyorum.
     
  10. aslan.e

    aslan.e Daimi Üye

    Kayıt:
    4 Şubat 2011
    Mesajlar:
    1,192
    Beğenilen Mesajlar:
    0
    Şehir:
    Eskişehir
    picturebox1.Image.dispose()
    picturebox1.image=nothing

    delete...




     
  11. hamdiatay

    hamdiatay Yeni Üye

    Kayıt:
    14 Ocak 2012
    Mesajlar:
    20
    Beğenilen Mesajlar:
    0
    aslane

    picturebox1.Image.dispose()
    picturebox1.image=nothing

    delete...
    kodunuda denedim olmadı bu akşam üzerinde biraz daha çalışacağım. seninde aklına gelen farklı birşeyler olursa bekliyorum. teşekkürler iyi çalışmalar.
     
  12. aslan.e

    aslan.e Daimi Üye

    Kayıt:
    4 Şubat 2011
    Mesajlar:
    1,192
    Beğenilen Mesajlar:
    0
    Şehir:
    Eskişehir
    O halde sen de picturebox'a image'ı filestream ile al...

    Kod:
    dim fs as system.io.filestream=new system.io.filestream("dosyayolun",io.filemod.open,io.fileacces.read)
    picturebox1.image=system.drawing.image.fromstream(fs)
    fs.close
    
    Bu şekilde alırsan, dosyayı istediğin şekilde silersin.
     
  13. hamdiatay

    hamdiatay Yeni Üye

    Kayıt:
    14 Ocak 2012
    Mesajlar:
    20
    Beğenilen Mesajlar:
    0
    ASLANE enson önerin işe yaradı resimleri silebiliyorum. çok teşekkür ediyor iyi çalışmalar diliyorum.
     
  14. Emre61

    Emre61 Üye

    Kayıt:
    11 Mayıs 2011
    Mesajlar:
    135
    Beğenilen Mesajlar:
    0
    tcp ıp ve thread

    tcp ıp de kopan baglatı tekrar baglanması ..
     
  15. fikretba

    fikretba Yeni Üye

    Kayıt:
    14 Ekim 2008
    Mesajlar:
    15
    Beğenilen Mesajlar:
    0
    merhaba
    ben çok uzun süredir vb6 kullanıyorum ve elime şimdi bir proje geldi vbasic son sürümünü yükledim ve artık bu platformu kullanmak istiyorum kullandıkçada farklılıkları görüyorum birçok şey değişmiş ve kolaylaşmış daha akıllı olmuş:) şimdi programa login kısmını yapıyorum yanlız çözemediğim ve bulamadığım bir sorundan bahsetmek istiyorum muhakka çok basittir vb6 olsa çoktan çözerdim şimdi projenin en başında kullanıcı kodu ve şifresi yazacak ve datada bu kullanıcı varsa login olacak hepsi bitti ama sorun şu ben yeni bir makineye koyduğumda datanın adını ve sql adını daha program derlenmeden kontrol ettirmek istiyorum


    Public Class Form2


    Dim cn As New SqlConnection("Data Source=sql server adı;Initial Catalog=data adı;Integrated Security=True")
    Dim cmd As New SqlCommand
    Dim dr As SqlDataReader


    şimdi public class form2'de dataya bağlantıyı sağlıyorumki tüm projede cn yaparak erişimi sağlayayım ama public form2'de datanın yolunu nasıl okutucam vbde olsa getsettings ile regeditten konumuna baktırırdım yoksa da konumunu kullanıcıya yazdırmayı sağlardım vb2012dede getsettings var ama public form2'de çalışmıyor bir çok yerde araştırdım bulamadım şimdiden okuduğunuz için tşkler kolay gelsin

    - - - - - - - - - -

    bir şey daha sormak istiyorum eskiden vbasic 6 da modul kullanıyorduk ve değişkene public özelliği veriyorduk ve biz bunu tüm projede kullanabiliyorduk vbnette biz bunu nasıl yapıyoruz?
     
  16. aslan.e

    aslan.e Daimi Üye

    Kayıt:
    4 Şubat 2011
    Mesajlar:
    1,192
    Beğenilen Mesajlar:
    0
    Şehir:
    Eskişehir
    Anlayabildiğim kadar yanıtlamaya çalışayım; vb.net'te de kayıt defterine başvurup oradan veri okuyabilirsiniz. Tabii bunun için vb metotlarını değil (getsettings) de vb.net'in kendi metotlarını kullanırsanız daha iyi olur:
    (my.computer.registry.currentuser.getvalue("valuename")).
    Bu işlemi de modül üzerinden halledebilirsiniz. Module vb.net içinde de var. Solution explorer'da add new item diyerek modülü seçip projenize ekleyebilirsiniz. Oradan da public metotlar ve değişkenler aracılığı ile tüm formlarınızdan erişerek kullanabilirsiniz.
     
  17. fikretba

    fikretba Yeni Üye

    Kayıt:
    14 Ekim 2008
    Mesajlar:
    15
    Beğenilen Mesajlar:
    0
    valla aslan bey ne diyim çok teşekkür ederim ben getsettings yapmıştım onu hemen düzeltim modülde değişme olmayışı güzel birde artık değişken tanımlarken değişken değeri de tek satırda tanımlanıyordu bende sql yerini belli etmek için şunu yaptım
    Public Class Form2
    Dim cn As New SqlConnection 'tüm formun içindeki cn aktif olsun diye public ekledim
    bunu yazdım

    Private Sub Form2_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    Dim sqlbilgileri As String
    sqlbilgileri = GetSetting("personel", "Data", "data1adi")


    If sqlbilgileri = "" Then
    Me.Width = 300
    Me.Height = 545 'sql konum bilgisini girilmesi için formu büyüt ve ordaki text alanlarına bilgi girişi sağla
    Else
    data1adi = GetSetting("personel", "Data", "data1adi")
    data1ip = GetSetting("personel", "Data", "data1ip")
    ......
    cn.ConnectionString = ("Data Source=" & data1ip & ";Initial Catalog=" & data1adi & ";Integrated Security=True") 'formun loadında sql yerini alıp yazdır.
    cmd.Connection = cn

    birde aslan bey bir sorun daha olacak ben artık access kullanmayayım dedim ve sql de data oluşturdum ve buradan yapıyorum peki ben datayı server koyduktan sonra clientlarda ne gibi işlem yapmam gerek sadece projenin exe'sini atıp sql bağlanmasını sağlatabilirmiyim yoksa clientlardada sql server native client yüklemem gerekiyormu?(bu benim ilk sql datalı projem olacak.)

    gene bir soru daha sorucam şimdi servera benim datamı yükleyecem ama o serverda başka bir programın sql datası var onada erişmem gerekecek oradan sadece veri okutucam bu okuttuğum veriyi belleğe yazıp o datayı kapatıcam sonra benim datama bağlantı sağlayıp o veriyi kendi datama yazıcam.
    yoksa aynı anda iki data birden açabilirmiyim?(aynı anda açsam mükemmel olur)
    Dim cn As New SqlConnection (aynı sql server data farklı)
    Dim cn1 As New SqlConnection (aynı sql server data farklı)
    Dim cmd As New SqlCommand
    Dim cmd1 As New SqlCommand
    Dim dr As SqlDataReader
    Dim dr1 As SqlDataReader
    gibi olabilirmi?
    şimdiden çok teşekkür ederim
     
  18. aslan.e

    aslan.e Daimi Üye

    Kayıt:
    4 Şubat 2011
    Mesajlar:
    1,192
    Beğenilen Mesajlar:
    0
    Şehir:
    Eskişehir
    Kod:
    Module Module1
    
        Dim constr As String = My.Computer.Registry.CurrentUser.GetValue("valuenameneyse")
        Public con As New SqlClient.SqlConnection(constr)
        Public Sub kontrol()
            If constr = "" Then
                Form1.Show()
                'vs
            End If
        End Sub
    End Module
    
    
    
    Tüm veritabanı işlemlerini bu şekilde modül üzerinden yapabilirsiniz. Public yaptıklarınıza diğer formlarınızdan direkt erişebilirsiniz.

    Uygulama bir server üzerinde çalışıyorsa, clientler için sunucu vs gerekmiyor, sadece uygulama ihtiyacını karşılayacak framework versiyonunun bulunması yeterli.

    Farklı veritabanı için farklı connection oluşturabilirsiniz, bu konuda bir sıkıntı olmaz. Sqlconnection sınıfı içinde bir changedatabase metodu var ama hiç kullanmadım. Aynı sunucu üzerinde farklı veritabanına geçmeye yarıyor olabilir. Son sorunuza cevap olarak evet diyebiliriz.
     
  19. fikretba

    fikretba Yeni Üye

    Kayıt:
    14 Ekim 2008
    Mesajlar:
    15
    Beğenilen Mesajlar:
    0
    ne diyim bilemiyorum varya işim baya kolaylaştı çok teşekkür ederim hemen changedatabase olayını araştırıcam.
     
  20. fikretba

    fikretba Yeni Üye

    Kayıt:
    14 Ekim 2008
    Mesajlar:
    15
    Beğenilen Mesajlar:
    0