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:
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:
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
'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()
