Merhaba sevgili arkadaslar,
Bu makalemizde basit bir mini sözlük yapmaya çalisacagiz.
Türkçe’den Ingilizce’ye, Ingilizce’den Türkçe’ye çeviri ve kelime ekleme islemlerinin yapilabilecegi bir c# windows form uygulamasi olan sözlügümüzün yapimi için öncelikle asagidaki su islemleri yapiyoruz;
Visual Studio’da "New Project" (CTRL N) ile yeni bir proje (WindowsFormsApplication) sayfasi açiyoruz. Adina da "Sozluk_CSharp_Yazilimcik_Com" diyoruz.
Bir "Metin Belgesi" yani Text formu olusturuyoruz. Adini da Form Uygulamamizin adiyla ayni olacak sekilde, "Sozluk_CSharp_Yazilimcik_Com.txt" yapiyoruz.
Olusturdugumuz metin belgesinin ("Sozluk_CSharp_Yazilimcik_Com.txt") içerisine alt alta gelecek sekilde Ingilizce ve Türkçe kelimeler yaziyoruz. (Ör: table: masa)(Not: Örnekte belirtildigi gibi önce Ingilizce kelime yazilir, ardindan ":" isareti konup bir bosluk birakilir ve Türkçe karsiligi yazilir.)
Bu islemlerden sonra "Sozluk_CSharp_Yazilimcik_Com.txt" dosyasi kaydedilir ve proje’de Debug klasörünün içerisine kopyalanir.(Uzantisi: Sozluk_CSharp_Yazilimcik_Com\Sozluk_CSharp_Yazilimcik_Com\bin
\Debug\Sozluk_CSharp_Yazilimcik_Com.txt)
 
Projemiz’e ekleyecegimiz kelimeler otomatik olarak bu "Sozluk_CSharp_Yazilimcik_Com.txt" dosyasina kaydedilecek, ve çevirisini yapmak istedigimiz kelimeler de yine bu "Sozluk_CSharp_Yazilimcik_Com.txt" dosyasindan okunacak.
Bundan sonrasi ise kodlamalardan ibaret. Dilerseniz lafi uzatmayalim ve sözlük uygulamamizin kodlarina geçelim. Proje’yi kodlarin en altinda bulunan linkten bilgisayariniza indirip inceleyebilirsiniz.
Hadi kolay gelsin.
// Türkçe - Ingilizce Sözlük | Ingilizce - Türkçe Sözlük | www.yazilimcik.com
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;
// Türkçe - Ingilizce Sözlük | Ingilizce - Türkçe Sözlük | www.yazilimcik.com
 
namespace Sozluk_CSharp_Yazilimcik_Com
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
string Ingilizce = "";
string Turkce = "";
string aranan = "";
string dosyaYolu = "";
string[] icerik = new string[0];
string[] trIcerik = new string[0];
string[] ingIcerik = new string[0];
string yol = Application.ExecutablePath;
private void Form1_Load(object sender, EventArgs e)
{
// Önce Proje’ye "Sozluk_CSharp_Yazilimcik_Com.txt" Dosyasi Eklenir:(txt Dosyasinin Adi, Proje Adiyla Ayni Olmalidir.)
int nokta = yol.LastIndexOf("."); // yol =Sozluk_CSharp_Yazilimcik_Com.EXE
dosyaYolu = yol.Substring(0, nokta) + ".txt";
icerik = File.ReadAllLines(dosyaYolu);
trIcerik = new string[icerik.Length];
ingIcerik = new string[icerik.Length];
for (int i = 0; i 
{
int index = icerik[i].IndexOf(":");
ingIcerik[i] = icerik[i].Substring(0, index);
trIcerik[i] = icerik[i].Substring(index);
trIcerik[i] = trIcerik[i].Replace(": ", "");
}
}
private void btnCevir_Click(object sender, EventArgs e)
{
aranan = txtKelime.Text;
if (aranan != string.Empty)
{
try
{
int index = Array.IndexOf(ingIcerik, aranan);
if (index != -1)
{
lblSonuc.Text = trIcerik[index].ToUpper();
}
else if (index == -1)
{
index = Array.IndexOf(trIcerik, aranan);
lblSonuc.Text = ingIcerik[index].ToUpper();
}
}
catch
{
DialogResult sonuc = MessageBox.Show(" ’ " + txtKelime.Text + "’ " + " Kelimesi Sözlük’te Bulunmamaktadir..!\nEklemek Istermisiniz..?", "HATA", MessageBoxButtons.YesNo,MessageBoxIcon.Stop, MessageBoxDefaultButton.Button2);
if (sonuc == DialogResult.Yes)
{
txtIngilizceKelime.Text = txtKelime.Text;
txtTurkceKelime.Focus();
}
else
{
txtKelime.Text = string.Empty;
txtKelime.Focus();
}
}
}
else
{
MessageBox.Show("Herhangi Bir Kelime Girmediniz..!","Bilgi", MessageBoxButtons.OK, MessageBoxIcon.Information);
lblSonuc.Text = string.Empty;
txtKelime.Focus();
}
}
private void txtKelime_MouseClick(object sender, MouseEventArgs e)
{
txtKelime.Text = "";
lblSonuc.Text = "";
}
private void btnEkle_Click(object sender, EventArgs e)
{
Ingilizce = txtIngilizceKelime.Text;
Turkce = txtTurkceKelime.Text;
string[] ingIcerik = new string[0];
icerik = File.ReadAllLines(dosyaYolu);
ingIcerik = new string[icerik.Length];
for (int i = 0; i 
{
int index = icerik[i].IndexOf(":");
ingIcerik[i] = icerik[i].Substring(0, index);
}
int bulunanIndex = 0;
bulunanIndex = Array.IndexOf(ingIcerik, Ingilizce);
if (Ingilizce != string.Empty && Turkce != string.Empty)
{
if (bulunanIndex > 0)
{
if (Ingilizce != ingIcerik[bulunanIndex].ToString())
{
string ing = Ingilizce.ToLower();
string tr = Turkce.ToLower();
string tamCumle = ing + ": " + tr;
string eskiIcerik = File.ReadAllText(dosyaYolu);
eskiIcerik = eskiIcerik + Environment.NewLine;
string yeniIcerik = eskiIcerik + tamCumle;
File.WriteAllText(dosyaYolu, yeniIcerik);
Ingilizce = "";
Turkce = "";
MessageBox.Show(" ’ " + txtIngilizceKelime.Text + " ’ " +" Kelimesi Sözlük’e Basariyla Eklendi..!", "Bilgi",MessageBoxButtons.OK, MessageBoxIcon.Information);
DialogResult sonuc = MessageBox.Show("Yeni Bir Kelime Eklemek Istermisiniz..?", "Bilgi", MessageBoxButtons.YesNo,MessageBoxIcon.Information, MessageBoxDefaultButton.Button2);
if (sonuc == DialogResult.Yes)
{
txtKelime.Text = string.Empty;
lblSonuc.Text = string.Empty;
txtIngilizceKelime.Text = string.Empty;
txtTurkceKelime.Text = string.Empty;
txtIngilizceKelime.Focus();
}
else
{
txtKelime.Text = string.Empty;
lblSonuc.Text = string.Empty;
txtIngilizceKelime.Text = string.Empty;
txtTurkceKelime.Text = string.Empty;
txtKelime.Focus();
}
}
else
{
MessageBox.Show(" ’ " + txtIngilizceKelime.Text + " ’ " +" Kelimesi Sözlük’te Zaten Mevcut..!\n\nLütfen Baska Bir KelimeGirin..!", "Bilgi", MessageBoxButtons.OK,MessageBoxIcon.Information);
txtIngilizceKelime.Text = string.Empty;
txtTurkceKelime.Text = string.Empty;
lblSonuc.Text = string.Empty;
txtKelime.Text = string.Empty;
txtIngilizceKelime.Focus();
}
}
else
{
string ing = Ingilizce.ToLower();
string tr = Turkce.ToLower();
string tamCumle = ing + ": " + tr;
string eskiIcerik = File.ReadAllText(dosyaYolu);
eskiIcerik = eskiIcerik + Environment.NewLine;
string yeniIcerik = eskiIcerik + tamCumle;
File.WriteAllText(dosyaYolu, yeniIcerik);
Ingilizce = "";
Turkce = "";
MessageBox.Show(" ’ " + txtIngilizceKelime.Text + " ’ " +" Kelimesi Sözlük’e Basariyla Eklendi..!", "Bilgi",MessageBoxButtons.OK, MessageBoxIcon.Information);
DialogResult sonuc = MessageBox.Show("Yeni Bir Kelime Eklemek Istermisiniz..?", "Bilgi", MessageBoxButtons.YesNo,MessageBoxIcon.Information, MessageBoxDefaultButton.Button2);
if (sonuc == DialogResult.Yes)
{
txtKelime.Text = string.Empty;
lblSonuc.Text = string.Empty;
txtIngilizceKelime.Text = string.Empty;
txtTurkceKelime.Text = string.Empty;
txtIngilizceKelime.Focus();
}
else
{
txtKelime.Text = string.Empty;
lblSonuc.Text = string.Empty;
txtIngilizceKelime.Text = string.Empty;
txtTurkceKelime.Text = string.Empty;
txtKelime.Focus();
}
}
}
else
{
MessageBox.Show("Ingilizce Kelime ve Türkçe KarsiliginiGirmediniz..!", "Bilgi", MessageBoxButtons.OK,MessageBoxIcon.Information);
txtIngilizceKelime.Text = string.Empty;
txtTurkceKelime.Text = string.Empty;
txtKelime.Text = string.Empty;
lblSonuc.Text = string.Empty;
txtIngilizceKelime.Focus();
}
}
private void txtKelime_KeyPress(object sender, KeyPressEventArgs e)
{
switch (e.KeyChar)
{
case ’a’:
case ’b’:
case ’c’:
case ’d’:
case ’e’:
case ’f’:
case ’g’:
case ’h’:
case ’i’:
case ’j’:
case ’k’:
case ’l’:
case ’m’:
case ’n’:
case ’o’:
case ’p’:
case ’q’:
case ’r’:
case ’s’:
case ’t’:
case ’u’:
case ’v’:
case ’y’:
case ’z’:
case ’x’:
case ’w’:
case ’ç’:
case ’g’:
case ’i’:
case ’ö’:
case ’ü’:
case ’s’:
case ’\a’:
case ’\b’:
case (char)Keys.Space:
case (char)Keys.Delete:
case (char)Keys.Enter:
case (char)3:
case (char)22:
case (char)24:
break;
default:
e.Handled = true;
break;
}
}
private void btnYeni_Click(object sender, EventArgs e)
{
txtKelime.Text = string.Empty;
txtIngilizceKelime.Text = string.Empty;
txtTurkceKelime.Text = string.Empty;
lblSonuc.Text = string.Empty;
txtKelime.Focus();
}
private void txtIngilizceKelime_KeyPress(object sender, KeyPressEventArgse)
{
switch (e.KeyChar)
{
case ’a’:
case ’b’:
case ’c’:
case ’d’:
case ’e’:
case ’f’:
case ’g’:
case ’h’:
case ’i’:
case ’j’:
case ’k’:
case ’l’:
case ’m’:
case ’n’:
case ’o’:
case ’p’:
case ’q’:
case ’r’:
case ’s’:
case ’t’:
case ’u’:
case ’v’:
case ’y’:
case ’z’:
case ’x’:
case ’w’:
case ’ç’:
case ’g’:
case ’i’:
case ’ö’:
case ’ü’:
case ’s’:
case ’\a’:
case ’\b’:
case (char)Keys.Space:
case (char)Keys.Delete:
case (char)Keys.Enter:
case (char)3:
case (char)22:
case (char)24:
break;
default:
e.Handled = true;
break;
}
}
// txtKelime’ye Kelime Girdikten Sonra ENTER Ile Button’u Çalistirma:
private void txtKelime_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter)
{
btnCevir_Click();
}
}
private void btnCevir_Click()
{
aranan = txtKelime.Text;
if (aranan != string.Empty)
{
try
{
int index = Array.IndexOf(ingIcerik, aranan);
if (index != -1)
{
lblSonuc.Text = trIcerik[index].ToUpper();
}
else if (index == -1)
{
index = Array.IndexOf(trIcerik, aranan);
lblSonuc.Text = ingIcerik[index].ToUpper();
}
}
catch
{
DialogResult sonuc = MessageBox.Show(" ’ " + txtKelime.Text + "’ " + " Kelimesi Sözlük’te Bulunmamaktadir..!\nEklemek Istermisiniz..?", "HATA", MessageBoxButtons.YesNo,MessageBoxIcon.Stop, MessageBoxDefaultButton.Button2);
if (sonuc == DialogResult.Yes)
{
lblSonuc.Text = string.Empty;
txtIngilizceKelime.Text = txtKelime.Text;
txtTurkceKelime.Focus();
}
else
{
txtKelime.Text = string.Empty;
lblSonuc.Text = string.Empty;
txtKelime.Focus();
}
}
}
else
{
MessageBox.Show("Herhangi Bir Kelime Girmediniz..!","Bilgi", MessageBoxButtons.OK, MessageBoxIcon.Information);
lblSonuc.Text = string.Empty;
txtKelime.Focus();
}
}
}
}
// Türkçe - Ingilizce Sözlük | Ingilizce - Türkçe Sözlük | www.yazilimcik.com
Uygulama’da Kullanilan Text ÖrnegiIçin Tiklayin