Bu otomasyonda 4 seçenek oLacaktır (Tabi siz arttırabiLirsiniz)
1. Kitap Kaydı Yap
2. Kitap Sil
3. Kitap Ara
4. Öğrenci İşLemLeri
Her bir seçenek için ayrı ayrı Form oLuşturarak yapmaya çaLışacağım.
Bunun için:
Resimdeki gibi Add yaparak Windows Form a tıklayınca önümüze bi pencere geLecektir.
Buradan Windows Form seçiLip Add yaparak yeni Form oLuşturuLacaktır.
Bizim programımızda 4 seçenek var ve bu 4 seçenek iLk başta geLen pencerede gösteriLecektir. Yani Her bir seçenek için ayrı birer form daha oLuşturmamız gerekiyor ve topLamda 5 tane Form oLması gerekiyor. Yukardaki işLemLeri tekrarLayarak bu FormLarı oLuşturaLım.
Resimdeki görüntüyü eLde edebiLdiyseniz Bu işLem tamamdır.
Şimdi Form1 de çaLışmamıza devam edeLim.
Sayfamıza resimdeki tooLbox penceresinden 4 tane buton çekip bırakaLım ve SeçenekLerimizi butona yazaLım. Bu işLemi de butona tıkLayarak sağdaki Properties aLtından Text yazısını değiştirerek yapaLım.
Bu işLemLeri yaptık ve iLk açıLan penceremizi oLuşturduk.
Şimdi diğer formLarı yapaLım. Diğer formLarı Resim oLarak veriyorum Siz Kendi isteğinize göre yapın.
TextBox'Ların etrafındaki kırmızı yazıLar TextBox isimLerini (name) Göstermektedir.
İsimLeri bunLara göre yaparsanız KodLarı verdiğimde sıkıntı yaşamazsınız.
Şimdi KodLamaLara geLeLeLim. iLk önce Ana penceremizi (Form1) açaLım ve pencerenin boş bir yerine çift tıkLayarak Form1 in Load (yükLenirken) ÇaLıştırıLacak iLk kodLarı yazaLım ama öncesinde Bu programda DosyaLama işLemi yapacağımız için c sharp'ın dosyaLama özeLLiğini aktifLeştirmemiz gerekiyor.
Bunun için:
Resimdeki Gibi Kod aLanının üst tarafındaki yere using System.IO; Yazıyoruz ve dosyaLama özeLLikLeri açılmış oLuyor.
Şimdi Form1_Load kısmına geLip iLk önce şu kodLarı yazıyoruz.
StreamWriter sw;
sw = File.AppendText("kayitlar.txt");
sw.Close();
Kodumuzda bir .txt (not defteri) oLuşturuyoruz. Burda File.AppendText yerine File.CreateText te oLabiLirdi ancak CreateText Her seferinde yeni bir txt dosyası oLuşturur. Yani önceden varsada o dosya onu siLip (içinde biLgiLer varsa onLarıda siLer) yeni boş bir txt dosyası oLuşturur. Ancak AppendText O isimdeki dosya yoksa oLuşturur Varsa zati var deyip dosyanızın sadece adresini tanımLamış oLursunuz.
Form1_Load kısmındaki işLemimiz şimdiLik bu kadar. Tekrar Form1'in görseLine geçip 'Kitap Kaydı Yap' Butonuna çift tıkLayarak Bu butonun Click oLayLarını düzenLeyeLim.
Burada isteniLen şey Kitap Kayıt Sayfasına geçmektir. TıkLanınca Form2 açıLacak ancak diğer Form1 sayfasının görünmemesi Lazım. Bunun için internetten araştırdığım bir Kod var.
Form1.ActiveForm.Hide();
Form2 frm2 = new Form2();
frm2.ShowDialog();
Form1 frm1 = new Form1();
frm1.Visible = true;
Bu kodLarı Kayit Yap Butonunun click özeLLiğine yapıştırın ve diğer butonLara da tek tek tıkLayıp SırasıyLa yapıştırın ve 'Form2 frm2 = new Form2();' deki 'Form2'Lerin yerine sırasıyLa formLarın isimLerini (Form3, Form4 gibi) yazınız.
Bu işLemLeri yaptıktan sonra çaLıştırıp deneyiniz. Eğer ButonLarın hepsine tek tek TıkLayınca Ana pencere kapanıp yeni pencere açıLıyor ve yeni pencereyi kapadığınızda ana pencere açıLıyorsa işLemimiz tamamdır. Şimdi Diğer Form'Lara geçebiLiriz.
Şimdi Kitap Kaydı işLemini yapacağımız Form'a.
Burada Form_Load kod böLümünde bir işLeme gerek yoktur. İşLemimizi sadece butona tıkLayınca yapacağımız için 'Kayıt Yap' butonundan bütün işLemLerimizi yapaLım. Kayıt Yap butonuna çift tıkLayıp Click özeLLiğine (event) geçeLim.
Burada kodLarımızı direk yapıştıraLım.
StreamWriter sw;
sw = File.AppendText("kayitlar.txt");
if (KayitKitapAdiTextBox.Text != null && KayitYayinAdiTextBox.Text != null && KayitYazarAdiTextBox != null)
{
sw.WriteLine(KayitKitapAdiTextBox.Text + "," + KayitYazarAdiTextBox.Text + "," + KayitYayinAdiTextBox.Text);
MessageBox.Show("Kayıt BaşarıyLa YapıLdı");
}
else
{ MessageBox.Show("KutuLar boş bırakıLamaz"); }
sw.Close();
YapıLan iLk işLem 'yazma' oLayını ve kayıtçının adresini tanımLamak oLdu.
Daha sonrasında KutuLarın boş bırakıLıp bırakıLmadığını 'if' komutuyLa kontroL ettirdik.
Boş değiLse (if): YazıLan kitabı beLirLi parametreyLe (araLarına boşLuk oLmadan virgüL koyarak) not defterine yazdırdık. Bu parametre sizin isteğinize göre değiştirebiLirsiniz. Daha sonrasında da ekrana mesaj veriLdi.
Boş ise (else): Ekrana mesaj ver
Kaydın yapıLıp yapıLmadığını kontroL edebiLirsiniz. Programı kaydettiğiniz yerde /bin/debug/ kLasörü içinde kayitLar.txt dosyası oLuşturuLmuştur Bu dosyayı açarak girdiğiniz biLgiLerin orada oLduğunu göreceksiniz.
Şimdi Kitap SiL Form'una geLerek buradaki işLemLeri yapaLım.
Burada da sadece butona tıkLayınca işLem yapacağı için Butona çift tıkLayıp click özeLLiğine geçeLim ve kodLarımızı yazaLım.
StreamReader sr;
sr = File.OpenText("kayitlar.txt");
StreamWriter sw;
sw = File.AppendText("kayitlar2.txt");
string okundu;
okundu = sr.ReadLine();
string istenen = SilKitapAdiTextBox.Text + "," + SilYazarAdiTextBox.Text + "," + SilYayinAdiTextBox.Text;
if (SilKitapAdiTextBox.Text != null && SilYazarAdiTextBox.Text != null && SilYayinAdiTextBox.Text != null)
{
while(okundu!=null)
{
if (istenen!=okundu)
{
sw.WriteLine(okundu);
}
okundu = sr.ReadLine();
}
}
else
{
MessageBox.Show("KutuLar Boş BırakıLamaz");
}
sw.Close();
sr.Close();
File.Delete("kayitlar.txt");
File.Move("kayitlar2.txt","kayitlar.txt");
MessageBox.Show("BaşarıyLa SiLindi.");
Mantığımız siLinecek veriyi buLmak ve yeni bir dosya oLuşturup SiLinecek veri hariç Diğer veriLeri bu dosyaya kopyaLamak. Daha sonra önceki dosyayı siLip yeni dosyanın ismine önceki doyanın ismini vermek.
/////////
Son oLarak Kitap Ara Formumuzu açıyoruz ve buradada sadece cLick özeLLiği kuLLanıLacaktır.
Mantığımız Kitabın oLup oLmadığını kontroL ettirip Varsa 'VAR' Yoksa 'YOK' mesajını vermesini sağLamak.
char bayrak='0';
string istenen;
istenen = AraKitapAdiTextBox.Text + "," + AraYazarAdiTextBox.Text + "," + AraYayinAdiTextBox.Text;
string okundu="53";
while (okundu != null)
{
okundu = sr.ReadLine();
if (istenen == okundu)
{
bayrak = '1';
okundu = null;
}
}
if (bayrak == '1')
MessageBox.Show("Kütüphanemizde Bu Kitap Vardır. Okumanız Dileğiyle");
else
MessageBox.Show("Malesef Aradığınız Kitap BuLunmamaktadır.");
}
else
{
MessageBox.Show("Kutular Boş BırakıLamaz");
}
sr.Close();
Programımız ŞimdiLik bu kadardır.
Diğer 'Öğrenci İşLemLeri' Butonuna veya En son kaLan Form'a istediğiniz bir şey ekLeyebiLirsiniz(YetkiLi girişi, Bütün KitapLarı ListeLe vs.)
Bu konu hakkında şimdiLik bu kadar. EkLemeLer oLacaktır.
BaşarıLar...
ADamsun
YanıtlaSil