bilgiz.org

Çalıştırmak için neye ihtiyacımız var programlama dili seçerek kodlamaya değil mi?




Sayfa3/5
Tarih02.07.2017
Büyüklüğü425.5 Kb.

Indir 425.5 Kb.
1   2   3   4   5

Mantıksal ve Bit Düzeyinde (Logical and Bitwise) Operatörleri


Bu operatörler mantıksal işlemleri ve bit düzeyindeki işlemleri yapmak için kullanılırlar.

Operatör

Açıklama

&

Bit bazında ve işlemi

|

Bit bazında or işlemi

^

Bit bazında xor işlemi

!

Bit bazında not işlemi

&&

Mantıksal ve işlemi

||

Mantıksal or işlemi

Mantıksal operatörlerde;

Doğru ve Doğru = Doğru;

Doğru ve Yanlış = Yanlış;

Yanlış ve Doğru = Yanlış;

Yanlış ve Yanlış = Yanlış;

Doğru veya Doğru = Doğru;

Doğru veya Yanlış = Doğru;

Yanlış veya Doğru = Doğru;

Yanlış veya Yanlış = Yanlış;


6.çekim sonu (11.8.2015)

**************************************************

7.çekim

***********************
Değişken Tanımlama Blokları:

Program içinde kullanılan değişkenlerin mutlaka tanımlanmaları gerektiğini yukarıda söylemiştik.

Değişkenler kullanım amaçlarına göre aşağıdaki bloklarda tanımlanır.

  1. Yordam seviyesi (Procedure ya da alt program): Bir component’in(nesnenin) event(olay) ya da programcı tarafından oluşturulan bir alt program bloğunda tanımlanan değişkenler sadece o yordam (alt programda geçerlidir)

Örnek: Bir kişiye ait doğum yılı bilgisayara girilmektedir. Kişinin yaşını hesaplatıp, sonucu ekrana yazdıran programı hazırlayınız.

private void BtnHesap_Click(object sender, EventArgs e)

{

double yas;

yas = Convert.ToInt32(DateTime.Now.Year) - Convert.ToInt32(TxtDy.Text);

LblYas.Text ="Yaşı:" + Convert.ToString(yas);

}

Yas değişkeni sadece bu alt programda geçerlidir.


  1. Class seviyesi Bir class altında tanımlanan değişken o class a bağlı tüm alt programlarda geçerlidir. (Bir form üzerine alınan nesnelerin tüm olayları o formun alt programlarıdır- form bir class, olaylar ise bu class a bağlı alt programlardır)

Örnek: İki sayı girilmektedir. Bu iki sayıya isteğe göre dört işlem uygulatan ve sonucu bir label’a yazdıran programı hazırlayalım.

Not: Her bir işlem seçeneği için form üzerine button koyalım
namespace WinAppDortislem

{

public partial class Form1 : Form

{

double sonuc, A, B;


public Form1()

{

InitializeComponent();

}
private void BtnCarpma_Click(object sender, EventArgs e)

{

A = Convert.ToDouble(TxtSayi1.Text);

B = Convert.ToDouble(TxtSayi2.Text);

sonuc = A * B;

LblSonuc.Text = "Sayıların çarpım sonucu:" + sonuc;

}
private void BtnBolme_Click(object sender, EventArgs e)

{

A = Convert.ToDouble(TxtSayi1.Text);

B = Convert.ToDouble(TxtSayi2.Text);

sonuc = A / B;

LblSonuc.Text = "Sayıların bölüm sonucu:" + sonuc;

}
private void button1_Click(object sender, EventArgs e)

{

A = Convert.ToDouble(TxtSayi1.Text);

B= Convert.ToDouble(TxtSayi2.Text);

sonuc = A + B;

LblSonuc.Text = "Sayıların toplamı:" + sonuc;
}

private void BtnCikarma_Click(object sender, EventArgs e)

{

A = Convert.ToDouble(TxtSayi1.Text);

B = Convert.ToDouble(TxtSayi2.Text);

sonuc = A - B;

LblSonuc.Text = "Sayıların farkı:" + sonuc;

}
}

}


Class Seviyesinde Public değişken tanımlama: Bir form üzerindeki veriyi başka bir forma değişkenler vasıtasıyla taşımak için değişkenin class seviyesinde public static olarak tanımlanması gerekir.

Daha sonra taşınacak form dan bir nesne oluşturulur ve bu nesnenin show metodu ile bir sonraki forma geçilir

Geçilen form da veri alınırken gelen formun adı referans edilerek public değişkenle veri alınır

Örnek: Form1 de bir ad değişkenine textbox’tan veri girilsin, bu değişken form2 de label’a yazdırılsın

Form1’de:

public class Form1 : System.Windows.Forms.Form

{

public static string ad;

public Form1()

InitializeComponent();

}

private void button1_Click(object sender, System.EventArgs e)

{

ad=TxtVeri.Text;

Form2 frm2=new Form2();

frm2.Show();


}

Form2’de:

private void Form2_Load(object sender, System.EventArgs e)

{

label1.Text=Form1.ad;


}


Projeye Windows Form Ekleme:

Bir Windows uygulamasına form eklemek için;

  1. Solution Explorer bölümünde proje adı üzerinde Mouse sağ buton menüden; Add-Window Form,

  2. Solution Explorer bölümünde proje adı üzerinde Mouse sağ buton menüden; Add-New Item seçeneğinden Windows Form

  3. Ctrl + Shift +A tuş bileşenleriyle

  4. Project menüsü altında Add Windows Form seçeneğinden eklenebilir.

Projeye Dışardan Form Ekleme:

1- Herhangi bir projede olan bir formu projeye eklemek için oluşan üç uzantılı dosyaları proje klasörüne öncelikle kopyalamak gerekir. (cs, Designer.cs, resx)

2- Proje vs.net de açılır.

3- Solution Explorer bölümündeki araç çubuğundan Show All Files butonu tıklanarak tüm item ların görüntülenmesi sağlanır

4- Bu dosya seçilir ve sağ Mouse menüden “inculde in Project “ seçeneği seçilerek bu form projeye dahil edilir. Daha sonra adı değiştirilir. Ve kod penceresine geçilerek class adı da değiştirilir.

Projeye içinde form çoğaltma:

1- Solution Explorer bölümünde çoğaltılacak form seçilir

2- Formun sağ Mouse menüsünden copy seçilir

3- Proje üzerine gelinir ve past seçeneği seçilir.

4- Kopyalanan formun adı default olarak “Formun önceki adı –Copy.cs” olarak oluşur. Bu formun üzerindeyken, “Rename” seçeneği seçilerek formun adı değiştirilir.

5- Formun kod kısmına geçilerek, class adı da değiştirilir.

Başlangıç Formu (Start-Up Form) Ayarı

Uygulamanız içinde birden fazla form mevcut ise bunlardan birini başlangıç formu

olarak ayarlamalısınız. Başlangıç formu, uygulamanızın ilk çalıştığı anda karşınıza gelen

formdur. Hangi formun başlangıçta ekrana gelmesini istiyorsanız, Solution Explorer içindeki item’lardan “Program.cs” kodu içindeki, Main () metodunda, o

formun adını yazmalısınız. Örnek:

static void Main()

{

Application.Run(new Form2());

}

NOT: Main metodu içinde default olarak gelen diğer satırların anlamı:

  • Application.EnableVisualStyles(): Uygulama için görsel stiller

  • Application.SetCompatibleTextRenderingDefault(false): Windows Forms denetimleri arasında görsel uyumluluk kapalı anlamındadır

Formun başlama anındaki pozisyonunu ayarlamak

Hazırlanan formun ekrana ilk geliş ayarı yapılabilir. Bunun için ilgili form seçildikten

Sonra, properties-Start Position’dan ilgili ayar seçilir.

Manual: Form, Location (yer) özelliğinde belirtilen koordinatlar da ekrana gelir.

Center Screen: Ekrana ortalanmış olarak gelir.

WindowsDefaultLocation: Windows’un mevcut koordinatlarına göre ekrana gelir.

WindowsDefaultBounds: Var olan koordinatlar ve mevcut ekran çözünürlüğüne göre

ekrana gelir.

CenterParent: Ana formun ortasına denk gelecek şekilde ekrana gelir.
Formlar arası Geçiş ve veri taşıma C# .Net Windows formları arasında geçiş ve veri taşıma aşağıdaki gibi olur.

İlk Form da ;

Gidilecek formdan bir nesne oluşturulur, bu nesnenin show metodu ile sonraki forma gidilir. Örnek:

Form1 de:

Form2 frm2=new Form2();

frm2.Show();
Form1 den form2 ye veri taşımak için de; verileri taşıyacak değişkenler class seviyesinde public statik declere komutlarıyla tanımlaır. Gidilen formdan da bu veriler gelen formun adı declere edilerek alınır. Örnek:

Form1 de:

public class Form1 : System.Windows.Forms.Form

{

public static string ad;

public Form1()

InitializeComponent();

}

private void button1_Click(object sender, System.EventArgs e)

{

ad=TxtVeri.Text;

Form2 frm2=new Form2();

frm2.Show();


}
Form2’de:

private void Form2_Load(object sender, System.EventArgs e)

{

label1.Text=Form1.ad;

}

NOT: Bir sonraki form çağrılırken üzerinde bulunulan formunda kapatılması için ;

This.Hide(); satırı yazılmalıdır.
8. çekim

****************
İf- else ve Switch case şart ifadeleri: Program içinde şartlı ifadeler için kullanılan komutlardır.

Örnek: Girilen bir sayının tek ya da çift olduğunu buldurup, Label’a yazdıralım

private void button1_Click(object sender, System.EventArgs e)

{

int sayi,sonuc;

sayi=Convert.ToInt32(TxtSayi.Text);

sonuc=sayi % 2;//yandaki işlemde sayinin 2 ye bölümünde kalan bulunur

if (sonuc==0)

{

LblSonuc.Text=Convert.ToInt32(sayi) + " Bir çift sayıdır";

}

else

{

LblSonuc.Text=Convert.ToInt32(sayi) + " Bir Tek sayıdır";

}

Koşullu cümlelerde;

  • İf ifadesiyle yazılan koşul () içinde yazılır, şart sağlandığında gerçekleşecek işlemler ise küme parantezi {} içinde yazılır.

  • Şart sağlanmazsa else den sonraki işlemler gerçekleşir. Bu işlemlerde yine {} küme parantezleri içinde yazılır ve her işlemden sonra ; konulur.

Örnek: Girilen bir sayının negatif, pozitif ya da 0 olup olmadığını bulmak

private void button3_Click(object sender, System.EventArgs e)

{

sayi=Convert.ToInt32(TxtSayi.Text);

sonuc=Math.Sign(sayi);//yandaki işlemde sayinin mutlak değeri bulunur

if (sonuc==-1)

{

LblSonuc.Text=Convert.ToInt32(sayi) + " Negatif bir sayıdır";

}

else if (sonuc==1)

{

LblSonuc.Text=Convert.ToInt32(sayi) + " Pozitif bir sayıdır";

}

else

{

LblSonuc.Text=" sayı 0 dır.";

}

}

NOT: if ifadesinden sonra tek bir satır yazılacaksa küme parantezi {} açmaya gerek yok. Ancak satırın sonuna mutlaka ; işareti konulmalı.

Örnek:

İf (gun==5)

Gunadi=”Cuma”;
Else if (gun==6)

Gunadi=”Cumartesi”;


İf değiminde birden fazla şart varsa:

Şartlı ifadelerde birden fazla şart varsa şartlar arasında ve için (&&) işaretleri, veya için (||) işaretleri kullanılır.

Örnek:Bir satış firmasında çalışan satış elemanlarına yıllık satış miktarları üzerinden prim verilmektedir. Verilen prim aşağıdaki kriterlere uygun şekilde hesaplanmaktadır.

  • Eğer satış elemanı evli ve yıllık satış miktarı da 10000 TL nin üzerindeyse %25

  • Eğer satış elemanı evli ve yıllık satış miktarı da 10000 TL nin altındaysa %20

  • Eğer satış elemanı bekar ve yıllık satış miktarı da 10000 TL nin üzerindeyse %15

  • Eğer satış elemanı bekar ve yıllık satış miktarı da 10000 TL nin altındaysa %10



if (mdh == 1 && tps >10000)

{

prm =tps * 0.25;

}
if (mdh == 1 && tps <10000)

{

prm =tps * 0.20;

}

if (mdh == 2 && tps >10000)

{

prm =tps * 0.15;

}

if (mdh == 2 && tps<10000)

{

prm =tps * 0.10;

}


Switch/Case kontrol komutları: Verilen bir değere göre birden fazla işlem gerçekleşecekse her seferinde if kontrolü yerine bu iki komut kullanılabilir. Örnek: Plaka kodu girilen illerin adlarını yazdıran program

private void button4_Click(object sender, System.EventArgs e)

{

int plaka;

plaka=Convert.ToInt32(TxtPlaka.Text);

switch(plaka)

{

case 6:

LblSonuc.Text="Ankara";

break;

case 34:
LblSonuc.Text="İstanbul";

break;

case 35:

LblSonuc.Text="İzmir";

break;

case 1:

LblSonuc.Text="Adana";

break;

default:

LblSonuc.Text="Değer girilmemiş";

break;

}

}

KONTROLLERİN KULLANIMI

TextBox Özelliklerini Kullanma

Bu özellik TextBox’a (metin kutusu) girilebilecek maksimum karakter sayısını belirler. Eğer belirtilen sayıdan fazla karakter girişi yapılırsa program buna izin vermez ve kullanıcıyı uyarır. Bu özellik posta kodu gibi, her zaman karakter sayısı belli olan alanlar için kullanılır.

  • PasswordChar Özelliğini Kullanmak

Çalışma anında herhangi bir metin kutusuna girdiğiniz verileri gizler. Buradaki karakteri “*” (asteriks) olarak ayarlarsanız, kullanıcının girdiği veri hangi karakterlerden oluşursa oluşsun, metin kutusuna “*” karakterini basar. Bu özellik genelde, parola bilgisi istenen yerlerde kullanılır. Burada “*” karakteri yerine başka karakterler de kullanabilirsiniz.

  • ReadOnly Özelliğini Ayarlamak

Bu özellikle, kullanıcının metin kutusundan bulunan veriyi değiştirip değiştiremeyeğini belirleyebiliriz. Şayet bu özellik “true” ise, kullanıcı buradaki veriyi değiştiremez. False ise, normal düzenleme yapabilir.

  • MultiLine Özelliğini Kullanmak

Metin kutusunda birden fazla satır kullanılıp kullanılmayacağını belirler. Şayet özelliği true ise, kullanıcı metin kutusuna birden fazla satır bilgi girebilir ve program sığmayan karakterleri satır başına otomatik olarak atar.

Radio Button Kullanımı

Radio butonların işaretli olup olmadığını kontrol için;

if (Rdb3.Checked)

cns = 1;-> Eğer Rdb3 işaretliyse cns değişkenine 1 aktar

Radio butonların işaretinin true ya da false edilmesi için;

Rdb1.Checked = false;

Rdb2.Checked = True;
Checkbox Kullanımı

  • Bu nesnenin değerini almak için CheckedChanged olayına kod yazmak gerekiyor

  • Nesnenin seçili olup olmadığını kontrol için örnekteki kod kullanılır. Örnek:

if (ChkHb2.Checked == true)

MessageBox.Show("Spor");
DateTimePicker Kullanımı:

  • Formatını değiştirmek için properties den Format seçenekleir kullanılır. (örnek: Short seçeneği sadece tarih seçmemizi sağlar)

  • Bu nesnenin seçili değerini text metoduyla alabilirsiniz. (örnek: TxtBox1.Text=DateTimePicker.Text)

  • Bu nesnenin seçilen değerini almak için kullanılan event(olayı) ise; ValueChanged dır.

  • Bu nesneden ay,gün ya da yıl verisi almak için önce nesnenin DateTime tipine çevrilmesi gerekir, daha sonra alınan bu verinin kullanılacağı yere göre yeniden tür convert i yapılması gerekiyor. (örnek:alınan tarihin yıl kısmını texte aktarmak için:TxtYil.text=Convert.ToString(Convert.ToDateTime(Dtp1.Text).Year);

ComboBox Kullanımı:

  • Bu nesneye satırlar eklemek için iki yöntem vardır:

  • 1- Properties’den, item (Collection) kullanılarak

  • 2- Formun Load olayında ; ComboBox1.Items.Add ("Ankara"); örneğinde olduğu gibi

  • Bu nesnenin seçilen değerini almak için, SelectedIndexChanged olayında işlem yapılır. Örnek: MessageBox.Show(Combo_il.Text);

  • Nesnenin ilk defa form yüklendiğinde alacağı değer örnekte gösterilmiştir. Örnek: Combo_il.SelectedText = "----İl Seçiniz----";

  • Seçili satırın kaçıncı satır olduğunu bulmak için örnekteki gibi işlem yapılır. Örnek: MessageBox.Show(Convert.ToString(Combo_il.SelectedIndex));

  • NOT: index numaraları 0’dan başlar. Dolayısıyla alınan değerin kullanılacağı yere göre convert edilmesi gerekiyor

  • Eğer combo nun seçilmiş değerini almak istiyorsak text metodunu kullanmak gerekir. SelectedText metodu ile ancak combonun SelectedIndexChanged olayında değer alabiliriz

  • Combox içindeki tüm satırları silmek için; comboBox1.Items.Clear(); örnek kodu yazılabilir.

  • string line;
    StreamReader file = new StreamReader("C:\\Users\\ertem\\Desktop\\a.txt");
    while ((line = file.ReadLine()) != null)
    {
    comboBox1.Items.Add(line);
    }
    file.Close(); (Bir dosya içindeki satırların eklenmesi)


ListBox Kullanımı:

  • Bu nesneye satırlar eklemek için iki yöntem vardır:

  • 1- Properties’den, item (Collection) kullanılarak

  • 2- Formun Load olayında ; ListBox1.Items.Add ("Ankara"); örneğinde olduğu gibi

Bu nesnenin seçilen değerini almak için, SelectedIndexChanged olayında işlem yapılır. Örnek: private void ListBox1_SelectedIndexChanged(object sender, EventArgs e)

{

if (lstb1.SelectedIndex == 0)

LblGor.Text = "Administrator";

}

TabControl Kullanımı:

  • Bu nesne bir “Containers” grubudur

  • Sekmelerin adını değiştirmek ve sayısını artırmak için properties penceresinden “item-collection” bölümü kullanılır

  • Her bir sekme üzerinde ayrı tasarım ve işler yapılır.

  • Bu kontrölün hangi tabının işlem gördüğünü anlamak için tab sekmesinin “selectedİndex” metotu kontrol edilir. Örnek:

if (Tbc1.SelectedIndex == 0 && TxtAds.Text == "")
MessageBox.Show("Lütfen Öğrenci bilgi girişi yapınız");

else if (Tbc1.SelectedIndex == 1 && TxtAds2.Text == "")

MessageBox.Show("Lütfen Öğretim Görevlisi bilgi girişi yapınız");

else

{

Tbc1.Visible = false;

Pnl1.Visible = true;

}

MenuStrip öğesiyle Menü oluşturma

  • ToolBox (Menues & ToolBars) Grubu içinde MenuStrip nesnesi forma alınır

  • Alındığında Nesnenin sol üst köşesinde “Type Here” kutucuğuna menü adı yazılır

  • Kutucuğa tıklandığında hemen sağında yine aynı default kutucuk oluşur. Böylece sırasıyla menüler yazılır

  • Alt Menü eklemek için; Üst menü üzerindeyken hemen altında menü ekleme kutucuğu açılır, buradan ekleme yapılabilir. Ya da Üst menü üzerindeyken Mouse sağ buton ile açılan listeden “Edit DropDownItem…” seçeneği ile gelen ileti kutusundan add butonu tıklanarak alt menüler açılır. Bu eklemelerde ileti kutusunun sağ tarafında menü gelir istendiğinde bu menüden düzenlemeler yapılabilir

  • Bir menünün sol yanına (alt menüyse üstüne) yeni bir menü eklemek için Mouse sağ butondan “insert-MenuItem” seçilir. Alt menü eklemek için de yine Mouse sağ menüden listeden “Edit DropDownItem…” seçeneği seçilir.

  • Menülere kısayol tuşları eklemek için: Üst menü üzerindeyken; Mouse sağ menü seçeneklerinden listeden “Edit DropDownItem…” seçilir ve gelen ileti kutusunun sağında bulunan properties penceresinde “ShortcutKeys” seçeneğinde açılan seçeneklerden seçim yapılır. Kısayol eklenecek menü üzerindeyken; zaten properties penceresinde seçili menü özellikleri olacağından buradan yine “ShortcutKeys” seçeneğinde açılan seçeneklerden seçim yapılır
1   2   3   4   5






    Ana sayfa


Çalıştırmak için neye ihtiyacımız var programlama dili seçerek kodlamaya değil mi?

Indir 425.5 Kb.