Skip to content

Instantly share code, notes, and snippets.

@canokay
Created April 24, 2019 10:37
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save canokay/1285fb6f5b33977afe0ed3544df8a5a7 to your computer and use it in GitHub Desktop.
Save canokay/1285fb6f5b33977afe0ed3544df8a5a7 to your computer and use it in GitHub Desktop.

Visual Basic Vize Çalışması - Döküman

Konular:

  1. Database Bağlanması
  2. .dll Yazma
  3. xml

Hafta 2 Dökümanı

Visual Basic Veri Tabanı Bağlantısı

Data Import Et

Imports System.Data.OleDb

Select Kodları

Imports System.Data.OleDb

Public Class frmMain

    Private Sub frmMain_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        Dim bag As String = "Provider= Microsoft.Jet.Oledb.4.0; Data Source=veritabani.mdb"
        Dim sorgu As String = "select * from kitap"
        Dim ybag As New OleDbConnection(bag)
        Dim yerial As New OleDbDataAdapter(sorgu, ybag)
        Dim ytablo As New DataTable()
        Dim yol As New DataSet()
        yerial.Fill(yol, "sanalTable")
        yol.Tables.Add(ytablo)
        BindingSource1.DataSource = yol
        BindingSource1.DataMember = yol.Tables(0).TableName
        DataGridView1.DataSource = BindingSource1
        kitapadi.DataBindings.Add("text", BindingSource1, "kitapadi")
        adeti.DataBindings.Add("text", BindingSource1, "adeti")
        fiyati.DataBindings.Add("text", BindingSource1, "fiyati")
    End Sub
End Class

Nesnelere DataBindings Ekleme

        TextBox1.DataBindings.Add("text", BindingSource1, "kitapadi")
        TextBox2.DataBindings.Add("text", BindingSource1, "adeti")
        TextBox3.DataBindings.Add("text", BindingSource1, "fiyati")

Hafta 4 Dökümanı (.dll)

Sub End Sub

Sub End sub diye kullanılır. Metotdur. Her istendiginde bunları çağırarak program hızı arttırılır ve daha kolay yazılır. Çalıştırılacak Kodlar Sub - End Sub değimi arasında yazılır. Ancak Birden fazla sub yapılırken asla sub değimleri iç içe yazılmamalıdır.

Sub yazarken eğer public yazmadan sub yazılıyorsa public olarak tanımlar. Eğer sadece formun içinde kullanılmasını isteniyorsa Private tanımlanabilir.

Dizilimi

Sub sub_ismi (parametreler ihtiyaç var ise)
// Komutlar
End Sub

Önce mutlaka bir nesne yaratılır. Nesne tipi olarak mutlaka Classa verilen isim kullanılır.

Dim nesne_ismi As New Class1()

Nesneye değer alabilmek için class altında tanımlanmış olan sub prosedürün ismi özellik olarak atanır.

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Dim nesne_ismi As New Class1()
        nesne_ismi.deneme(InputBox("Değer Girin: ", "Class Uygulaması", " ", 120, 120), InputBox("2. Değer Girin: ", "Class Uygulaması", " ", 120, 120))
    End Sub

Soru: Öğrenci vize ve final inputla alınacak. Ortalama mesajbox ile kullanılacak.

Koşul: Sub prosedürü class altında kullanarak yapılsın. (uygulama3)

function

İç içe kullanılmaz. Return ile geri döner.

Function örneği: (uygulama4)

Soru: Class ve function kullanarak vize final uygulaması yapın (uygulama5)

.dll

Kendi içinde 1 çok function bulanan .dll dir.

Ctrl + shift + n -> Class Libary işaretle

name yazan yere .dll isimi verilir.

Nesne ismi yaratıldıktan sonra As New Değerinden hemen sonra dll_ismi.class_ismi yazılır.

Yaratılan nesnenin özelliğine değer atamak için önce nesne_ismi.Function_ismi yazılır. Parantez içinde değer nereden geliyor ise o yazılır.

Soru: Kamupersonelinin net maaşını hesaplayan program kodunu yazınız. Değerler bürüt girilecek (klavyeden girilecek).

Dll dosyasında Net Maaş = bürüt maaş - kesintiler

bürüt maaş 35% vergidir.

2% yemek parasıdır.

3% telefon ücretidir.

Hafta 6 Dökümanı (XML)

XMLLER

Sınav Soru Olabilir: Öğrencilerin vize final notları klavyeden alınıp, alınan notun ortalaması hesaplandıktan sonra form üzerinde görüntülensin.

Koşul 1: Hesaplama işlemleri dll ile yapılsın.

Koşul 2: Sonuç formda görüntülendikten sonra btn tıklamalyla veri tabanına kaydedilsin.

Koşul 3: Veri tabanındaki bilgiler buton tıklamasıyla XML dosyasına aktarılsın.

Koşul 4: XML Dosyası içinde kayıtlı bilgiler button tıklamasıyla veri tabanına aktarılıp kaydedilsin.

Koşul 5: Api fonksiyonu kullanılarak form kapatılsın.

Hafta 7 Dökümanı (Word -> Excel)

Word ve Excel

Add reference -> Microsoft Word

Imports Microsoft.Office.Interop
Public Class Form1
    Dim word_uygulama As New Word.Application
    Dim word_dokuman As New Word.Document
    Private Sub btn_word_open_Click(sender As Object, e As EventArgs) Handles btn_word_open.Click
        word_dokuman = word_uygulama.Documents.Add
        word_uygulama.Visible = True
    End Sub

    Private Sub word_InsertAfter_Click(sender As Object, e As EventArgs) Handles word_InsertAfter.Click
        word_dokuman.Range().InsertAfter("Okay")
    End Sub

    Private Sub word_InsertBefore_Click(sender As Object, e As EventArgs) Handles word_InsertBefore.Click
        word_dokuman.Range().InsertBefore("Can ")
    End Sub

    Private Sub word_Paragraphs_add_Click(sender As Object, e As EventArgs) Handles word_Paragraphs_add.Click
        word_dokuman.Paragraphs.Add()
        word_dokuman.Range().InsertAfter("9 eylül üni lorem iplusum ")
    End Sub
End Class

Soru: Form üzerine 4 adet textbox yerleştirin. Form load edilince textbox nesnelerinde 1 ogrenci adi, soyadi,dyeri, dtarihi goruntulensin. Button tıklanınca word programında orgrenci bilgileri yan yana görüntülensin. btn2 tıklanınca satır başında ogrenci bilgileri yazısı göntülensin. btn3 tıklanınca 9 eylül üni altı imyo altı teknik programlar altı bilgisayar program bölümü görüntüle

Imports Microsoft.Office.Interop

Public Class Form1

    Dim word_uygulama As New Word.Application
    Dim word_dokuman As New Word.Document
    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load

    End Sub

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        word_dokuman = word_uygulama.Documents.Add
        word_uygulama.Visible = True
        word_dokuman.Range().InsertAfter(TextBox1.Text + " " + TextBox2.Text + " " + TextBox3.Text + " " + TextBox4.Text)
    End Sub

    Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
        word_dokuman.Paragraphs.Add()
        word_dokuman.Range().InsertAfter("Öğrenci Bilgileri")
    End Sub

    Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
        word_dokuman.Paragraphs.Add()
        word_dokuman.Range().InsertAfter("9 eylül üni lorem iplusum ")
        word_dokuman.Paragraphs.Add()
        word_dokuman.Range().InsertAfter("İMYO")
        word_dokuman.Paragraphs.Add()
        word_dokuman.Range().InsertAfter("Bilgisayar Programcılığı Bölümü")
    End Sub
End Class

    Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click
        RichTextBox1.Text = word_dokuman.Range().Text
        word_uygulama.Quit()
    End Sub

    Private Sub Button5_Click(sender As Object, e As EventArgs) Handles Button5.Click
        RichTextBox1.Text = word_dokuman.StoryRanges.Application.Selection.Text
    End Sub

    Private Sub Button6_Click(sender As Object, e As EventArgs) Handles Button6.Click
        word_dokuman = word_uygulama.Documents.Open(TextBox1.Text)
    End Sub

soru: imyo muhasebe vergi iadesi hesaplayan program istedi.

İstekler: Hesaba dahil edilecek olan fiş sayısı input ile belirlenecek.

belirlenen sayı kadar vergi iadesi için aşağıdaki bilgiler girilcek.

  1. tarih

  2. fiş alınan yer

  3. miktarı

değerler alındıktan sonra kişinin net maaşına fişlerin toplamının 30% ilave edilerek ödeme yapılacaktır.

Koşul: Hesap işlemleri .dll ile yapılcak.

Koşul: Bütün bilgiler veri tabanına kaydedilsin.

Koşul: Veri tabanındaki bilgiler button tıklamasıyla word dosyasına aktarılsın.

bu sınavda çıkar

Vize Calisma Sorulari

Soru 1 - uygulama1

Klavyeden n sayıda kitabin

  • adi
  • yazari
  • basim yili
  • basim yeri
  • isban numarası
  • adeti
  • fiyati

alinsın.

Adet ve fiyatı ile diğer bilgileri alınan fiyatların toplam ödeme miktarini hesaplayan ve bu bilgileri form üzerinde görüntüleyen program kodlarını yazınız.

Koşul

    • hesaplama işlemleri .dll tarafından yapılacak.
    • tüm bilgiler veri tabanına kaydedilecek.

Soru 2 - uygulama2

Button tıklamasıyla veri tabanında kayıtlı olan tüm bilgileri adı deneme.xml olan xml kodunu yazınız.

Soru 3 - uygulama3

Button tıklamasıyla veri tabanında kayıtlı olan bilgileri word dökümanına tabloda (DataGridView) olduğu gibi göndererek word içine kaydeden program kodunu yazınız.

Koşul

    • Veri tabanı ilişkileri için mutlaka ilişkilendirme komutu kullanmalısınız.
    • Veri tabanından veri okunması gerekiyor ise DataReader() kullanınız (döngü ile).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment