Görsel Programlama (Güz-2016) Hafta-4-2
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace ornek1 { public partial class Form1 : Form { public Form1() { InitializeComponent(); cbliste.Text = "Seçiniz"; } private void bekle_Click(object sender, EventArgs e) { if (tyeni.Text.Length > 0) // metin kutusu icerigi sifir karakterden fazla mi? { cbliste.Items.Add(tyeni.Text); // metin kutusundaki bilgiyi listeye ekle tyeni.Clear(); //metin kutusunu temizle } cbliste.Text = "Seçiniz"; } private void bsil_Click(object sender, EventArgs e) { int secilen = cbliste.SelectedIndex; if (secilen > -1) cbliste.Items.RemoveAt(secilen); cbliste.Text = "Seçiniz"; } private void bgoster_Click(object sender, EventArgs e) { if (cbliste.SelectedIndex > -1) // listeden secili elemanin indis bilgisi, listeden secilmemis ise -1 { // MessageBox.Show(cbliste.SelectedIndex + " ) "+cbliste.Text); MessageBox.Show(cbliste.SelectedIndex + " ) " + cbliste.Items[cbliste.SelectedIndex]); } } } }
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace ornek2 { public partial class Form1 : Form { string[] iller = { "Adana", "Ankara", "Hatay" }; string[,] ilceler = new string[3, 3]; public Form1() { InitializeComponent(); ilceler[0, 0] = "Seyhan"; ilceler[0, 1] = "Ceyhan"; ilceler[0, 2] = "Çukurova"; ilceler[1, 0] = "Keçiören"; ilceler[1, 1] = "Kızılay"; ilceler[1, 2] = "Bahçelievler"; ilceler[2, 0] = "Antakya"; ilceler[2, 1] = "Arsuz"; ilceler[2, 2] = "İskenderun"; for (int i = 0; i < iller.Length; i++) cbil.Items.Add(iller[i]); cbil.Text = "Seçiniz"; cbilce.Text = "Seçiniz"; } private void bgetir_Click(object sender, EventArgs e) { int secilen = cbil.SelectedIndex; if (secilen > -1) { cbilce.Items.Clear(); // ilce listesi silindi cbilce.Text = "Seçiniz"; int elemansay = ilceler.GetLength(1); for (int i = 0; i < elemansay; i++) { cbilce.Items.Add(ilceler[secilen,i]); } } } private void bgoster_Click(object sender, EventArgs e) { if (cbil.SelectedIndex > -1 && cbilce.SelectedIndex > -1) { MessageBox.Show(cbil.Items[cbil.SelectedIndex] + "--" + cbilce.Items[cbilce.SelectedIndex]); } } } }
1-)Form1(){} altında tanıtmak ile bir üstte tanıtmak arasında ne fark var?
2-)string tanımlarken kullanılan virgül (string[,]) dizinin 2 boyutlu olduğunu mu ifade ediyor.
string[] iller = { “Adana”, “Ankara”, “Hatay” };
string[,] ilceler = new string[3, 3];
3-)int elemanSay = ilceler.GetLength(1); buradaki getLength(1) ne oluyor? İçine neden 1 yazıldı?
Şimdiden teşekkür ederim ilginiz için.
Galiba Form1(){} in altında tanımlarsak global olmuyor ve başka bir yerde kullanamıyoruz ama bu form1 ne oluyor peki? Sadece program başladığında 1 kere çalıştırılan bir fonksiyon mu acaba?
Fonksiyon içerisine tanımlanan tüm değişkenler yereldir. Bir değişkenin global olabilmesi için sınıfın içerisinde fonksiyonun dışında tanımlı olmalıdır. Sınıf ismi ile aynı olan ve geri dönüş tipi tanımlanmamış fonksiyonlara yapılandırıcı adı verilir. Nesne türetilirken çağrılan fonksiyondur. Dolayısıyla her nesne türetilirken bir kez çağrılabilir. Form1 frm = new Form1() gibi.
ilk sorunun cevabını önceki gönderide yazdım. ikinci soruya gelecek olursak bahsi geçen virgül boyut bilgisine karşılık gelir. burada yapımız iki boyutlu bir matristir. üçüncü sorunun cevabı ise şöyle, önceki açıklamamda boyut bilgisinden bahsetmiştim. iki boyutlu bir matris için boyutlar satır ve sütun olarak isimlendirilebilir. sonuç olarak bu boyutları alabilmek için de buna uygun bir fonksiyona ihtiyaç var. buradaki 1 bilgisi hangi boyutun uzunluğunu alınmak isteniyorsa onun indisini temsil eder. 0=>satir, 1=>sütun.