Türkçe-İngilizce sözlük programı, kullanıcının bir kelimeyi Türkçe veya İngilizce olarak girdiği ve karşılık olarak sözlükteki anlamını aldığı bir programdır. Bu programın yapımı için aşağıdaki adımları takip edebilirsiniz:

Vb.Net ile Türkçe-İngilizce Sözlük Programı Nasıl Yapılır? Detaylı Anlatım

Yeni bir VB.NET projesi oluşturun ve projeye bir TextBox, bir ComboBox ve bir Label ekleyin. TextBox kullanıcının kelimeyi girdiği yer, ComboBox dil seçimi için ve Label sonuçları göstermek için kullanılacaktır.

Programda kullanılacak sözlük verileri, bir veritabanında tutulabilir. Bir Access veritabanı oluşturun ve veritabanına iki tablo ekleyin: biri Türkçe kelimeler, diğeri İngilizce kelimeler için. Her tabloda iki sütun olmalı: kelime ve anlamı. Kelime sütunu anahtar sütun olmalıdır.

Veritabanına erişmek için, projeye bir OleDbConnection ve OleDbDataAdapter ekleyin. Bu nesneler, veritabanından veri almak ve veritabanına veri yazmak için kullanılacaktır.

ComboBox’a “Türkçe” ve “İngilizce” seçeneklerini ekleyin. Kullanıcının seçim yapmasına izin vermek için bu ComboBox’a DropDownStyle özelliğini “DropDownList” olarak ayarlayın.

TextBox’un içeriği değiştirildiğinde, program veritabanındaki kelime listesini arar ve Label’da sonuçları görüntüler. Bu işlem için TextBox’un TextChanged olayını kullanabilirsiniz.

Kullanıcının seçtiği dile göre, program doğru tabloya sorgu göndermelidir. Bu işlem için ComboBox’un SelectedIndexChanged olayını kullanabilirsiniz.

Veritabanı sorgusu için, TextBox’taki kelimeyi alın ve LIKE anahtar kelimesini kullanarak sorguyu oluşturun. Veritabanından dönen sonuçları bir DataSet nesnesinde depolayın ve sonuçları Label’da gösterin.

Veritabanı bağlantısını kapatmayı unutmayın.

Aşağıda kod örneği verilmiştir:

Imports System.Data.OleDb

Public Class Form1
    Private Sub TextBox1_TextChanged(sender As Object, e As EventArgs) Handles TextBox1.TextChanged
        'Kullanıcı kelime girer girmez arama işlemi başlar
        SearchDictionary()
    End Sub

    Private Sub ComboBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboBox1.SelectedIndexChanged
        'Dil seçimi değiştiğinde arama işlemi yenilenir
        SearchDictionary()
    End Sub

    Private Sub SearchDictionary()
        'Bağlantı dizesi
        Dim connectionString As String = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:myFoldermyAccessFile.accdb"

        'Sorgu ve parametreleri
Dim query As String = “SELECT anlam FROM turkish_words

Bu kod örneği için bir Microsoft Access veritabanı dosyası kullanacağız. İlk olarak, Form1 sınıfının üst kısmında bir OleDbConnection nesnesi oluşturmalıyız. Imports System.Data.OleDb eklemeyi de unutmayın.
vbnet
Private connection As New OleDbConnection(“Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:myFoldermyAccessFile.accdb”)
Bu örnekte, veritabanımızda iki tablo kullanacağız: “turkish_words” ve “english_words”. “turkish_words” tablosu Türkçe kelimeleri ve anlamlarını içerecek, “english_words” tablosu ise İngilizce kelimeleri ve anlamlarını içerecek.
İlk olarak, kelime aramak için SearchDictionary adında bir yöntem oluşturacağız. Bu yöntem, kullanıcının kelime aradığında veya dil seçimini değiştirdiğinde tetiklenecek.
Private Sub SearchDictionary()
‘Kullanıcının girdiği kelime
Dim searchTerm As String = TextBox1.Text

    'Seçilen dil
    Dim selectedLanguage As String = ComboBox1.SelectedItem.ToString()

    'Bağlantı açık değilse aç
    If connection.State <> ConnectionState.Open Then
        connection.Open()
    End If

    'Sorgu ve parametreleri
    Dim query As String = ""

    If selectedLanguage = "Turkish" Then
        query = "SELECT anlam FROM turkish_words WHERE kelime = @searchTerm"
    ElseIf selectedLanguage = "English" Then
        query = "SELECT meaning FROM english_words WHERE word = @searchTerm"
    End If

    Dim command As New OleDbCommand(query, connection)
    command.Parameters.AddWithValue("@searchTerm", searchTerm)

    'Sorguyu çalıştır ve sonuçları al
    Dim reader As OleDbDataReader = command.ExecuteReader()

    'Sonuçları ekrana yazdır
    If reader.HasRows Then
        While reader.Read()
            ListBox1.Items.Add(reader.GetString(0))
        End While
    Else
        ListBox1.Items.Add("No results found.")
    End If

    'Bağlantıyı kapat
    reader.Close()
    connection.Close()
End Sub

Bu yöntem, kullanıcının girdiği kelimeyi ve seçilen dili alır. Ardından, doğru sorguyu ve parametreleri oluşturur. Sorguyu çalıştırır ve sonuçları ekrana yazdırır. OleDbDataReader nesnesi kullanarak verileri okuruz. Daha sonra bağlantıyı kapatırız.
Form1_Load olayına aşağıdaki kodları ekleyelim:
vbnet
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    ‘Varsayılan olarak Türkçe seçili olsun
    ComboBox1.SelectedIndex = 0
End Sub
Form1_Load olayı, form yüklendiğinde çalışacak olan olaydır. Bu durumda, ComboBox1 öğesinin varsayılan olarak Türkçe olarak ayarlanmasını sağlar.
Son olarak, formtasarımı oluşturulduktan sonra kodlar yazılarak programın işlevselliği sağlanır. Form tasarımı için gerekli nesneleri (TextBox, ComboBox, Label, vb.) arayüze sürükle-bırak yöntemiyle ekleyebilirsiniz. Ayrıca, veritabanı dosyasının yerini ve adını uygun şekilde güncellemelisiniz.
Kodlar yazıldıktan sonra program çalıştırıldığında, kullanıcılar arama kutusuna Türkçe ya da İngilizce bir kelime girerler ve hangi dilden arama yapacaklarını seçerler. Ardından, program veritabanındaki sözlük verilerini arar ve sonuçları kullanıcıya gösterir. Bu örnek programın geliştirilmesi için birçok farklı özellik eklenebilir, örneğin, kelime ekleme, düzenleme ve silme işlemleri, sesli okuma özelliği, kelime öneri sistemi vb.
Programın doğru çalışması için veritabanı dosyasının doğru bir şekilde oluşturulması ve veri tabanı bağlantı dizesinin düzgün bir şekilde yazılması gerekmektedir. Ayrıca, programın hızlı bir şekilde arama yapabilmesi için veri tabanındaki kayıtların doğru bir şekilde indekslenmesi de önemlidir.

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir