AccessTr.neT

Tam Versiyon: Numaratör.net (İlk Çalışmam)
Şu anda arşiv modunu görüntülemektesiniz. Tam versiyonu görüntülemek için buraya tıklayınız.
Merhaba

AccessTr.NET sayesinde Access konusunda hiç bir bilgim yok iken özellikle Sayın Atoz112 ve Ozanakkaya hocalarımın destekleriyle kendimi baya ilerlettiğimi düşünüyorum Img-grin
Hal böyle olunca bir de vb.net e el atmak istedim ve kurcalayarak internette araştırarak bişeyler öğrenmeye başladım. Tabi öğrenmem Access teki kodlama deneyimimden (amatörce)  altyapı olduğu için pek zor olmadı Img-grin
vb.net te yapmış olduğum ilk uygulamamı sizlerle paylaşıyorum. çalışmam geçtiğimiz aralık sonu malum defter tastik dönemi idi ve lazım oldu internetten bir tane buldum işimi gördü ancak neden ben yapmayım düşüncesi ile oluşturdum.
Ekte çalışmanın sadece exe sini veriyorum.
Kaynak kodta aşağıdaki gibi;
 Dim i As Integer = 0
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Dim ilksayi As Integer = CInt(TextBox1.Text)
        Dim sonsayi As Integer = CInt(TextBox2.Text)




        If CInt(TextBox1.Text) <= "0" Then
            MsgBox("İlk sayfa numarasını girmediniz", vbInformation, "Uyarı")
            TextBox1.Focus()
        ElseIf CInt(TextBox2.Text) <= "0" Then
            MsgBox("Son sayfa numarasını girmediniz.", vbInformation, "Uyarı")
            TextBox2.Focus()
        ElseIf CInt(TextBox2.Text) < CInt(TextBox1.Text) Then
            MsgBox("Son sayfa numarası ilk sayfa sunarasından küçük olamaz.", vbCritical, "Uyarı")
            TextBox2.Focus()
        Else
            Dim pdx As Integer
            For pdx = 1 To ComboBox1.Text
                Dim pd As New System.Drawing.Printing.PrintDocument
                AddHandler pd.PrintPage, AddressOf PrintDocument_PrintPage
                pd.Print()
            Next
        End If
    End Sub
    Private Sub PrintDocument_PrintPage(ByVal sender As System.Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs)




        Dim ilksayi As Integer = CInt(TextBox1.Text)
        Dim sonsayi As Integer = CInt(TextBox2.Text)
        Dim fark As Integer = sonsayi - ilksayi
        While i < fark + 1
            e.Graphics.DrawString((i + ilksayi).ToString, New Font("Cambria", 14, FontStyle.Bold), Brushes.Black, e.PageSettings.PaperSize.Width - 105, 45)




            i = i + 1
            Exit While
        End While
        If i < fark + 1 Then e.HasMorePages = True Else e.HasMorePages = False : i = 0
    End Sub




    Private Sub numarator_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        ComboBox1.Text = "1"
        Button1.Enabled = False
    End Sub




    Private Sub TextBox1_KeyDown(sender As Object, e As KeyEventArgs) Handles TextBox1.KeyDown
        If e.KeyCode = Keys.Enter Then
            TextBox2.Focus()
        End If
    End Sub




    Private Sub TextBox2_KeyDown(sender As Object, e As KeyEventArgs) Handles TextBox2.KeyDown
        If e.KeyCode = Keys.Enter Then
            ComboBox1.Focus()
        End If
    End Sub




    Private Sub ComboBox1_KeyDown(sender As Object, e As KeyEventArgs) Handles ComboBox1.KeyDown
        If e.KeyCode = Keys.Enter Then
            Button1.Focus()
        End If
    End Sub
    Private Sub TextBox2_TextChanged(sender As Object, e As EventArgs) Handles TextBox2.TextChanged
        Button1.Enabled = True
    End Sub

Program "6" haneli sayılara kadar sorunsuz bir şekilde döküm almakta sayfaya tam sığmaktadır. Kodları internetten bulduğum ve sayın Drummers in burada paylaşmış olduğu kodlar ile karıştırdım kodlamada sadece "3" haneli sayılar döküm alına bilmekteydi ve son rakam sayfanın çok sağında kalmaktaydı ben kodlarda düzenleme yaparak bu sorunu çözdüm.

Eğer yazı fontunu değiştirmek yada yazıları daha sola ve/veya daha aşağı almak isteyen olursa ilgili kod satırı;
e.Graphics.DrawString((i + ilksayi).ToString, New Font("Cambria", 14, FontStyle.Bold), Brushes.Black, e.PageSettings.PaperSize.Width - 105, 45)
PrintDocument satırı altındaki kodta bulunan ilgili yerleri değiştirerek yapabilirler.
Çoğu kişi biliyordur ancak benim gibi yeni vb.net e başlayanlar için kod içindeki "105" sayısı sağ taraftan olan uzaklık dahada uzaklaştırmak için büyütmek yakınlaştırmak için küçültmek gerekir, "45" sayısı yukarıdan olan uzaklıktır daha da aşağı indirmek için büyütmek yukarı çıkartmak için küçültmek gerekir.
Saygılarımla

Ek olarak;
Visual Basic.Net hakkında daha fazla bilgi edinmek ve öğrenmek istiyorum bunun için nereden başlamalıyım veya tavsiye edebileceğiniz bir kaynak/kitap var mı ?
Teşekkürler.

[attachment=24167]
Hocam Paylaşım için Teşekkürler.
Eğer uzun vadede düşünüyorsan vb.net yerine c# a geçiş yap. Hem kaynak olarak c# sınırsız hem de microsoft'un ileride vb.net desteğini keseceğine dair söylentiler var. Mesela şu aralar Asp.Net 5 MVC 6 için proje vb.net için oluşturulamıyor. Belki stabil sürüm çıkınca olabilir ancak şimdilik gözüken yok gibi.

Şu anda masaüstü program kodluyorsunuz ancak yarın bir gün web sitesi ihtiyacınız olunca asp.net ile kodlama imkanınız olacak. Yine android veya iphone için program yazmak isterseniz yine yapabileceksiniz ancak göreceğiniz gibi kaynakların %90 ı c# ile. Gerçi converter.telerik.com gibi c# kodunu vb.net e çeviren siteler var ancak en güzeli yine c# Img-grin
(05/01/2016, 11:30)alpeki99 yazdı: [ -> ]Şu anda masaüstü program kodluyorsunuz ancak yarın bir gün web sitesi ihtiyacınız olunca asp.net ile kodlama imkanınız olacak. Yine android veya iphone için program yazmak isterseniz yine yapabileceksiniz ancak göreceğiniz gibi kaynakların %90 ı c# ile. Gerçi converter.telerik.com gibi c# kodunu vb.net e çeviren siteler var ancak en güzeli yine c# Img-grin
Sayın alpeki99 hocam;

Tavsiyeniz için teşekkürler. Dediğiniz gibi c# üzerine çok fazla kaynak var en basit örneği olarak formları iç içe açmak için kullanılan kontainerparents(sanırım buydu adı Img-grin ) vb.net te bir örnek bulamadım. Bende C# için yapılan bir örnek videodan vb.net e uyarlama yaptım Img-grin
Kod:
form1.MdiParent = Me
kodu için 3 saat internette vb.net için araştırma yaptım diye bilirim Lol
Ancak C# bana çok karışık geldi bir kodu bitiriyorsun ";" işareti ile ama vb.net te "End Sub" ifadesi ekleniyor ve daha net diye düşünüyorum Img-grin
dediğiniz gibi şuan sadece masaüstü programı kodluyorum(kodlamaya çalışıyorum Img-grin ) web sitesi kodlama ihtiyacım da olurmu bilemiyorum çünkü bana biraz fazla karmaşık geliyor web site kodlamaları tabi bu hiç işin içine girmediğimden de olabilir zira Access teki yapılan uygulama ve kodlamalarda dışarıdan bakan biri olarak ilk etaplarda karışık gelmişti Img-grin
Sizin tavsiyeniz üzerine bugün akşam C# üzerine de araştırma yapacağım
son olarak bana tavsiye edebileceğiniz her iki kodlama içinde "C#/vb.net" bir kaynak/kitap var mı ? yada bu işe tam anlamıyla nereden başlamak doğru olur.
Değerli yorumlarınız ve tavsiyeleriniz için teşekkür ederim.
C# ta her satırın sonunda ; var bir de kodlar { } arasına yazılıyor bunlarda aslında farktan sayılmaz. Kitap tavsiye edemiyorum çünkü kitaplar öğrendikten sonra işe yarar Img-grin Bu konuda artık ihtisas sahibi sayılırım. Her c# kitabını aldım neredeyse hatta bir sürü vb.net kitabını aldım. Çok sayıda eğitim seti satın aldım almaya devam ediyorum. İşin temel mantığını öğrenince ki siz örnek bir uygulama ile zaten bunu başarmışsınız. Bundan sonrası program yazdıkça ortaya çıkacak. Hangi sorunun çözümüne ihtiyacınız varsa %99 oranında internette zaten bulacaksınız.

Kitapları alın elinizin altında olsun ama asıl iş sizde bitecek. Takıldığınız yeri buraya veya asıl alanı bu olan forumlara sorun ama öncesinde internet üzerinde arama yapın bulduğunuz herşeyi deneyin. Yapamasanız bile bunlar size tecrübe olacak sonraki zamanda karşılaşacağınız sorunlar için temel oluşturmuş olacaksınız.