Visual Studio 2010.Net C# Programa giriş ve Çalıştırma. Program Çalışması

Ebat: px
Şu sayfadan göstermeyi başlat:

Download "Visual Studio 2010.Net C# Programa giriş ve Çalıştırma. Program Çalışması"

Transkript

1 Programa giriş ve Çalıştırma Program Çalışması 2

2 -- Bu exe file her Windows makineda eskiden olduğu gibi çalışmaz. Mutlaka.net yüklü olmalıdır. 3

3 Mesaj Verme (Messagebox.Show) ve kütüphane Ekleme ( using ) 1. yöntem: 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; namespace WindowsFormsApplication1 public partial class Form1 : System.Windows.Forms.Form public Form1() InitializeComponent(); private void button1_click(object sender, EventArgs e) System.Windows.Forms.MessageBox.Show("lutfen isimleri boş bırakmayınız "); II.Yöntem; 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; namespace WindowsFormsApplication1 public partial class Form1 : Form public Form1() 4

4 InitializeComponent(); private void button1_click(object sender, EventArgs e) MessageBox.Show("lutfen isimleri boş bırakmayınız "); Kodlamada Açıklama Kullanma Bir satır : // Çoklu satır : /* */ private void button2_click(object sender, System.EventArgs e) // mesaj kullanma /* *********************************************** ******** using ile kutuphane ekleme ****** ********* ve normal kullanım ****** */ MessageBox.Show("lutfen isimleri boş bırakmayınız"); 5

5 Kod komutlarını kolay yazma Boş satırda control space : Bütün kod komutları gelir Bir iki harf yazıp control space : Baglantılı kod komutları gelir Bir komut yazdıktan sonra. yazma : Baglantılı diğer komutlar gelir. Penceredeki komutlara Mouse, ok veya tab tuşu ile gelerek; enter veya tab tuşuna basarız. Using siz kullanımda nokta aktif olur. System.Windows.Forms.MessageBox.Show("faruk"); MessageBox.Show("ahmet"); - aktif olur - aktif olmaz Komutların ilk harfi küçük yazılmasında : Küçük olarak yazılırsa control-space ile yinede komutlar gelir. Tab veya Enter yuşu ile ilk harf büyütülmüş hale gelir. 6

6 Pencereler Properties : forms,button,texbox gibi objelerin özelliklerini değiştirme Events : Mouse a tıklayınca,uzerine gidince veya enter a basınca işlem yapma Toolbox : button, textbox gibi objeleri ekleme Solution : soluşın,proje ve forms kontrolu Server Explorer : Sql Server ile baglantı menusu Task list : Run veya derlemede hatalı satırları görme Araç Cubukları ( View-Toolbars ile gelir. Standart, Text Editor gibi) : Pencereleri getirme 7

7 Events Kullanma 8

8 Form, Code,Sqlserver baglantı, form butonları penceresini getirme Yapılmış bir projeye girdiğimizde bu ekranlar gelmeyebilir. Veya biz yanlışlıkla silmiş olabiliriz. 9

9 Program yazma yöntemleri Textbox bir objenin dış rengini değiştirme 1) Properties penceresinden 2) Kod yazma ile private void button1_click(object sender, EventArgs e) textbox1.backcolor = Color.Red; Textbox bir objenin Ekranda gözükmemesi Kod yazma ile private void button1_click(object sender, EventArgs e) textbox1.visible= false; 10

10 Değişkenler Tamsayı Değişkenler Aldıgı sayı aralığı Açıklama byte byte x ; byte y=100; sbyte sbyte x; sbyle y= -110; short sbyte x; sbyle y= -3200; ushort sbyte x; sbyle y= 2000; int ( sbyte x; sbyle y= ; uint sbyte x; sbyle y= ; Real Sayı değişkenler float Normal real sayı tipi sbyte x; sbyle y= ; Double Geniş real sayı tipi sbyte x; sbyle y= ; Long Çokgeniş sayı tipi sbyte x; sbyle y= ; Alfasal değişkenler string string adres; string adi= Faruk ; bool True ve false tipidir Bool medeni; Bool erkek=true; Özellikler Değişkenleri bir veya birden fazla arasına virgül koyarak tanımlayabilir.direk normal veya sabit giriş yapabilir String degerler cift tırnak arasında yazılır.. noktalı virgül ile işlem satırın bitişini saglarız. ; deger aktarma delphi de iki nokta ve eşittir ( := ).Burada ise sadece eşittir ( = ) kullanılır. Matematiksel işlemlerde Math.Pow kullanılır.sayıyı kendisiyle çarpar.. int ucret=10; MessageBox.Show(Math.Pow(ucret,1).ToString()); // 10 MessageBox.Show(Math.Pow(ucret,2).ToString()); // 100 MessageBox.Show(Math.Pow(ucret,3).ToString()); // 1000 const double pi=3.14; -- sabit tanımlama int yas=25; -- direk tanımlayıp giriş String ulke= Türkiye ; 11

11 int a; int b,c; -- iki değişken tanımlama string adi,soyad,adres; - iki değişken tanımlama double net; Real değişken tanımlama String t="100"; b=convert.toint32(textbox1.text); // standart integer a cevirme net=a+double.parse(t); // real sayı için cevirme b=a+int.parse(t); // integer için cevirme textbox4.text=a.tostring(); // string e cevirme b=convert.todouble(textbox1.text); // Real Sayıya cevirme adres=" Kervansaray mah. Dogs evleri E blok";//string deger giriş 12

12 Uygulamalar Textbox1.text değişkeni integer a cevrim yaparak a sayısı ve 5 ile toplama ve toplam degerin textbox4.text te yazılması ve mesaj olarak verilmesi. Đnteger sayının textbox4 te veya messagebox ile yazılması için string dönüşmesi gereklidir. MessageBox.Show(b.ToString()); Messagebox ta birden fazla alfasal degişkeni yazdırma için aralarında + kullanılır. veya string olarak birleştirmek için yine + kullanılır. Textbox4.Text=adi + +soyad; private void button1_click(object sender, System.EventArgs e) int a; int b,c; a=1000; b=5+a+convert.toint32(textbox1.text); // -->integer a cevirme textbox4.text=a.tostring(); // - string e cevirme MessageBox.Show(b.ToString()); MessageBox.Show(b.ToString()+" toplam degerdir"); Real Sayıya cevirme private void button2_click(object sender, System.EventArgs e) int a; Double b; a=1000; b=5+a+convert.todouble(textbox1.text);//real sayıya cevirme textbox4.text=a.tostring(); MessageBox.Show(b.ToString()); MessageBox.Show(b.ToString()+" toplam degerdir"); String deger giriş,birleştirme,mesaj olarak yazdırm private void button3_click(object sender, System.EventArgs e) String adres; adres=" Kervansaray mah. Dogs evleri E blok no:7"; textbox4.text=adres+textbox1.text; MessageBox.Show(textBox4.Text); Tarih formatına ekranda yazdırma String deger="20/09/2005"; DateTime tarih,tarih2; tarih=datetime.parse(deger); // stringi tarih formatına ceviriyor tarih2=datetime.parse(textbox1.text); textbox4.text=tarih.tostring(); 13

13 Event, Form ve Formlar arasında Değişken kullanımı Bir event içersinde kullanılan değişkenler sadece o event içersinde geçerlidir. bir değişkeni button1 event ında, iki değişkeni button2 event ında kullanılır. Private ile event lar dışında tanımladıgımız değişkeni ( fsayi) bir form içersinde her event ta kullanabiliriz. Bir form da kullandığımız değişkenin diğer formlarda kullanmak için public ile tanımlarız. Code kısmı : private int fsayi=100; // fsayi Bir formun içinde her event'ta kullanılır. public static int genel=30; // genel bütün formlarda kullanılır private void button1_click(object sender, System.EventArgs e) int bir; fsayi++; bir=100+fsayi; MessageBox.Show(bir.ToString()); MessageBox.Show(genel.ToString()); private void button2_click(object sender, System.EventArgs e) int iki; iki=200+fsayi; MessageBox.Show(iki.ToString()); MessageBox.Show(genel.ToString()); // MessageBox.Show(bir.ToString()); kullanılamaz. bir değişkeni button1'dedir. Dizin Kullanımı private void button8_click(object sender, System.EventArgs e) // tek boyutlu dizin tanımlama int[] yas; yas=new int[10]; // 0 ile 9 arasında 10 dizin oluşur yas[5]=100; yas[2]=120; MessageBox.Show(yas[5].ToString()+" " + yas[2].tostring()); // 5 elemanlı ulke dizin tanımlama. giriş hemen yapılıyor String[] ulke; ulke=new String[5] "turkiye","almanya","ingiltere","cin","rusya"; String[] sehir="denizli",",zmir","ankara"; MessageBox.Show(sehir[2]+" "+ ulke[3]); 14

14 // 2 boyutlu dizin tanımlama String[,] adi; adi=new String[5,7]; adi[1,3]="faruk senturk"; adi[2,4]="ahmet korkmaz"; MessageBox.Show(adi[1,3]+" " + adi[2,4]); diznin boyutu : Rank Diznin elaman sayısı : GetLength Diznin Üst sınırı : GetupperBound int[] yas; yas=new int[10]; // 0 ile 9 arasında 10 dizin oluşur MessageBox.Show("boyutu..:"+yas.Rank.ToString()+"diznin eleman sayısı..:"+yas.getlength(0).tostring()+"üst sınır..:"+yas.getupperbound(0).tostring()); Kullanılan Operatörler Atama = A=100; Eşitlik == if(a==100) veya İf((a==100) (b==50)) ve && İf((a==100)&&(b==50)) Değl! İf(!(a==100)) Eşit değil!= İf(a!=10) Büyüktür > İf(a>10) kücüktür < İf(a<10) Büyük eşittir >= İf(a>=10) Küçük eşittir <= İf(a<=10) X++ X=X+1 ++X X=X+1 X-- X=X-1 --X X=X-1 X+=5 X=X-5 X-=5 X=X-5 X*=5 X=X*5 15

15 Form ve code Penceresinin Çağrılması Bir c# projesi open edilince code ve form ekranı gelmeyebilir veya yanlışlıkla bu pencereleri silebiliriz. Proje open edilir. ( file project Windowsapplication5.sln ) Solution Explorer penceresi çağrılır. View -- solution Explorer Solution Explorer da form1.cs cift tıklanır. Form1 designer gelir. Code penceresi cagrılır. View Code Program çalışmasında değer kontrolü TextBox veya label alana atma MessageBox ile ekranda yazdırma Kod izleme 16

16 17

17 Hesap makinesı Örnegi private void combobox1_selectedindexchanged(object sender, System.EventArgs e) double i; i=0; if (combobox1.text=="toplama") if ((textbox1.text!= "") && (textbox2.text!= "")) i = Double.Parse(textBox1.Text) + Double.Parse(textBox2.Text); if (combobox1.text=="cıkarma") if ((textbox1.text!= "") && (textbox2.text!= "")) i = Double.Parse(textBox1.Text) - Double.Parse(textBox2.Text); if (combobox1.text=="bolme") if ((textbox1.text!= "") && (textbox2.text!= "")) i = Double.Parse(textBox1.Text) / Double.Parse(textBox2.Text); 18

18 if (combobox1.text=="carpma") if ((textbox1.text!= "") && (textbox2.text!= "")) i = Double.Parse(textBox1.Text) * Double.Parse(textBox2.Text); label3.text=i.tostring(); private void Form1_Load(object sender, EventArgs e) combobox1.selectedindex = 0; // ilk girilen( toplama gibi) gözükür * double.parse string degeri integer a cevirir. * i.tostring() i nin integer degerini string degerine cevirir. Yeni form Çağrılması project --> add windows form ile önceden form2 yaratılmalıdır. private void button5_click(object sender, System.EventArgs e) Form2 yeni=new Form2(); yeni.show(); Programdan Çıkış private void button6_click(object sender, System.EventArgs e) Application.Exit(); Form dan Çıkış this.close(); Makinenın Adını öğrenme textbox4.text=system.security.principal.windowsidentity.getcurrent().name; 19

19 Değişkenleri Düzenlemek Procedure ve Fonksiyon Procedure (dönüşsüz): private void mesaj(string mes1,string mes2,int gun2) MessageBox.Show(mes1+" "+mes2+" "+gun2.tostring()); private void button3_click(object sender, System.EventArgs e) String adi="volkan Şentürk"; int yas=10; mesaj(adi,textbox1.text,yas); listbox1.items.add(adi+textbox1.text+yas.tostring()); Fonsiyon (dönüşlü): private static int hesapla(int ucr2,int gun2) int brut=ucr2*ucr2; //String genadi="okutman"+adi2; return brut; private void button1_click(object sender, System.EventArgs e) String adi="faruk Şentürk"; int ucr=convert.toint32(textbox1.text); // string int'e cevriliyor int gun=20; textbox2.text=hesapla(ucr,gun).tostring(); 20

20 Struct ve Class Yapılar, Enum Uygulama Önce groupbox cift tıklama veya sürükleyerek sayfaya getirilir. Radiobutton ise iki kez sürüklenerek groupbox1 içerisine bırakılır. Daha sonra button çift tıklanarak iki button oluşturulur. enum hafta hafta yeni; pazartesi = 0, sali = 1, carsamba = 2, persembe = 3, cuma = 4, cumartesi = 5, pazar = 6 private void gun() if (yeni == hafta.pazartesi) MessageBox.Show("monday"); else if (yeni == hafta.sali) MessageBox.Show(this, "tuesday"); else if (yeni == hafta.carsamba) MessageBox.Show(this, "wednesday"); else if (yeni == hafta.persembe) MessageBox.Show(this, "thursday"); else if (yeni == hafta.cuma) MessageBox.Show(this, "friday"); 21

21 private void button1_click(object sender, EventArgs e) if (radiobutton1.checked == true) yeni = hafta.pazartesi; gun(); else yeni = hafta.carsamba; gun(); private void button2_click(object sender, EventArgs e) yeni++; gun(); MessageBox Fonksiyonu MessageBox.Show("pamukkale üniversitesi"); // pamukkale üniversitesi MessageBox.Show(this,"pamukkale üniversitesi"); // pamukkale üniversitesi MessageBox.Show("pamukkale","mesaj penceresi"); // pencere ismi int aa; String adi="merve tas"; aa=140; MessageBox.Show(aa.ToString()); // 140 yazar MessageBox.Show(adi+" "+aa.tostring()); // merve senturk 140 MessageBox.Show(adi+" "+aa.tostring(),"personel bilgileri"); // ayrıca pencere ismini verir DialogResult devam; devam=messagebox.show("islem devam etsinmi","muhasebe sistemi", MessageBoxButtons.YesNoCancel ); if (devam==dialogresult.no) 22

22 MessageBox.Show("form kapanıyor"); this.close(); else if (devam==dialogresult.cancel) MessageBox.Show("cıkılıyor"); Application.Exit(); else MessageBox.Show("Program calısmaya devam ediyor"); devam=messagebox.show("islem devam etsinmi","muhasebe sistemi",messageboxbuttons.yesnocancel,messageboxicon.error); devam=messagebox.show("islem devam etsinmi","muhasebe sistemi", MessageBoxButtons.YesNoCancel,MessageBoxIcon.Error,MessageBoxDefaultButton.Button2); devam=messagebox.show("islem devam etsinmi","muhasebe sistemi",messageboxbuttons.yesnocancel,messageboxicon.error,messageboxdefaultbutton.button2, MessageBoxOptions.RightAlign); MessageBoxButtons.YesNoCancel MessageBoxButtons YesNoCancel YesNo RetryCancel OKCancel OK AbortRetryIgnore MessageBoxIcon.Asterix MessageBoxIcon Asterix Error Exclamation Hand Information None Question Stop Warning 23

23 InputBox Fonsiyonu C# da Visual basic6.0 daki gibi bir bilgi giriş fonksiyonu yoktur. Fakat bu fonsiyonu Visual Basic den çağırarak rahatlıkla kullanabiliriz. Visual Basic fonksiyonu çağrılır. InputBox fonksiyonu kullanma string sifre; sifre=microsoft.visualbasic.interaction.inputbox("sifreyi giriniz","sifre girisi","pamuk",100,200); 24

24 Şartlar İf switch for while : for döngüsünden farkı kac kez işletilecegi belli degildir. do-while : while den farkı şartın döngü dışında kontrol edilmesidir. foreach break dongu kontrol metodu thread.sleep() metodu application.doevents() metodu İf Yapıları Basit if yapısı : if(a==20) if-else yapıları : if(a==20) else if-else-if-else yapıları : if(a==20) // a=20 şart gecerli oldugunda çalışacak kod else if(a==30) // a=30 şart gecerli oldugunda çalışacak kod else // üsteki iki kod geçersiz olmasında çalışacak kod 25

25 Switch Yapısı int notu; if (textbox1.text!= "") notu = Convert.ToInt16(textBox1.Text); else notu = 0; switch (notu) case 10: label1.text = "sınavdan on aldınız"; break; case 20: label1.text = "sınavdan yirmi aldınız"; break; case 30: label1.text = "sınavdan otuz aldınız"; break; case 40: case 50: case 60: case 70: label1.text = "sınavdan arası aldınız"; break; default: label1.text = "sınava girmediniz"; break; -- case "istanbul": string olarak kullanırız. switch (textbox1.text) case "rize": label1.text = "karadeniz bölgesindedir"; break; case "ankara": label1.text = "iç anadolu bölgesindedir"; break; case "izmir": case "denizli": case "usak": label1.text = "ege bölgesindedir"; break; default: label1.text = "yeniden giriniz"; break; For yapısı int k,say=10; for(k=1;k<10;k++) // for(k=1;k<=10;k+=2) ikişer ikişer artış if(k==5) break; say+=10; 26

26 // Form1.ActiveForm.Text=say.ToString(); formun baslıgında yazma label1.text=say.tostring(); foreach yapısı string[] fakulte=new string[3] "muhendislik","tıp","eğitim"; foreach(string yaz in fakulte) Form1.ActiveForm.Text=Form1.ActiveForm.Text+" ~~~ "+yaz; ---- formun başlıgına, mühendislik~~~ tıp ~~~ eğitim yazar. while Yapısı int k=1,tt=0; while(k<=10) k++; tt=tt+10; label1.text=tt.tostring(); int bb=1,pam=0; do bb++; pam+=10; while(bb<=5); label1.text=pam.tostring(); 27

27 thread.sleep() ve application.doevents() metodu -- Textbox a Girdiğimiz ismi listbox ve label a tek tek yazılması Hatırlatma: Threading kütüphanesi eklenmelidir. using System.Threading; using System.Threading; private void button1_click(object sender, EventArgs e) int k; for(k=0;k<=textbox1.text.length-1;k++) Thread.Sleep(1500); // 1 sn bekle Application.DoEvents(); // for dongusu, listbox1 ve label1'e atama birlikte calışşsın.for baglama yapmasın.yani for'n bitmesini beklemesinler listbox1.items.add(textbox1.text.substring(k,1)); label1.text=label1.text+textbox1.text.substring(k,1); //MessageBox.Show(textBox1.Text.Substring(k,1)); 28

28 Class Yapısı Bir form yaratılır ve üzerinde değişkenler oluşturulur. Project - add class ile class yaratılır ve projeye otomatik dahil olur. Biz üzerinde gereken düzeltmeleri ve değişken eklemeleri yaparız. using System; namespace class_yapı /// <summary> /// Summary description for Class1. /// </summary> public class aile public static string adi_soyadi; public static string adresi; public static int yasi; public static bool medeni_hal; public static string meslegi; public static long maasi; public const int sabit=1000; public static long maashesapla(int katsayi,int kidem) return sabit*katsayi*kidem; 29

29 Butona( hesapla butonu ) tıklayarak kodlama yapılır. private void button1_click(object sender, System.EventArgs e) aile.adi_soyadi=textbox1.text; aile.adresi=textbox2.text; aile.yasi=convert.toint32(textbox3.text); aile.medeni_hal=checkbox1.checked; aile.meslegi=combobox1.text; aile.maasi=aile.maashesapla(convert.toint32(textbox5.text), Convert.ToInt32(textBox6.Text)); textbox4.text=aile.maasi.tostring(); MessageBox.Show(aile.yasi.ToString()); özellikler 1. aile isminde bir class oluşturuldu 2. button1_click içersinde aile. ( noktaya tıklayınca) bir pencere gelir ve istedimiz değşkeni seceriz. Class oluşturulurken Değişenleri public static ( her yerde kullanılsın) tanımladıgımız için gelmektedir. Private tanımlarsak gelmez.o zaman yavru class oluştururuz. Private tanımlı class yapısı Project -- add class ile bir class oluşturulur. Taralı alanı faruk class ı olarak yazarız. using System; namespace class_yapı /// <summary> /// Summary description for Class2. /// </summary> public class faruk private int z=5; public int hesapla(int kidem) return kidem*z; 30

30 public faruk() // // TODO: Add constructor logic here // public static (ana class ) ve private ( yavru class ) Kullanımı Değişkenlerin public static ile tanımlanması : Bir class tanımlamada değişkenleri public static ile tanımlarsak butun tanımların içersinde kullanımda class ismini yazıp noktaya basınca değşkenler pencerede gelir, Secerek kullanmış oluruz. Class: public class faruk public static int z=5; public static int hesapla(int kidem) return kidem*z; Bir buton içersinde class kullanma : private void button2_click(object sender, System.EventArgs e) int sonuc; sonuc=faruk.hesapla(100); Form1.ActiveForm.Text=sonuc.ToString(); MessageBox.Show(sonuc.ToString()); textbox4.text=sonuc.tostring(); sonuc: biz buton içersinde kod yazarken faruk. da hesapla değişkenin bulundugu pencere gelir. Biz hesapla yı seceriz. Class taki değişkenler public static ile tanımlanmıştır. sonuc=faruk.hesapla(100); 31

31 hesap2 butona( button2_click) tıklayınca formun title da textbox3.text te ve messagebox ta 500 yazar. Değişkenlerin private ile tanımlanması : class ların içersindeki bütün değişkenler public static ile tanımlanmazlar. O zaman tüm her kodlamada bu değişkenlere kolayca ulaşabiliriz. Herkesin o değişkenlere ulaşmaması için değişkenleri private ile tanımlarız. Buton tanımlamada yavru class yaratarak( merve) merve üzerinden çalışma yapıyoruz.faruk class ından / içerinde private ( sadece o class ve form da kullan) tanımlanmış. Biz view bir class yaratmış oluyoruz. Merve. Yazınca değişkenlerin tanımlı oldugu pencere gelir. Faruk. da gelmez. Class : public class faruk private int z=5; public int hesapla(int kidem) return kidem*z; Bir buton içersinde class kullanma : private void button2_click(object sender, System.EventArgs e) int sonuc; faruk merve=new faruk(); // merve yavru class oluşturma sonuc=merve.hesapla(100); Form1.ActiveForm.Text=sonuc.ToString(); MessageBox.Show(sonuc.ToString()); textbox4.text=sonuc.tostring(); 32

32 sonuc: aynı şekilde hesap2 butona( button2_click) tıklayınca formun title da textbox3.text te ve messagebox ta 500 yazar. Class ta değiştirme Get ve set komutları vardır. Get de geriye doönecek deger i veririz. Set de değişecek değişkenin adını yazarız. Class: public class degistirme public string memleket; public string etiket get string yer; yer="bu arkadas"+memleket+" sehrinde oturmaktadır"; return yer; set memleket=value; // degişecek demektir public degistirme() // // TODO: Add constructor logic here // Bir buton içersinde kullanım : private void button3_click(object sender, System.EventArgs e) degistirme yeni=new degistirme(); yeni.memleket="denizli"; MessageBox.Show(yeni.etiket); 33

33 Class ta sadece okuma Class: public class sadeceokuma public readonly string isim="faruk senturk"; public string oku get return isim; Bir buton içersinde kullanım : sadeceokuma yeni=new sadeceokuma(); //yeni.isim="merve"; // bu atama hata verir. MessageBox.Show(yeni.isim); Class: Class ta yazma public class yaz public string isim="volkan senturk"; public string pamuk set isim=value; Bir buton içersinde kullanım : private void button5_click(object sender, System.EventArgs e) yaz yeni=new yaz(); yeni.isim="merve"; MessageBox.Show(yeni.isim); 34

34 Hata Yakalama ( try catch ) Hata durumunda Bir mesaj ve hata kodu ( try catch ) Hata durumunda farklı mesajlar ( try catch catch catch ) dogru veya hatalı çalışmasında mutlaka çalışsın (try-catch-finally) Hata durumunda Bir mesaj ve hata kodu private void button1_click(object sender, System.EventArgs e) int say1,say2; double tt; try say1=convert.toint32(textbox1.text); say2=convert.toint32(textbox2.text); tt=say1/say2; label1.text=tt.tostring(); catch( System.Exception hatano ) MessageBox.Show("degerleri dogru giriniz"); MessageBox.Show("Hata mesajı...:"+hatano); 35

35 Hata durumunda farklı mesajlar private void button2_click(object sender, System.EventArgs e) int say1,say2; double tt; try say1=convert.toint32(textbox1.text); say2=convert.toint32(textbox2.text); tt=say1/say2; label1.text=tt.tostring(); catch(formatexception hatano) MessageBox.Show("degerlere sayı giriniz"); catch(dividebyzeroexception hatano) MessageBox.Show("0 'a bolme hatası"); catch( System.Exception hatano ) MessageBox.Show("degerleri dogru giriniz"); MessageBox.Show("Hata mesajı...:"+hatano); dogru veya hatalı çalışmasında mutlaka çalışsın (finally) private int tam; private void button3_click(object sender, System.EventArgs e) int say1,say2; double tt; try say1=convert.toint32(textbox1.text); say2=convert.toint32(textbox2.text); tt=say1/say2; label1.text=tt.tostring(); catch(formatexception hatano) MessageBox.Show("degerlere sayı giriniz"); catch(dividebyzeroexception hatano) MessageBox.Show("0 'a bolme hatası"); 36

36 catch( System.Exception hatano ) MessageBox.Show("degerleri dogru giriniz"); MessageBox.Show("Hata mesajı...:"+hatano); finally tam++; MessageBox.Show(tam.ToString()); Fonksiyonlar Pozatife cevirme (Abs) Kusuratı yuvarlama ile cıkarma (Ceiling, Flor) Ondalık Kısmındaki sayıyı yuvarlama ( Math.Round ) En küçük, En büyuk sayıyı bulma ( Max,Min) Üslü kuvveti alma ( Math.Pow karesi,üçlü kuvveti ) Karekök alma (Math.Sqrt) Rasgele sayı ( Random ) Değer karşılaştırma ( Compare, Equals ) Dizin elemanları arasına karekter yerleştirme (join ) Uzunluk ( Lenght), Pozisyon bulma (IndexOf ) Karekter girişi ( Insert) Karekter Silme ( Remove ) Karekter Değiştirme ( Replace) Karekter çıkarma ( Substring) Büyük Harfe çevirme ( ToUpper ) küçük Harfe çevirme ( ToUpper ) Boşluğu cıkarma ( Trim) Tarih Fonsiyonları Directory Yaratma ( Create Directory ) Program Listeleme ( directory.getfiles ) Sürücü Listeleme (Directory.GetLogicalDrives ) Dosya Kopyalama Dosya Taşıma Dosya Silme Dosyanın directory,uzunluk ve ismi Yeni Bir Dosya oluşturma Bir TextBox alanı text dosyaya kayıt etme Bir Text Dosyayı Listitem a taşıma Textbox veya label a Text dosyadan okuma 37

37 Pozatife cevirme(abs) Eksili sayıları artıya çevirir. private void button1_click(object sender, System.EventArgs e) double x; x=math.abs(convert.todouble(textbox1.text)); label4.text=x.tostring(); Kusuratı yuvarlama ile atma(ceiling,floor) private void button2_click(object sender, System.EventArgs e) double x; x=math.ceiling(convert.todouble(textbox1.text)); label4.text=x.tostring(); Ceiling: Kusuratlı sayıları kusuratı atarak mutlaka bir büyüge cevirme negatifli sayıları sadece kusuratını atar > 25 32,60 ---> 33 32,01 ---> 33-32,01 ---> 32-32,60 ---> -32 Floor: Match.Floor ise tam tersini yapar. x=math.floor(convert.todouble(textbox1.text)); > 25 32,60 ---> 32 32,01 ---> 32-32,01 ---> 33-32,60 ---> -33 Ondalık Kısmındaki sayıyı yuvarlama ( Math.Round ) Ondalık kısmındaki rakam sayısı.yuvarlama yapar tamsayı ise aynen alır > , > > private void button5_click(object sender, System.EventArgs e) double x; x=math.round(convert.todouble(textbox1.text),2); label4.text=x.tostring(); En küçük, En büyük sayıyı bulma ( max,min) private void button3_click(object sender, System.EventArgs e) // İki sayıdan büyügünü alma double x; x=math.max(300,200); // 300 alır label4.text=x.tostring(); // İki sayıdan küçüğünü alma 38

38 x=math.min(300,200); // 200 alır label5.text=x.tostring(); Üslü kuvveti alma ( Math.Pow karesi,uclu kuvveti ) private void button4_click(object sender, System.EventArgs e) // Convert.Todouble sayısala cevirmeyi yapar double x; x=math.pow(convert.todouble(textbox1.text),2); // karesini alır label4.text=x.tostring(); Karakök alma x=math.pow(convert.todouble(textbox1.text),3); // uclu kuvvetini alır label5.text=x.tostring(); private void button6_click(object sender, System.EventArgs e) double x; x=math.sqrt(100); // 10 yazar label4.text=x.tostring(); Rasgele sayı ( Random ) private void button7_click(object sender, System.EventArgs e) // Normal rasgele farklı sayı int say; Random rasgel=new Random(); say=rasgel.next()%20; // 0-20 arası sayı uretilir label4.text=say.tostring(); // 3 say=rasgel.next()%20; label5.text=say.tostring(); // 14 // Saatin salisinden faydalanarak her seferinde farklı sayı // butona tıklayınca mutlaka farklı sayı int say; DateTime zaman=datetime.now; Random rasgel=new Random( (int)zaman.millisecond ); say=rasgel.next()%20; label4.text=say.tostring(); say=rasgel.next()%20; label5.text=say.tostring(); // b dizinin 10 elamanına rasgele sayı uretme Byte[] b=new byte[10]; Random rnd=new Random(); rnd.nextbytes(b); // 10 elemanlı b dizin rasgele sayı olur 39

39 label4.text=b[1].tostring(); label5.text=b[5].tostring(); Değer karşılaştırma ( Compare,Equals, Concat, Empty ) iki degeri kontrol etme 1. yöntem: compare(.,. ) ----> 0 cıkarsa aynı 2. yöntem: Equals(.,. ) ----> true, false private void button9_click(object sender, System.EventArgs e) double x; x=string.compare("ataturk","at"); label4.text=x.tostring(); // 1: var, -1:yok, 0:iki deger aynı x=string.compare("ataturk","mer"); label5.text=x.tostring(); string bir,iki; bir="turkiye"; iki="ankara"; if(string.equals(bir,iki)==false) MessageBox.Show("degerler farklı"); // string deger birleştirme (Concat) string a1,a2; a1="merve"; a2="volkan"; textbox3.text=string.concat(a1,"mehmet",a2,"bahriye"); // string degerin içerisini boşaltma(empty) textbox1.text=""; textbox2.text=string.empty; Dizin elemanları arasına karekter yerleştirme (join ) private void button10_click(object sender, System.EventArgs e) string[] isim=new string[3] "faruk","merve","volkan"; MessageBox.Show(string.Join(" * ",isim,0,3)); // faruk * volkan * merve Uzunluk ( Lenght), Pozisyon bulma (IndexOf ) private void button11_click(object sender, System.EventArgs e) // pozisyonu bulma string isim="denizli"; // 7 karekter var. 0-6 pozisyon 40

40 int t; // MessageBox.Show(isim.Length.ToString()); // 7 // t=isim.indexof("d",0,isim.length); // 1. karekterden 7. karektere kadar bak // label4.text=t.tostring(); // 0.pozisyon // t=isim.indexof("i",0,isim.length); // label4.text=t.tostring(); // 3. pozisyon t=isim.indexof("i",5,2); //5. karekterden basla. 5+2= 7 karektere kadar bak label4.text=t.tostring(); // 6. pozisyon Karekter girişi ( Insert) private void button11_click_1(object sender, System.EventArgs e) string deger1="ege üniversitesi"; label4.text=deger1.insert(5,"-bilgi-"); //ege ü-bilgi-niversitesi Karekter Silme ( Remove ) private void button16_click(object sender, System.EventArgs e) string deger1="denizli"; label4.text=deger1.remove(3,2); //denli Karekter Değiştirme ( Replace) private void button13_click(object sender, System.EventArgs e) string deger1="denizli"; label4.text=deger1.replace("den","pam"); //pamizli Karekter çıkarma ( Substring) private void button14_click(object sender, System.EventArgs e) string deger1="denizli"; label4.text=deger1.substring(3,2); // istenilen karekter cıkarılır. iz Büyük Harfe çevirme ( ToUpper ) private void button15_click(object sender, System.EventArgs e) string deger1="denizli"; label4.text=deger1.toupper(); //DENİZLİ 41

41 küçük Harfe çevirme ( ToUpper ) private void button17_click(object sender, System.EventArgs e) string deger1="pamukkale"; label4.text=deger1.tolower(); //pamukkale Boşluğu cıkarma ( Trim) private void button18_click(object sender, System.EventArgs e) string deger1=" abc ";// 2 bosluk abc 2 bosluk = 7 karekter label4.text=deger1.length.tostring(); // 7 // label5.text=deger1.trimstart().length.tostring(); // 5 Bastaki 2 boşlugu atar // label5.text=deger1.trimend().length.tostring(); // 5 Sondaki 2 boşlugu atar label5.text=deger1.trim().length.tostring(); // 3 Bastakive sondaki 2 boşlugu atar Tarih Fonsiyonları private void button12_click(object sender, System.EventArgs e) //label4.text=datetime.maxvalue.tostring();//max tarih :59:59 //label5.text=datetime.minvalue.tostring();// min tarih :00:00 //label6.text=datetime.now.tostring(); // aktif tarih ve saat //label7.text=datetime.today.tostring(); // aktif tarih //label4.text=datetime.today.day.tostring(); //gun'u verir //label5.text=convert.todatetime("05/02/2002").day.tostring(); //gun'u verir 5 //label5.text=convert.todatetime(" ").day.tostring(); // tarih - ile kullanıldı //label5.text=convert.todatetime(textbox1.text).day.tostring(); // textbox'tan deger alma //label4.text=datetime.today.month.tostring(); //ayı verir 10 //label5.text=datetime.today.year.tostring(); //yılı verir // label4.text=datetime.today.dayofyear.tostring(); //2bu gune kadar 275 gun vardır // label5.text=datetime.today.dayofweek.tostring(); // sunday // label6.text=datetime.today.addyears(2).tostring(); //2 yıl sonraki tarih.yıl ekleme // label7.text=datetime.today.addmonths(1).tostring(); //1 ay sonraki tarih.ay ekleme // label7.text=datetime.today.adddays(6).tostring(); //6 gun sonraki tarih.gun ekleme Directory Yaratma ( Create Directory ) private void button19_click(object sender, System.EventArgs e) // using System.IO; olarak ekleme yaparız // directory yaratma /* Directory.CreateDirectory("D:\\muh"); Directory.CreateDirectory("D:\\muh\\sabit"); Directory.CreateDirectory("D:\\muh\\bil"); // directory silme Directory.Delete("d:\\muh\\bil"); 42

42 if(directory.exists("d:\\muh\\sabit")==false) Directory.CreateDirectory("D:\\muh\\sabit"); if(directory.exists("d:\\muh\\bil")) Directory.Delete("D:\\muh\\bil"); */ // directory listeleme string[] far=directory.getdirectories("d:\\"); foreach(string tek in far ) listbox1.items.add(tek); Program Listeleme ( directory.getfiles ) private void button20_click(object sender, System.EventArgs e) // program listeleme string[] far=directory.getfiles("d:\\net"); foreach(string tek in far ) listbox1.items.add(tek); Sürücü Listeleme (Directory.GetLogicalDrives ) private void button21_click(object sender, System.EventArgs e) // sürücü listeleme string[] far=directory.getlogicaldrives(); foreach(string tek in far ) listbox1.items.add(tek); Dosya Kopyalama private void button22_click(object sender, System.EventArgs e) // using System.IO ; ekleme yapmalıyız // dosya kopyalama FileInfo dosya=new FileInfo("d:\\muh\\dene.txt"); // dosyayı isaretleriz dosya.copyto("d:\\muh\\gul.txt",true); // kopyalama Dosya Taşıma private void button23_click(object sender, System.EventArgs e) // dosya tasıma FileInfo dosya=new FileInfo("d:\\muh\\dene.txt"); // dosyayı isaretleriz dosya.moveto("d:\\muh\\can.txt"); // tasıma 43

43 Dosya Silme private void button24_click(object sender, System.EventArgs e) FileInfo dosya=new FileInfo("d:\\muh\\can.txt"); // dosyayı isaretleriz if(dosya.exists) dosya.delete(); MessageBox.Show("dosya silindi"); else MessageBox.Show("dosya bulunmadı"); Dosyanın directory,uzunluk ve ismi private void button25_click(object sender, System.EventArgs e) FileInfo dosya=new FileInfo("d:\\muh\\gul.txt"); label4.text=dosya.directory.tostring(); //dosyanın bulundugu directory label5.text=dosya.length.tostring(); // dosyanın uzunlugu label6.text=dosya.name; // dosyanın ismi Yeni Bir Dosya oluşturma private void button26_click(object sender, System.EventArgs e) StreamReader oku=new StreamReader("d:\\muh\\gul.txt"); StreamWriter yaz=new StreamWriter("d:\\muh\\bilanco.txt"); //StreamWriter yaz=new StreamWriter("\\\\server1\\kredi\\bilanco.txt"); network erişim string satir; while (( satir=oku.readline())!=null) yaz.writeline(satir); oku.close(); yaz.close(); Bir TextBox alanı text dosyaya kayıt etme private void button27_click(object sender, System.EventArgs e) // dosya olustur // textbox'ta birden fazla satır girmek için properties'de multiline=true yaparız StreamWriter yaz=new StreamWriter("d:\\muh\\person.txt"); yaz.writeline(textbox1.text); yaz.close(); 44

44 Bir Text Dosyayı Listitem a taşıma private void button28_click(object sender, System.EventArgs e) StreamReader oku=new StreamReader("d:\\muh\\gul.txt"); string satir; while (( satir=oku.readline())!=null) listbox1.items.add(satir); oku.close(); Textbox veya label a Text dosyadan okuma private void button29_click(object sender, System.EventArgs e) // farklı yöntemle tekbox veya label'a dosya okuma StreamReader oku=file.opentext("d:\\muh\\gul.txt"); textbox1.text=oku.readtoend(); oku.close(); 45

45 Events lar Mouse sol,sağ, orta buton tıkalyınca mesaj yazması. Mouse down veya Mouse up da aynı sonucu alırız. if(e.button==mousebuttons.left) MessageBox.Show("sol tusa bastınız.."); else if(e.button==mousebuttons.right) MessageBox.Show("sag tusa bastınız "); else if(e.button==mousebuttons.middle) MessageBox.Show("sag tusa bastınız "); label1.text=" x koordinatı:"+e.x+" y koordinatı..:"+e.y; Event Oyun ( Butona tıklayamama ) Mouse tıklamak için hareket edince butonda hareket eder. private void Form1_MouseMove(object sender, System.Windows.Forms.MouseEventArgs e) 46

46 button1.left=e.x+30; button1.top=e.x+30; Event Açıklama click Mouse Sol botuna tıklama TextChanged Textbox içeriğinin değişmesi MouseDown Mouse da herhagi butona tıklama MouseUp MouseDown ile aynıdır MouseMove MouseDown ve MousUp gibidir. Yalnız tıklama ile degil, hareket iledir. MouseEnter Mouse üzerine gelince bir kez işler MouseHover Mouse hareketsiz kalırsa otomatik işler. Closing Form kapatılırken. e.cancel=true ile kapanması engellenir. Closed Farm Kapatılırken. E.Cancel kullanılamaz.değişiklik kaydedilsinmi uyarı kullanılır. Load Form çalıştırıldığında devreye girer. Enter Textbox değişkene gelince ( tab ile ) çalışır Leave Textbox değişkeni geçince çalışır. Validating Textbox değişkene gelince calışır AutoSizeChanged Size değişince EnabledChanged Kontrolün Enabled özelliği değişince fontchanged Font değişince ForeColorChanged Yazı iç rengi değişmesince BackColorChanged Yazı diş rengin değişmesiyle MultiLineChanged Textbox da multiline true veya false olunca ReadOnlyChanged Read özelliği değişince KeyDown Klavyeden herhangi bir tuşa basılmasıyla Klavyedeki Tuşların kontrolu private void Form1_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e) if(e.keycode==keys.a) MessageBox.Show("A tuşuna basıldı"); else if(e.keycode==keys.b) MessageBox.Show("B tuşuna basılıd"); 47

47 else if(e.keycode==keys.b) MessageBox.Show("B tuşuna basıldı"); else if(e.keycode==keys.left) MessageBox.Show("Sol ok tuşuna basıldı"); else if(e.keycode==keys.f3) MessageBox.Show("F3 tuşuna basıldı"); else if(e.keycode==keys.escape) MessageBox.Show("escape tuşuna basıldı"); else if(e.keycode==keys.pageup) MessageBox.Show("Page up tuşuna basıldı"); else MessageBox.Show("Herhangi bir tuşa bastınız"); label1.text=e.keyvalue.tostring(); // ascii kodu yazar Alt,Control, Shift ile birlikte basılan kontrol private void Form1_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e) if(e.alt==true) if(e.keycode==keys.return) MessageBox.Show("alt-enter'a basıldı.."); if(e.control==true) if(e.keycode==keys.return) MessageBox.Show("Control-enter'a basıldı.."); if(e.shift==true) if(e.keycode==keys.d) MessageBox.Show("shift-D'e basıldı.."); 48

48 Formu kapatma Kapatmada soru sordurma. Kapatmayı durdurabiliriz( e.cancel=true ; ) private void Form1_Closing(object sender, System.ComponentModel.CancelEventArgs e) DialogResult mesaj; mesaj=messagebox.show("kapatmak istiyormusunuz", "kapat",messageboxbuttons.yesno); if ( mesaj==dialogresult.no) e.cancel=true; // Kapatmayı durdurma else MessageBox.Show("program kapatılıyor.."); Kesin Kapatma. Yalnız son bir işlem ( kayıt gibi ) yapma private void Form1_Closed(object sender, System.EventArgs e) DialogResult mesaj; mesaj=messagebox.show("degişiklikler kaydedilsinmi","kapat",messageboxbuttons.yesno); if ( mesaj==dialogresult.yes) // kayıt kodları yazılır MessageBox.Show(" değişiklikler kaydedildi..."); Form Yüklemede şifre kullanma private void Form1_Load(object sender, System.EventArgs e) // project-add referance ile Mic. visual basic runtime eklenir. int sayi=1; string sifre; sifre= Microsoft.VisualBasic.Interaction.InputBox("sifreyi giriniz", "sifre girisi","",100,200); while(sifre!="faruk") if(sayi>3) break; else sifre= Microsoft.VisualBasic.Interaction.InputBox("sifreyi giriniz","sifre girisi","sifre tekrar",100,200); sayi++; if(sayi>=3) MessageBox.Show("3 hakkınızıda bilemediniz.yeniden deneyiniz"); Application.Exit(); 49

49 Bazı tuşların textbox a girişini Engelleme private void textbox1_keypress(object sender, System.Windows.Forms.KeyPressEventArgs e) // sayılar. A=65,B=66,C=67,D=68. Backspace=10 // A,B,C,D harflerinin textbox'a girilmesini engellemek için; if ((e.keychar >= (char)65) && (e.keychar <= (char)68)) if ((e.keychar > (char)10) && (e.keychar < (char)48) (e.keychar > (char)57)) e.handled = true; label1.text = e.keychar.tostring(); // bütün tusları label'a yazdırma Form Başlığı button gibi yerde değişiklik: Form1.ActiveForm.Text= personel sistemi ; veya This.Text= personel sistemi Load event ta ( yükleme sırasında ) : This.Text= personel sistemi ; 50

50 Esc ve Enter Tuşlarını button lara tanımlama Biz form load avent ta veya form active event ta Enter veya esc basınca buton tıklanmış gibi çalışacak hale getiririz. Active de tanım yaparsak Form1.ActiveForm, load da tanım yaparsak this kullanırız. Form Load ta tanımlama private void Form1_Load(object sender, System.EventArgs e) this.text="muhasebe sistemi"; this.acceptbutton=button1; // enter tuşuna basınca button1 calışır this.cancelbutton=button2; // esc tuşuna basınca button2 çalışır Form Active de tanım private void Form1_Activated(object sender, System.EventArgs e) Form1.ActiveForm.AcceptButton=button1; Form1.ActiveForm.CancelButton=button2; private void button1_click(object sender, System.EventArgs e) MessageBox.Show("enter basıldı.."); private void button2_click(object sender, System.EventArgs e) MessageBox.Show("ESC basıldı.."); 51

51 Form özelliklerini değiştirme Forms a ait özellikleri properties penceresinden manual veya action dan form1_load a kodlama ile yapılır. 52

52 Buton ekleme Forms üzerinden veya kodlama ile yaparız. Button yeni = new Button(); this.controls.add(yeni); yeni.left = 50; yeni.top = 100; yeni.text = "arama"; 53

53 Menu Oluşturma 1.Yöntem : Buton ile Form Çagırma C# girince form1 gelir. 3 adet ek form oluşturulur. ( Project --- add windows form ) 54

54 Form1 ana formundan form2,form3,form4 ü buton ile çağırıyoruz. Form Çağırma Form2 pen=new Form2(); pen.show(); Form2 gelir.form2 ve form1 de çalışabiliriz. Form2 pen=new Form2(); pen.showdialog(); Form2 gelir.sadece form2 de çalışabiliriz.aktif olan form2 ye izin verir. Uygulamadan Çıkış Application.Exit(); Form u kapatma this.close(); aktif formu kapat. Form2.ActiveForm.Close(); form2'yi kapat Formu gizleme this.hide(); Aktif form'u gizler. Form4.ActiveForm.Hide(); Form4 ü gizler. Anamenu Formu private void button1_click(object sender, System.EventArgs e) Form2 pen=new Form2(); pen.show(); private void button2_click(object sender, System.EventArgs e) Form3 pen=new Form3(); pen.showdialog(); private void button4_click(object sender, System.EventArgs e) Form4 rapor=new Form4(); rapor.show(); private void button3_click(object sender, System.EventArgs e) Application.Exit(); Personel Formu private void button1_click(object sender, System.EventArgs e) this.close(); // aktif formu kapat.altaki ile aynıdır // Form2.ActiveForm.Close(); // form2'yi kapat 55

55 Maas Formu private void button1_click(object sender, System.EventArgs e) this.close(); Forms4 formu private void button1_click(object sender, System.EventArgs e) //this.hide(); // form4'ü gizler. Daha cok ths.close() kullanırız. Form4.ActiveForm.Hide(); // " " " 2.Yöntem : MenuStrip ile toolbox dan Mainmenu cift tıklanır Form1 in altına gelen mainmenu ye bir kez tıklarız. Formun üstünde Type Here cıkar. Type Here üzerine tanımlar yazarız. Altına sigorta gibi şeklinde menu isimlerini gireriz. Sigortaya, personel e, Cıkış2a cift tıklayıp kodlamayı yaparız. Kodlama Midi-child form için form özelliklerinde IsMdiContainer=true yaparız. Form cagırırken mmdiparent=this özelliğini kullanırız. private void cıkıstoolstripmenuitem_click(object sender, EventArgs e) Application.Exit(); private void ssktoolstripmenuitem_click(object sender, EventArgs e) Form2 ssk=new Form2(); ssk.mdiparent=this; // child form ( yavru) için ssk.show(); 56

56 private void faturatoolstripmenuitem_click(object sender, EventArgs e) MessageBox.Show(" Sayfa yapım asamasındadır..."); 57

57 3.Yöntem : ToolStrip ile Resim butonlu menu hazırlamadır. toolstrip sürüklenerek veya çift tıklanarak form1 in üstünde cubuk şeklinde yer alır. Form1 sayfasının daha iyi menülü görüntüsünü saglamak için ; lsmdicontainer i true yaparız. Butonların Özelliklerinde(properties) 58

58 o o o Text : toolbar daki butonun görünen adı. personel,stok,cıkıs Tooltip : runtime da Mouse butonun üzerine gidince help bilgisi Image : Buton resmi Resimli butonlara tıklayarak kodlama yaparız. private void toolstripbutton1_click(object sender, EventArgs e) Form2 yeni = new Form2(); // yeni.mdiparent = this; // Form2, form1 içersinde baglı gelir. yeni.show(); private void toolstripbutton2_click(object sender, EventArgs e) MessageBox.Show("sayfa yapım asamasındadır.."); private void toolstripbutton4_click(object sender, EventArgs e) Application.Exit(); 59

59 Web Sayfasına Bağlantı Toolbox dan linklabel tıklanır. Text ten ismi değiştirilir. ( milliyet gazatesi ) Linklabel ın font u, Linkcolor ı properties lerden değiştirilir. Form load event ta milliyet gazatesi yazısının kac karekteri tıklamayı kabuletsin yapılır. Yani Mouse ile üzerine gelince tıklamaya müsait olsun yapılır. Private void Form1_Load(object sender, System.EventArgs e) linklabel1.links.add(0,8, ); Web adresine gitme linlabel etiketine cift tıklayarak yazılır. private void linklabel1_linkclicked(object sender, System.Windows.Forms.LinkLabelLinkClickedEventArgs e) System.Diagnostics.Process.Start(e.Link.LinkData.ToString()); Runtime da Milliyet gazatesine cift tıklayınca a gider. Yani Internet Explorer çalışır. 60

60 Cursor Textbox da iken F1 basınca Yardım ( helpprovider ) private void Form1_Load(object sender, System.EventArgs e) helpprovider1.sethelpstring(textbox1,"kodu girilecek"); helpprovider1.sethelpstring(textbox2,"tekstil birim fiyatı girilecek"); helpprovider1.sethelpstring(textbox3,"adet girilecek"); Form1_load : Form yüklenirken calışır. 61

61 Hata kontrol Mesajı ( errorprovider ) Değişkenlere istenilen deger girilmedi zaman kırmızı yuvarlak olarak işaretle gösterir. Yuvarlak daire üzerine Mouse ile gelince mesaj verir. private void button1_click(object sender, System.EventArgs e) if(textbox1.text=="") errorprovider1.seterror(textbox1,"kodu giriniz"); else errorprovider1.seterror(textbox1,""); if(textbox2.text=="") errorprovider1.seterror(textbox2,"fiyatı giriniz"); else errorprovider1.seterror(textbox2,""); if(textbox3.text=="") errorprovider1.seterror(textbox3,"adeti giriniz"); else errorprovider1.seterror(textbox3,""); 62

62 Büyük, Küçük ve şifreli Giriş Örnek TextBox kodlamaları : textrbox1.width=textbox1.width+50; textbox1.font= new Font ( Arial,20); textbox2.focus(); // textbox2 git TextBox textbox1=new TextBox(); textbox1.location=new Point(0,0); textbox1.size=new Size(152,20); 63

63 Button Özellikleri TextBox veya Buton üzerine Mouse ile gelince acıklama yazması ALT ile bir karekter (A,B gibi ) tıklayıca buton çalışır Butonun görüntü değişikliği private void Form1_Load(object sender, System.EventArgs e) ToolTip goster=new ToolTip(); goster.settooltip(this.button1,"personel hesaplama yapar");// button üzerine gelince yazar goster.settooltip(this.textbox1,"urunun fiyatı"); // textbox'ın üzerine gelince yazar button1.text="&rapor"; // alt tusuyla R 'de çalışır 64

64 Checkbox, Radiobutton, Listbox,combobox Kontrolu checkbox private void button1_click(object sender, System.EventArgs e) checkbox2.checked=true; checkbox2.flatstyle=flatstyle.flat; checkbox3.flatstyle=flatstyle.popup; if (checkbox1.checked==true) MessageBox.Show("Đngilizce biliniyor.."); else MessageBox.Show("Đngilizce bilinmiyor.."); RadioButton 1. Groupbox cift tıklanır 2. groupbox seçiliyken radiobutton cift tıklanır private void button2_click(object sender, System.EventArgs e) radiobutton1.checked=true; if (radiobutton5.checked==false) MessageBox.Show("fransızca bilmiyor.."); 65

65 ListBox private void button3_click(object sender, System.EventArgs e) listbox1.items.add("mehmet"); // ekleme // if (textbox1.text!="") listbox1.items.add(textbox1.text); textbox1.text=listbox1.text; // Secili olanı texbox'a at listbox1.items.remove("merve");// Silme listbox1.setselected(0,true); // ilk kayıtı sec MessageBox.Show(listBox1.Items.Count.ToString()); // toplam Combobox private void button4_click(object sender, System.EventArgs e) MessageBox.Show(comboBox1.Text);// secili elemanı yazar MessageBox.Show(comboBox1.SelectedIndex.ToString()); // secili elamanın index nosunu verir 0'dan başlar 66

66 Tabmenu hazırlama Toolbox dan tabcontrol cift tıklanarak form1 e tabmenu getirilir. Tabemenu üzerinde sağ Mouse- add tab ile tab sayfa lar eklenir.( tabpage2 gibi) Tabpage lerin ismi değiştiririz. Tabmenudeki tabpage2 tıklarız - altındaki diktörtgene tıklarız -- properties den Text in degerini ( tabpage2) değiştiririz. Tabmenu nin içindeki önce tabpage1( musteri) sonra diktörtgen alan tıklanır.ve içerine textbox veya label getiririz.(toolbox tan cift tıklayarak ). Aynı işkelemi tabpage2(ssk) içinde yaparız. 67

67 private void button1_click(object sender, System.EventArgs e) tabcontrol1.selectedtab=tabpage2; // ssk a gecer Agaç görünümlü Kontrol ( treeview ) 68

68 private void button2_click(object sender, System.EventArgs e) label3.text=treeview1.selectednode.text; // secili olan satırı gosterir //label3.text=treeview1.selectednode.index.tostring(); //secili elemanın kacıncı pozisyon oldugu yazar //label3.text=treeview1.nodes.count.tostring();//ana kayıtların toplam sayısı // ********** EKLEME *************************** //treeview1.nodes.add("ankara");//en sona ana ekleme yapar //treeview1.selectednode.nodes.add("bogazkoy");//secili olana ekler //treeview1.nodes[0].nodes.add("bornova"); //ilk kayıta baglı alt ekleme //treeview1.nodes[0].nodes[0].nodes.add("belkahve"); //ilk kayıta baglı alt kayıtın altına ekler //treeview1.nodes[3].nodes.add("bakırkoy"); //4. kayıta baglı alt ekleme // *********** SILME ************************** //treeview1.nodes.remove(treeview1.selectednode);//secimli olanı siler //treeview1.nodes.remove(treeview1.nodes[1]);// 1.pozisyonu siler //treeview1.nodes.clear();// hepsini siler //treeview1.checkboxes=true;//secimli kare eklenir //treeview1.expandall(); //alt kayıtları acar //treeview1.collapseall();// alt kayıtları toplar //treeview1.showlines=true;//kenarındaki cizgileri gosterir veya kaldırır //label3.text=treeview1.selectednode.checked.tostring();// sectigim kayıtte checkbox işaretlimi.true,false imagelist ve listview imagelist ve listview toolbox tan eklenir. İmagelist e resimler eklenir( imagelist1- properties(images) -- add) 69

69 private void button3_click(object sender, System.EventArgs e) listview1.items.add("person"); listview1.items.add("muh-d",0);//imagelist'deki 0 pozisyondaki resmide ekle //listview1.clear();// hepsini siler //listview1.items.removeat(1);//1. pozisyonu, yani 2.kayıtı siler //label5.text=listview1.items.count.tostring(); // kayıt sayısını verir Tarih Secme(DateTimePicker ) -- Cıkan tarih menusunden tarih seceriz. 70

70 private void button1_click(object sender, System.EventArgs e) label1.text=datetimepicker1.text;// secilen tarihi alır Scrollbar kontrolu dikey ve yatay scroll saga,sola veya ust,alta gidince resmin boyutu değişir. private void vscrollbar1_scroll(object sender, System.Windows.Forms.ScrollEventArgs e) picturebox1.height=vscrollbar1.value+1; private void hscrollbar1_scroll(object sender, System.Windows.Forms.ScrollEventArgs e) picturebox1.width=hscrollbar1.value+1; 71

71 Timer ( Zaman Kontrolu ) public static string mesaj="pamukkale Üniversitesi Egitim Fakultesi Bote 2.Sınıf"; public static int x=1; private void Form1_Load(object sender, System.EventArgs e) timer1.interval=500; //1 sn bekle timer1.enabled=true; // timer baslar //timer1.start(); // timer baslar // timer1.stop(); // timer durur //timer1.enabled=false; // timer durur private void timer1_tick(object sender, System.EventArgs e) label1.text=mesaj.substring(x,mesaj.length-x); if(x==mesaj.length-1)x=0; x++; 72

72 statusstrip ( Formun altında mesaj verir, Kullanıcıyı bilgilendirme ) Formun alt tarafında durum cubugu oluşturarak kullanıcıyı bilgilemdirme yapabiliriz. toolstripstatuslabel1.text = "kodu ve adı giriniz"; gibi. private void button1_click(object sender, EventArgs e) toolstripstatuslabel1.text = "kodu ve adı giriniz"; 73

73 Dosya okuma ve yazma( openfiledialog,savefiledialog ) using System.IO; //ekleme yapılmalıdır. Sadece dosya isimlerini getirme : private void button3_click(object sender, EventArgs e) //openfiledialog1.showdialog();// acma penceresi.tek kullanılabilir. openfiledialog1.title = "personel resim dosyası";//gelecek pencerenin baslıgı openfiledialog1.defaultext = "exe";//varsayılan extention exe kullan openfiledialog1.filter = "jpg files *.jpg butun file *.*"; // iki filter openfiledialog1.filterindex = 1; // 1.filterı kullan(*.jpg" openfiledialog1.initialdirectory = "d:\\temp"; openfiledialog1.multiselect = true;// shiftle birden fazla dosya ac openfiledialog1.showdialog();// acma penceresi gelir //label1.text=openfiledialog1.filename; // bir dosya için foreach (string muh in openfiledialog1.filenames) // birden fazla dosya için //label1.text = label1.text + " - " + muh; // label1'e getirme textbox1.text = textbox1.text + " - " + muh; // textbox1'e getirme dosya okuma : text bir dosyadan okuma private void button1_click(object sender, EventArgs e) string satir; openfiledialog1.title = "dosya okuma"; openfiledialog1.showdialog(); StreamReader oku = new StreamReader(openFileDialog1.FileName); while ((satir = oku.readline())!= null) textbox1.text += satir + (char)13 + (char)10; oku.close(); 74

74 dosya yazma: Hazır bir text dosyasına kayıt eder private void button2_click(object sender, EventArgs e) string satir; openfiledialog1.title = "dosya yazma"; openfiledialog1.showdialog(); StreamWriter yaz = new StreamWriter(openFileDialog1.FileName); yaz.writeline(textbox1.text); yaz.close(); TrackBar Bir resmin büyütülüp, küçültülmesi private void trackbar1_scroll(object sender, System.EventArgs e) picturebox1.width=trackbar1.value*10; picturebox1.height=trackbar1.value*10; private void trackbar1_scroll(object sender, EventArgs e) //MessageBox.Show(trackBar1.Value.ToString());// trackbar 0-10 arasındaki degeri picturebox1.width = trackbar1.value * 20; picturebox1.height = trackbar1.value * 20; 75

75 progressbar Toolbox dan progressbar ı cift tıklayarak getiririz. Prograssbar ın properties degeri arasın value dir. Biz istersek properties den bu degerleri degiştirebiliriz. Progressbar da deger artışını göstermek için timer dan yararlandık.baslat buton da timer ı baslattık. Dur butonda durdurduk.aynı zamanda label1 dede progressbar ın value degerini yazdırdık. private void timer1_tick(object sender, EventArgs e) if (progressbar1.value <= 95) progressbar1.value = progressbar1.value + 5; else progressbar1.value = 0; label1.text = "% " + progressbar1.value.tostring() + " tamamlandı.."; private void button1_click(object sender, EventArgs e) timer1.interval = 400; // 1000: 1 saniye timer1.enabled = true; private void button2_click(object sender, EventArgs e) timer1.enabled = false; 76

76 tooltip Objeleri ( resim,textbox,label ) üzerine geldiğimizde açıklama vermesidir. Formun yüklenmesi event ta ( Form1_Load) her obje ( textbox,label,buton ) için tanım yaparız. private void Form1_Load(object sender, System.EventArgs e) tooltip1.settooltip(label1,"progressbar'ın yüzdeliklerini gösterir"); tooltip1.settooltip(button1,"progress'i baslatır.."); tooltip1.settooltip(button2,"progress'i durdurur.."); Drag& Drop Yöntemi Toolbox dan iki adet listbox ı forma getiririz. Listbox1 e 3 adet üniversite kayıtı girilir. Lisbox1- properties - Items 77

77 listbox2 ye gelen sürüklenmiş nesneyi kabul et: private void Form1_Load(object sender, System.EventArgs e) listbox2.allowdrop=true; listbox de Mouse ile tutularak sürüklenmek istenek kayıtı al : private void listbox1_mousedown(object sender, System.Windows.Forms.MouseEventArgs e) Point nokta=new Point(e.X,e.Y); int index=listbox1.indexfrompoint(nokta); if(e.button==mousebuttons.left) listbox1.dodragdrop(listbox1.items[index].tostring(),dragdropeffects.all); gelen kayıtı listbox2 de kopya edecegim : private void listbox2_dragover(object sender, System.Windows.Forms.DragEventArgs e) if(e.keystate==1) // hicbir tuş basılı degilse e.effect=dragdropeffects.copy; // copy, All, lint,mode,scroll listebox2 ye kayıtı ekle, listbox1 den sil: private void listbox2_dragdrop(object sender, System.Windows.Forms.DragEventArgs e) listbox2.items.add(e.data.getdata(dataformats.text).tostring()); listbox1.items.remove(e.data.getdata(dataformats.text).tostring()); 78

78 Registry File okuma,yazma Okuma: using Microsoft.Win32; // Ekle private void button1_click(object sender, System.EventArgs e) label1.text=registry.currentuser.opensubkey("control Panel").OpenSubKey("Colors").GetValue("Menu").ToString(); Kayıt : private void button2_click(object sender, System.EventArgs e) Registry.CurrentUser.CreateSubKey("pamukkale").CreateSubKey("kullanıcılar").SetValue("volkan",1240); Değiştirme: private void button3_click(object sender, System.EventArgs e) //directory'ler oldugu için sadece volkanın degeri 5000 olarak degiştirilir. Registry.CurrentUser.CreateSubKey("pamukkale").CreateSubKey("kullanıcılar").SetValue("volkan",5000); 79

79 Silme: private void button4_click(object sender, System.EventArgs e) // degeri silme Registry.CurrentUser.CreateSubKey("pamukkale").CreateSubKey("kullanıcılar").DeleteValue("volkan"); // directory ve altını silme Registry.CurrentUser.CreateSubKey("pamukkale").DeleteSubKeyTree("kullanıcılar"); Registry.CurrentUser.DeleteSubKeyTree("pamukkale"); 80

80 User,Şifre ile Form Giriş Hatırlatma: Önceden kayıt ettiğimizi düşünelim. kullanıcı: volkan, sifre:1240 düşünelim. Registry.CurrentUser.CreateSubKey("pamukkale").CreateSubKey("kullanıcılar").SetValue("volkan",1240); Sifre=Registry.CurrentUser.OpenSubKey("pamukkale").OpenSubKey("kullanıcılar").GetValue(textBox 1.Text).ToString(); ---- textbox1 e volkan girersek sifre 1240 olarak okunur. private static string sifre; private void button5_click(object sender, System.EventArgs e) try sifre=registry.currentuser.opensubkey("pamukkale").opensubkey("kullanıcılar").getvalue(textbox1.text).tostring(); catch textbox1.resettext(); textbox2.resettext(); textbox1.focus(); if(sifre==textbox2.text) Form2 yeni=new Form2(); yeni.show(); else textbox1.resettext(); textbox2.resettext(); textbox1.focus(); label1.text="sifre yanlıs.."; 81

81 User Kontrolu Bazı ekran formlarını belirli kurallarda şablon olarak hazırlayıp diğer formlarda kullanmayı sağlar. Kontrol Hazırlama Kontrol kullanma Hazırlama : Bir textbox ( sadece sayısal girişin oldugu not giriş alanı) hazırlayıp, bu şablonu her form da kullanalım. Form1 e Bir label ve textbox getirelim. 82

82 Kodlamasını yapalım. o Public class ve public in isimlerini değiştirelim. Çünkü Form larda kullanırken bu ismi sürükleyecegiz. Kontrol yapalım. o Bu textbox alana sadece sayılar girelim. Bu textbox ı normal formalarda kullandıgımız gibi ( icersine deger atma veya degerin alma gibi ) kullanamayız. Bu yüzden yedekdegiş isminde bir properties de bulunan bir degisken tanımlayıp bunu kullanıyoruz. private void textbox1_keypress(object sender, System.Windows.Forms.KeyPressEventArgs e) if(e.keychar>=(char)58 (e.keychar<=(char)47)) // rakam dısında if(e.keychar!=(char)8) // backspace tusu e.handled=true; // basılan tus iptal public string yedekdegis get return textbox1.text; // textbox'a girilen degeri yedekdegis'e al set textbox1.text=value.tostring(); // yedekdegis'teki properties veya deger girişi textbox1'a al 83

83 Çalıştırıyoruz ve bir dll üretiyor. Kullanma : Toolbox penceresine bu hazırlamış oldugumuz kontrolu (userkontrol.dll) getiriyoruz. ( toolbox pencersinde -- sağ Mouse - add/remove items -.Net framework components -- browse --- userkontrol.dll - ok ). Ayrıca Toolbox a gelen kontrol dll i sürükleyerek forma getiriyoruz. 84

84 Bir buton tanımlayıp, içersinde kodlama yapıyoruz. Kontrol1 in yedekdegis i messagebox ile ekranda yazdırıyoruz ve yedekdegis e 250 degerini atıyoruz. 85

85 Microsoft Access ile kayıt işlemleri 1.Yöntem: Visual c# projesi yaratılır. Data Sources ( icon yoksa Data -- show data sources ile getiririz) --- add new data source veya Data - add New data source ile Access dosyası ile baglantı kurulur. 86

86 87

87 Data source penceresinde oluşan adres Access table sürükleyerek sayfaya bırakılır. Grid objesi,ileri,geri cubugu ve bağlantı iconları otomatik oluşur. F5 ile bilgileri görebiliriz. 2.Yöntem: Visual c# projesi yaratılır. 88

88 Button ve datagridview tık tık yaparak veya sürükleyerek sayfaya getirilir. Datagrid1 in özelliklerinden datasource a Access dosyasını getiririz. 89

89 Sayfa altında bağlantı iconları oluşur. 90

90 Datagridview1 in datasource unu none yaparak button a cift tıklar ve kodlamayı yaparız. datagridview1.datasource = adresbindingsource; F5 ile veya debug start debugging veya çalıştırma iconu ile çalıştırdıgımız zaman button a tıklarsak listeyi görebiliriz. 91

91 92

92 3.Yöntem: Visual c# projesi yaratılır. Button ve datagridview tık tık yaparak veya sürükleyerek sayfaya getirilir. 93

93 BindingSource iconu sürükleyerek veya tık tık yaparak sayfaya getirilir. Bindingsource --- özelliklerden datasource a Access dosyası girilir. 94

94 95

95 Data member a adres table secilir. Bu arada persondataset adrestableadaptor iconları sayfada oluşur. Button a cift tıklatarak kodlama yazılır.ve F5 ile çalıştırız ve butona tıklayınca sonucu görürürüz. datagridview1.datasource = bindingsource1; 96

96 97

97 Texbox larda gösterme ve önceki, sonraki kayıtlara gecme Visual c# projesi yaratılır. Button,Label ve Texbox tık tık yaparak veya sürükleyerek veya bir kez sayfaya getirdikten sonra copy-paste ile getiririz. 98

98 Label, button objelerin özelliklerden ismini değiştiririz. bindingsource1, sayfaya getirilir. Daha sonra özelliklerden DataSource değerine Access dosyası, DataMember değerine Access table getirilir. 99

99 BindingSource1 in DataSource değerine Access dosyası girilir. 100

100 DataMember değerine adres table ı girilir. Önceden getirdiğimiz BindingSource1 yanında PersonDataSet ve AdresTableAdaptor iconları otomatik oluşur. 101

101 Butonlara tek tek tıklanarak kodlama yapılır. private void Form1_Load(object sender, EventArgs e) // form ilk acılınca this.adrestableadapter.fill(this.persondataset.adres); textbox1.databindings.add("text", persondataset.adres, "nosu"); textbox2.databindings.add("text", persondataset.adres, "adi"); textbox3.databindings.add("text", persondataset.adres, "soyadi"); textbox4.databindings.add("text", persondataset.adres, "sehir"); textbox5.databindings.add("text", persondataset.adres, "tel"); private void button1_click(object sender, EventArgs e) // ilk kayıt CurrencyManager sonra = (CurrencyManager)BindingContext[personDataSet.adres]; sonra.position = 0; private void button2_click(object sender, EventArgs e) //Önceki kayıt CurrencyManager sonra = (CurrencyManager)BindingContext[personDataSet.adres]; if (sonra.position <= 0) MessageBox.Show("baska kayıt kalmadı.ilk kayıttasınız"); else sonra.position -= 1; private void button3_click(object sender, EventArgs e) // Sonraki kayıt CurrencyManager sonra = (CurrencyManager)BindingContext[personDataSet.adres]; if (sonra.position >= sonra.count - 1) MessageBox.Show("baska kayıt kalmadı.son kayıttasınız"); else sonra.position += 1; private void button4_click(object sender, EventArgs e) // En son kayıt CurrencyManager sonra = (CurrencyManager)BindingContext[personDataSet.adres]; sonra.position = sonra.count - 1; private void button5_click(object sender, EventArgs e) // Kayıt Silme CurrencyManager sonra = (CurrencyManager)BindingContext[personDataSet.adres]; DialogResult son; son = MessageBox.Show("kayıtı silmek istiyormusunuz...", "silme kontrolu", MessageBoxButtons.YesNo); if (son == DialogResult.Yes) 102

102 sonra.removeat(sonra.position); adrestableadapter.update(persondataset.adres); else MessageBox.Show("kayıt silinmedi..."); private void button6_click(object sender, EventArgs e) // database kayıt CurrencyManager sonra = (CurrencyManager)BindingContext[personDataSet.adres]; sonra.endcurrentedit(); // dataset'e (ram) kayıt adrestableadapter.update(persondataset.adres); // database'e kayıt MessageBox.Show("Database kayıt yapıldı.."); private void button7_click(object sender, EventArgs e) // Arama int t = 0, b = 0; CurrencyManager sonra = (CurrencyManager)BindingContext[personDataSet.adres]; foreach (DataRow satir in persondataset.adres.rows) if (satir[0].tostring() == textbox6.text) sonra.position = t; b = 1; return; //for'dan cık t++; if (b == 0) MessageBox.Show("kayıt bulunamadı..."); private void button8_click(object sender, EventArgs e) // Kayıt giriş başlama CurrencyManager sonra = (CurrencyManager)BindingContext[personDataSet.adres]; sonra.addnew(); textbox1.focus(); private void Form1_FormClosed(object sender, FormClosedEventArgs e) // form cıkışta otomatik database'e kayıt CurrencyManager sonra = (CurrencyManager)BindingContext[personDataSet.adres]; sonra.endcurrentedit(); // datase'e(ram) kayıt adrestableadapter.update(persondataset.adres); // database'e kayıt private void button9_click(object sender, EventArgs e) Application.Exit(); 103

103 Form dan cıkarken otomatik bir kodlama çalışması için formun boş bir yeri tıklanır. Özelliklerden Event( Triger) bölümde FormClosed cift tıklanarak aşagıdaki kodlama yapılır.yani cıkışta otomatik kayıt yapsın. private void Form1_FormClosed(object sender, FormClosedEventArgs e) // form cıkışta otomatik database'e kayıt CurrencyManager sonra = (CurrencyManager)BindingContext[personDataSet.adres]; sonra.endcurrentedit(); // datase'e(ram) kayıt adrestableadapter.update(persondataset.adres); // database'e kayıt Fonksiyonlu Kullanım private void Form1_Load(object sender, EventArgs e) // form ilk acılınca this.adrestableadapter.fill(this.persondataset.adres); textbox1.databindings.add("text", persondataset.adres, "nosu"); textbox2.databindings.add("text", persondataset.adres, "adi"); textbox3.databindings.add("text", persondataset.adres, "soyadi"); textbox4.databindings.add("text", persondataset.adres, "sehir"); textbox5.databindings.add("text", persondataset.adres, "tel"); private CurrencyManager sonra; private void arac(persondataset aa) //private void arac(dataset aa) //sonra = (CurrencyManager)this.BindingContext[aa.Tables[0]]; sonra = (CurrencyManager)BindingContext[aa.adres]; private void button1_click(object sender, EventArgs e) // ilk kayıt arac(persondataset); sonra.position = 0; 104

104 private void button2_click(object sender, EventArgs e) //Önceki kayıt arac(persondataset); if (sonra.position <= 0) MessageBox.Show("baska kayıt kalmadı.ilk kayıttasınız"); else sonra.position -= 1; private void button3_click(object sender, EventArgs e) // Sonraki kayıt arac(persondataset); if (sonra.position >= sonra.count - 1) MessageBox.Show("baska kayıt kalmadı.son kayıttasınız"); else sonra.position += 1; private void button4_click(object sender, EventArgs e) // En son kayıt arac(persondataset); sonra.position = sonra.count - 1; private void button5_click(object sender, EventArgs e) // Kayıt Silme arac(persondataset); DialogResult son; son = MessageBox.Show("kayıtı silmek istiyormusunuz...", "silme kontrolu", MessageBoxButtons.YesNo); if (son == DialogResult.Yes) sonra.removeat(sonra.position); adrestableadapter.update(persondataset.adres); else MessageBox.Show("kayıt silinmedi..."); private void button6_click(object sender, EventArgs e) // database kayıt arac(persondataset); sonra.endcurrentedit(); // dataset'e (ram) kayıt adrestableadapter.update(persondataset.adres); // database'e kayıt MessageBox.Show("Database kayıt yapıldı.."); private void button7_click(object sender, EventArgs e) // Arama int t = 0, b = 0; arac(persondataset); 105

105 foreach (DataRow satir in persondataset.adres.rows) if (satir[0].tostring() == textbox6.text) sonra.position = t; b = 1; return; //for'dan cık t++; if (b == 0) MessageBox.Show("kayıt bulunamadı..."); private void button8_click(object sender, EventArgs e) // Kayıt giriş başlama arac(persondataset); sonra.addnew(); textbox1.focus(); private void Form1_FormClosed(object sender, FormClosedEventArgs e) // form cıkışta otomatik database'e kayıt arac(persondataset); sonra.endcurrentedit(); // datase'e(ram) kayıt adrestableadapter.update(persondataset.adres); // database'e kayıt private void button9_click(object sender, EventArgs e) Application.Exit(); 106

106 SQL cümleler ile Access erişimi Visual c# projesi yaratılır. Button,Label ve Texbox tık tık yaparak veya sürükleyerek veya bir kez sayfaya getirdikten sonra copy-paste ile getiririz. 107

107 Label, button objelerin özelliklerden ismini değiştiririz. Butonlara tek tek tıklanarak kodlama yapılır. 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.Data.OleDb; // yeni eklendi namespace access_sql public partial class Form1 : Form public Form1() InitializeComponent(); // alttaki uc satır eklendi OleDbConnection baglan = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=d:\\c#_calis\\person.accdb"); OleDbCommand veri; // yazmada kullanıyoruz OleDbDataReader oku; // okumada kullanıyoruz 108

108 private void temizleme() textbox1.text = null; textbox2.text = null; textbox3.text = null; textbox4.text = ""; textbox5.text = ""; textbox1.focus(); private void d_oku() oku = veri.executereader(); // oku.read(); sadece bu satırı kullanamayız.kayıt olmaz ise sorun verir.o yüzden while ile kullanırız. int kont = 0; while (oku.read()) kont = 1; textbox1.text = oku["nosu"].tostring(); textbox2.text = oku["adi"].tostring(); textbox3.text = oku["soyadi"].tostring(); textbox4.text = oku["sehir"].tostring(); textbox5.text = oku["tel"].tostring(); if (kont == 0) MessageBox.Show("kayıt yoktur..."); oku.close(); baglan.close(); private void Form1_Load(object sender, EventArgs e) private void button10_click(object sender, EventArgs e) // temizleme temizleme(); private void button1_click(object sender, EventArgs e) // ilk kayıt baglan.open(); veri = new OleDbCommand("select top 1 nosu,adi,soyadi,sehir,tel from adres order by nosu asc ", baglan); d_oku(); private void button2_click(object sender, EventArgs e) 109

109 // onceki kayıt baglan.open(); veri = new OleDbCommand("select top 1 nosu,adi,soyadi,sehir,tel from adres where nosu<'" + textbox1.text + "' order by nosu desc", baglan); d_oku(); private void button3_click(object sender, EventArgs e) // sonraki kayıt baglan.open(); veri = new OleDbCommand("select top 1 nosu,adi,soyadi,sehir,tel from adres where nosu>'" + textbox1.text + "' ", baglan); d_oku(); private void button5_click(object sender, EventArgs e) // son kayıt baglan.open(); veri = new OleDbCommand("select top 1 nosu,adi,soyadi,sehir,tel from adres order by nosu desc ", baglan); d_oku(); private void button4_click(object sender, EventArgs e) // arama baglan.open(); veri = new OleDbCommand("select nosu,adi,soyadi,sehir,tel from adres where nosu='" + textbox1.text + "'", baglan); d_oku(); private void button7_click(object sender, EventArgs e) // kayıt etme //veritabanına veri eklerken insert sql cümlesi yazıcaz. baglan.open();//öncelikle bağlantımızı açıyoruz. veri = new OleDbCommand("insert into adres values('" + textbox1.text + "', '" + textbox2.text + "', '" + textbox3.text + "','" + textbox4.text + "','" + textbox5.text + "')", baglan); veri.executenonquery(); temizleme(); baglan.close(); private void button8_click(object sender, EventArgs e) // degiştirme baglan.open(); veri = new OleDbCommand("update adres set nosu='" + textbox1.text + "',adi='" + textbox2.text + "',soyadi='" + textbox3.text + "',sehir='" + textbox4.text + "',tel='" + textbox5.text + "' where nosu='" + textbox1.text + "'", baglan); veri.executenonquery(); 110

110 temizleme(); MessageBox.Show(" Değiştirme yapıldı.."); baglan.close(); private void button6_click(object sender, EventArgs e) // kayıt silme DialogResult son; son = MessageBox.Show("kayıtı silmek istiyormusunuz...", "silme kontrolu", MessageBoxButtons.YesNo); if (son == DialogResult.Yes) baglan.open(); veri = new OleDbCommand("delete from adres where nosu='" + textbox1.text + "' ", baglan); veri.executenonquery(); temizleme(); MessageBox.Show(" Kayıt Silindi..."); baglan.close(); else MessageBox.Show("kayıt silinmedi..."); private void button9_click(object sender, EventArgs e) // Cıkıs Application.Exit(); Microsoft Sql işlemleri Sqlserver 2003,2005,2008 sürümleri vardır. SQL Server 2000 Evaluation Edition: 120 gün kısıtlı kullanıma sahip update edilemeyen (service pack yüklenemeyen) deneme amaçlı kullanılan sürümdür. SQL Server 2000 Developer Edition: Geliştirme amaçlı kullanılan üründür. Genelde yazılım geliştiriciler tarafından kullanılır. Diğer sürümlerde bulunan tüm özelliklere sahiptir. SQL Server 2000 Windows CE Edition: Pocet Pc lerde kullanılan Windows CE işletim sistemleri için geliştirilmiş sürümdür. SQL Server 2000 Desktop Engine (Personal Edition): Maximun 2GB data boyutunu destekleyen olap engine uygulamalarına ambarlık yapabilecek kapasitede olan aynı zamanda maximum workgroup kullanıcılarını destekleyen sürümdür. Server dışındaki bilgisayarlarada kurulabilir. Xp, Win98, WinMe gibi. 111

111 SQL Server 2000 Standart Edition: Windows NT server family üzerine kurulan bilir. Teorik olarak 1,048,516 TB. Data boyutunu destekler. 2 GB memory 4 CPU desteği vardır. SQL Server 2000 Enterprise Edition: Hepsini kapsar.windows NT server family üzerine kurulan bilir Teorik olarak 1,048,516 TB. Data boyutunu destekler. Cluster olarak krulabilir. 64 GB memory 32 CPU desteği vardır. Tabii ki bu destek işletim sistemi ile ilgilidir. SQL Server bit Edition: SQL Server 2000 serisinin en taze ürünüdür. Intel Itanium - tabanlı serverlar üzerinde 64 bit işletim sistemine sahip serverlarda gerçek performansına ulaşılır. SQLserver 2008 SQL Server 2008 Enterprise :SQL Server 2008 Enterprise, kurumsal çevrimiçi işlem ve veri ambarı uygulamalarının yüksek taleplerini karşılayan kapsamlı bir veri platformudur. SQL Server 2008 Standard:SQL Server 2008 Standard departman uygulamalarını çalıştırmak için sınıfının en iyisi kullanım ve yönetim kolaylığı sağlayan tam bir veri yönetimi ve kurumsal zeka platformudur. Özel Sürümler SQL Server 2008 Workgroup :Şubeleri, güvenli uzaktan eşitleme ve yönetim özellikleri sağlayan bu güvenilir veri yönetimi ve raporlama platformunda çalıştırılır. SQL Server 2008 Web :Yüksek kullanılabilir Internet tarafı web hizmeti ortamlarıyla yüksek düşük maliyetli, yüksek ölçekli, yüksek kullanılabilir web uygulamaları veya veri barındırma çözümleri sağlanır. SQL Server 2008 Developer: Sadece geliştirme, test ve gösterim amacıyla geliştirici başına lisans verilen düşük maliyetli SQL Server 2008 Enterprise sürümü. Ücretsiz Sürümler SQL Server 2008 Express :Ücretsiz olarak yükleyebileceğiniz SQL Server 2008 Express, masaüstü ve küçük sunucu uygulamalarını öğrenmek ve oluşturmak ve ISV'ler tarafından dağıtım için idealdir. SQL Server Compact 3.5 :Ücretsiz olarak yüklenebilen SQL Server Compact, geliştiricilerin SQL Server'ı doğrudan uygulamalarına dahil etmesini sağlar ve tüm Microsoft Windows 112

112 platformlarındaki mobil aygıtlar, masaüstü sistemleri ve web istemcileri için arada bir bağlanan ve bağımsız uygulamalar sağlar. Bulut Hizmetleri SQL Azure Veritabanı :Microsoft SQL Azure Veritabanı SQL Server teknolojilerini kullanan bulut tabanlı bir ilişkisel veritabanı hizmetidir. Microsoft tarafından buluttan barındırılan yüksek kullanılabilir, ölçeklendirilebilir, çok müşterili bir veritabanı hizmetidir. SQL Azure Veritabanı, çoklu veritabanlarının kolay bir şekilde sağlanmasına ve uygulanmasına olanak verir. Geliştiricilerin herhangi bir yazılımı kurması, ayarlaması, yama uygulaması veya yönetmesi gerekmez. Yüksek Kullanılabilirlik ve hata toleransı dahilidir ve herhangi bir fiziksel yönetim gerektirmez. SQL Azure Veritabanı Transact-SQL (T-SQL) destekler. Müşteriler T-SQL tabanlı benzer ilişkisel veri modeli ve mevcut programlama araçları hakkındaki bilgilerini kullanabilir. SQL Azure Veritabanı, iki sürüm sağlar: Web Edition ve Business Edition. Microsoft Sql Server 2005 ve Client Management kurulumu Microsoft SQL server2005 Express kurulumu SQLEXPR.EXE -- Install 113

113 114

114 115

115 Microsoft SQL Client Management Kurulumu SQLServer2005_SSMSEE.msi -----> Install 116

116 Eklenmiş olan Microsoft Sql2005 programları Microsoft SQL Server a Giriş SQL Server Management Studio Express ile girilir. 117

117 118

118 Microsoft SQL Database,table oluşturma Sql Server Management Studio Express programına, Windows Vista ve Windows7 de direk giriş yapılmaz. Eğer yapılırsa Database, table oluşturamayız, izin sorunu oluşur.sağ Mouse - yönetici modunda çalıştır olarak gireriz. SQL Server Management Studio Express ile girilir. Databases üzerinde sağ Mouse tıklayarak New Database seçilir. 119

119 Yeni oluşacak olan Database ismini uretim gibi veririz. Microsoft SQL de table oluşturma SQL Server Management Studio Express ile girilir. 120

120 Table oluşturma -Table oluşturmak istediğimiz Database in (Uretim gibi) altında bulunan Tables a tıklarız. Daha sonra sağ mouse ile New Table seçeriz. -nosu,adi, soyadi gibi değişken isimlerini tek tek yazarak table oluştururuz. - Primary key tanımı için nosu üzerinde sağ mouse tılayarak Set primary key seçeriz. - Tanımlı table dan cıkarken, table ismini adres olarak veririz. 121

121 Table Designına giriş (değişken tanımlarına) Data girişi. Sırasıyla Uretim, Tables ve adres tıklanır. adres üzerinde sağ mouse ile Open table seçilerek veriler girilir. Microsoft SQL Server Veri tabanı ve Table isimleri Veritabanı : Uretim Table : adres 122

122 Microsoft Sql ile kayıt işlemleri Access teki 1.yöntem,2.yöntem,3.yöntem ile aynısıdır.sadece table secimi farklıdır. Texbox larda gösterme ve önceki, sonraki kayıtlara gecme de ise table secimi ve kodlama farklıdır. Kodlamada persondataset yerine egitimdataset kullanıyoruz. Table secimi 1. Aşama : Access 1. Yöntem: Access 2. Yöntem: 123

123 Access 3. Yöntem : Texbox larda gösterme ve önceki, sonraki kayıtlara gecme : 124

124 Table secimi 2. Aşama : 125

125 Texbox larda gösterme ve önceki, sonraki kayıtlara gecmede kodlama access deki persondataset egitimdataset olarak değişir. private void Form1_Load(object sender, EventArgs e) // TODO: This line of code loads data into the 'egitimdataset.adres' table. You can move, or remove it, as needed. this.adrestableadapter.fill(this.egitimdataset.adres); textbox1.databindings.add("text", egitimdataset.adres, "nosu"); textbox2.databindings.add("text", egitimdataset.adres, "adi"); textbox3.databindings.add("text", egitimdataset.adres, "soyadi"); textbox4.databindings.add("text", egitimdataset.adres, "sehir"); textbox5.databindings.add("text", egitimdataset.adres, "tel"); private void button1_click(object sender, EventArgs e) // ilk kayıt CurrencyManager sonra = (CurrencyManager)BindingContext[egitimDataSet.adres]; sonra.position = 0; private void button2_click(object sender, EventArgs e) //Önceki kayıt CurrencyManager sonra = (CurrencyManager)BindingContext[egitimDataSet.adres]; if (sonra.position <= 0) MessageBox.Show("baska kayıt kalmadı.ilk kayıttasınız"); 126

126 else sonra.position -= 1; private void button3_click(object sender, EventArgs e) // Sonraki kayıt CurrencyManager sonra = (CurrencyManager)BindingContext[egitimDataSet.adres]; if (sonra.position >= sonra.count - 1) MessageBox.Show("baska kayıt kalmadı.son kayıttasınız"); else sonra.position += 1; private void button4_click(object sender, EventArgs e) // En son kayıt CurrencyManager sonra = (CurrencyManager)BindingContext[egitimDataSet.adres]; sonra.position = sonra.count - 1; private void button5_click(object sender, EventArgs e) // Kayıt Silme CurrencyManager sonra = (CurrencyManager)BindingContext[egitimDataSet.adres]; DialogResult son; son = MessageBox.Show("kayıtı silmek istiyormusunuz...", "silme kontrolu", MessageBoxButtons.YesNo); if (son == DialogResult.Yes) sonra.removeat(sonra.position); adrestableadapter.update(egitimdataset.adres); else MessageBox.Show("kayıt silinmedi..."); private void button6_click(object sender, EventArgs e) // database kayıt CurrencyManager sonra = (CurrencyManager)BindingContext[egitimDataSet.adres]; sonra.endcurrentedit(); // dataset'e (ram) kayıt adrestableadapter.update(egitimdataset.adres); // database'e kayıt MessageBox.Show("Database kayıt yapıldı.."); private void button7_click(object sender, EventArgs e) // Arama int t = 0, b = 0; CurrencyManager sonra = (CurrencyManager)BindingContext[egitimDataSet.adres]; foreach (DataRow satir in egitimdataset.adres.rows) if (Convert.ToInt32(satir[0].ToString()) == Convert.ToInt32(textBox6.Text)) 127

127 sonra.position = t; b = 1; return; //for'dan cık t++; if (b == 0) MessageBox.Show("kayıt bulunamadı..."); private void button8_click(object sender, EventArgs e) // Kayıt giriş başlama CurrencyManager sonra = (CurrencyManager)BindingContext[egitimDataSet.adres]; sonra.addnew(); textbox1.focus(); private void button9_click(object sender, EventArgs e) Application.Exit(); private void Form1_FormClosed(object sender, FormClosedEventArgs e) // form cıkışta otomatik database'e kayıt CurrencyManager sonra = (CurrencyManager)BindingContext[egitimDataSet.adres]; sonra.endcurrentedit(); // dataset'e(ram) kayıt adrestableadapter.update(egitimdataset.adres); // database'e kayıt SQL cümleler ile Microsoft Sql erişimi Access ile Microsoft SQL arasında kod farklılıkları Access using System.Data.OleDb; OleDbConnection OleDbCommand OleDbDataReader Microsoft SQL using System.Data.SqlClient; SqlConnection SqlCommand sqldatareader Access : OleDbConnection baglan = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=d:\\c#_calis\\person.accdb"); Microsoft Sql : SqlConnection baglan = new SqlConnection(@"Data Source=VMBILGISAYAR\SQLEXPRESS3;Initial Catalog=egitim;Integrated Security=True"); 128

128 Access veya M.sql de yukardaki kırmızı renkli bağlantı kodlarını Internet ten bulabiliriz veya Data - Add new data source a denemek için girerek, en sonunda oluşan connection String kodunu copy-paste ile alırız. 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.Data.SqlClient; // Microsoft SQL için eklendi namespace access_sql public partial class Form1 : Form public Form1() InitializeComponent(); // alttaki iki satır eklendi // catalog - database ismi(egitim), Data source - Çalışan Microsoft SQL ismi( VMBILGISAYAR\SQLEXPRESS3 ) SqlConnection baglan = new SqlConnection(@"Data Source=VMBILGISAYAR\SQLEXPRESS3;Initial Catalog=egitim;Integrated Security=True"); SqlCommand veri; // yazmada kullanıyoruz SqlDataReader oku; // okumada kullanıyoruz private void temizleme() 129

129 textbox1.text = null; textbox2.text = null; textbox3.text = null; textbox4.text = ""; textbox5.text = ""; textbox1.focus(); private void d_oku() oku = veri.executereader(); // oku.read(); sadece bu satırı kullanamayız.kayıt olmaz ise sorun verir.o yüzden while ile kullanırız. int kont = 0; while (oku.read()) kont = 1; textbox1.text = oku["nosu"].tostring(); textbox2.text = oku["adi"].tostring(); textbox3.text = oku["soyadi"].tostring(); textbox4.text = oku["sehir"].tostring(); textbox5.text = oku["tel"].tostring(); if (kont == 0) MessageBox.Show("kayıt yoktur..."); oku.close(); baglan.close(); private void Form1_Load(object sender, EventArgs e) private void button10_click(object sender, EventArgs e) // temizleme temizleme(); private void button1_click(object sender, EventArgs e) // ilk kayıt baglan.open(); veri = new SqlCommand("select top 1 nosu,adi,soyadi,sehir,tel from adres order by nosu asc ", baglan); d_oku(); private void button2_click(object sender, EventArgs e) // onceki kayıt baglan.open(); 130

130 veri = new SqlCommand("select top 1 nosu,adi,soyadi,sehir,tel from adres where nosu<'" + textbox1.text + "' order by nosu desc", baglan); d_oku(); private void button3_click(object sender, EventArgs e) // sonraki kayıt baglan.open(); veri = new SqlCommand("select top 1 nosu,adi,soyadi,sehir,tel from adres where nosu>'" + textbox1.text + "' ", baglan); d_oku(); private void button5_click(object sender, EventArgs e) // son kayıt baglan.open(); veri = new SqlCommand("select top 1 nosu,adi,soyadi,sehir,tel from adres order by nosu desc ", baglan); d_oku(); private void button4_click(object sender, EventArgs e) // arama baglan.open(); veri = new SqlCommand("select nosu,adi,soyadi,sehir,tel from adres where nosu='" + textbox1.text + "'", baglan); d_oku(); private void button7_click(object sender, EventArgs e) // kayıt etme //veritabanına veri eklerken insert sql cümlesi yazıcaz. baglan.open();//öncelikle bağlantımızı açıyoruz. veri = new SqlCommand("insert into adres values('" + textbox1.text + "', '" + textbox2.text + "', '" + textbox3.text + "','" + textbox4.text + "','" + textbox5.text + "')", baglan); veri.executenonquery(); temizleme(); baglan.close(); private void button8_click(object sender, EventArgs e) // degiştirme baglan.open(); veri = new SqlCommand("update adres set nosu='" + textbox1.text + "',adi='" + textbox2.text + "',soyadi='" + textbox3.text + "',sehir='" + textbox4.text + "',tel='" + textbox5.text + "' where nosu='" + textbox1.text + "'", baglan); veri.executenonquery(); temizleme(); MessageBox.Show(" Değiştirme yapıldı.."); baglan.close(); 131

131 private void button6_click(object sender, EventArgs e) // kayıt silme DialogResult son; son = MessageBox.Show("kayıtı silmek istiyormusunuz...", "silme kontrolu", MessageBoxButtons.YesNo); if (son == DialogResult.Yes) baglan.open(); veri = new SqlCommand("delete from adres where nosu='" + textbox1.text + "' ", baglan); veri.executenonquery(); temizleme(); MessageBox.Show(" Kayıt Silindi..."); baglan.close(); else MessageBox.Show("kayıt silinmedi..."); private void button9_click(object sender, EventArgs e) // Cıkıs Application.Exit(); 132

132 Console Đşlemleri 133

133 static void Main(string[] args) string isim,adres; Console.WriteLine("kayıt sistemi \n\n ismini giriniz..:"); isim=console.readline(); Console.WriteLine("adresini giriniz..:"); adres=console.readline(); Console.WriteLine("isminiz..:"+isim+"\n"+"adres..:"+adres+" cıkıs için Enter"); Console.ReadLine(); Uygulama : Sınıf gecme hesaplama static void Main(string[] args) Console.WriteLine("degerlendirme yapacakmısınız (E/H)"); string deger; deger=console.readline(); if(deger=="e") degerlendir(); private static void degerlendir() int vize1,vize2,final; double sonuc; Console.WriteLine("birinci vize notu..:"); vize1=convert.toint32(console.readline()); Console.WriteLine("ikinci vize notu..:"); vize2=convert.toint32(console.readline()); Console.WriteLine("final notu..:"); final=convert.toint32(console.readline()); sonuc=(vize1+vize2)*0.2+final*0.6; if(sonuc>=50) Console.WriteLine("sınıfı gectiniz.."); else Console.WriteLine("sınıfı gecemediniz.."); Console.WriteLine("not ortalaması..:"+sonuc.tostring()); Console.WriteLine("degerlendirme yapacakmısınız (E/H)"); string deger; deger=console.readline(); if(deger=="e") degerlendir(); 134

134 Uygulama : Access dosyadan kayıt okuma using System; using System.Data; // ekleme yapıldı using System.Data.OleDb; // ekleme yapıldı static void Main(string[] args) string baglanti = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=d:\\c#_calis\\person.accdb"; DataSet ds_yeni = new DataSet(); OleDbConnection con_yeni = new OleDbConnection(baglanti); OleDbDataAdapter da_yeni = new OleDbDataAdapter("select * from adres", con_yeni); da_yeni.fill(ds_yeni, "adres"); Console.WriteLine(" tüm kayıtlar "); Console.WriteLine(" "); foreach (DataRow satir in ds_yeni.tables[0].rows) Console.WriteLine(satir[1].ToString() + " " + satir[2].tostring() + " " + satir[3].tostring()); Console.ReadLine(); 135

135 Raporlama ( Crystal Reports ) Access dan rapor oluşturma 1.Yöntem: Direk rapor oluşturma 136

136 137

137 Crystalreport1.rpt şeklinde Rapor oluşur. Main report olarak kod kısmını, Main Report Previev olarak çalışmış halini görebiliriz. Project -- add new item - Window form ile form2 ekleriz. Form2 ye bir buton ekleriz ve ismini rapor şeklinde değiştiririz. 138

138 Rapor butona cift tıklayarak aşagıdaki kodu yazarız. Form1 yeni = new Form1(); yeni.show(); 139

139 İlk form Form1 yaratıldıgı için onu değiştirmeliyiz. Yani başlangıc formunu Form2 yaparız.program.cs ye tıklayarak form1 i form2 yaparız. Şimdi F5 veya Debug - start debugging veya çalıştırma iconuna tıklayarak çalıştırırız. 140

140 2.Yöntem: Form üzerinde sonradan rapor oluşturma C# a girilerek form1 oluşturulur. Sonradan Crystal report eklemek ( toolbox a icon olarak gözükmesi için ) için.net framework4 clint profile ın.net framework4 olarak değiştirilmesi gerekir. 141

141 Form2 oluşturulur. Crystal report oluşturulur. 142

142 143

143 Crystalreport1.rpt şeklinde Rapor oluşur. Main report olarak kod kısmını, Main Report Previev olarak çalışmış halini görebiliriz. Form2 ye tıklar. Toolbox tan Crystal report iconu, çift tıklayarak veya sürükleyerek form2 üzerinde rapor oluştururuz. 144

144 Form2 üzerinde crystal report secilerek özelliklerden report source a crystalreport1 secilir. Form1 seceriz( Eğer form1 gizli ise Solution explorer dan form1.cs tıklayarak form1 sayfasını getiririz ).Form1 üzerinde bir buton oluştururuz ve button un ismini rapor olarak değiştiririz. Butona cift tıklayarak kodlama yaparız. 145

145 Form2 yeni = new Form2(); yeni.show(); 146

146 F5 veya Debug - start debugging veya çalıştırma iconuna çalıştırırız. tıklayarak 147

147 Microsoft SQL den rapor oluşturma Access den rapor oluşturma yöntemi ile aynıdır.sadece Erişim olarak sql server kullanırız. 148

148 Şartlı Raporlar Access den belirli kayıt raporu oluşturma C# a girilerek form1 oluşturulur. Sonradan Crystal report eklemek ( toolbox a icon olarak gözükmesi için ) için.net framework4 clint profile ın.net framework4 olarak değiştirilmesi gerekir. 149

149 Form2 oluşturulur. Crystal report oluşturulur. 150

150 Hatırlatma : select * from adres where nosu ="?ykod" - noyu 100 veya,200 gibi tam gireriz. select * from adres where nosu like "?ykod" - noyu 100 veya 1% veya 10% girebiliriz. 1 ile veya 10 ile başlayanları listeler. select * from adres where nosu like "?ykod"&"%" , 1, 10 verebiliriz. 100 veya 1 veya 10 ile başlayanları listeler. Boş girersek hepsini listeler. 151

151 152

152 Crystalreport1.rpt şeklinde Rapor oluşur. Main report olarak kod kısmını, Main Report Previev olarak çalışmış halini görebiliriz. Form2 ye tıklar. Toolbox tan Crystal report iconu, çift tıklayarak veya sürükleyerek form2 üzerinde rapor oluştururuz. 153

153 Form2 üzerinde crystal report secilerek özelliklerden report source a crystalreport1 secilir. Form1 seceriz( Eğer form1 gizli ise Solution explorer dan form1.cs tıklayarak form1 sayfasını getiririz ).Form1 üzerinde bir TextBox ve bir buton oluştururuz ve button un ismini rapor olarak değiştiririz. Butona cift tıklayarak kodlama yaparız. 154

154 public static string kodx; Form2 yeni=new Form2(); kodx=textbox1.text; yeni.show(); 155

155 Form2 sayfasını secer, çift tıklar ve aşagıdaki kodlamayı yaparız. CrystalReport1 rapor = new CrystalReport1(); CrystalDecisions.Shared.ParameterValues parametre = new CrystalDecisions.Shared.ParameterValues(); CrystalDecisions.Shared.ParameterDiscreteValue deger = new CrystalDecisions.Shared.ParameterDiscreteValue(); deger.value = Form1.kodx; parametre.add(deger); rapor.datadefinition.parameterfields["ykod"].applycurrentvalues(parametre); crystalreportviewer1.reportsource = rapor; F5 veya Debug - start debugging veya çalıştırma iconuna çalıştırırız. tıklayarak 156

156 Microsoft SQL den belirli kayıt raporu oluşturma Access den rapor oluşturma yöntemi ile aynıdır.sadece Erişim olarak sql server kullanırız. 1.yöntem : Komut satırı ile 157

157 Hatırlatma : Access de cift tırnak ( ), sql de tek tırnak ( ) kullanıyoruz.access ve Sql de aşagıdaki satırları kopya ile kullanmayalım.kullanırsakta cift veya tek tırnagı orada mutlaka yeniden yazalım. select * from adres where nosu =?ykod - noyu 100 veya,200 gibi tam gireriz. select * from adres where nosu like?ykod - noyu 100% veya 1% veya 10% girebiliriz. 100 ile 1 ile veya 10 ile başlayanları listele.sadece 100 yazamayız. select * from adres where nosu like?ykod% , 1, 10 verebiliriz. 100 veya 1 veya 10 ile başlayanları listele. Boş girersek hepsini listeler. 158

158 2.yöntem : Store procedure kullanımı ile Microsoft Sql Server da sec isminde bir store procedure oluştururuz. CREATE PROCEDURE varchar(25) as select * from adres where nosu=@ykod GO Hatırlatma: where nosu=@ykod ,200,300 gibi tam no listelenir. where nosu - 100%,1% girilmelidir.100 ile,1 ile başlayanlar listelenir. where nosu - boş girilirse hepsi, 1girilirse, 1 ile başlayanlar,100 girilirse 100 ile başlayanlar. Microsoft SQL Server a girilir. Sql Server Management Studio Express programına, Windows Vista ve Windows7 de direk giriş yapılmaz. Eğer yapılırsa Database, table oluşturamayız, izin sorunu oluşur.sağ Mouse - yönetici modunda çalıştır olarak gireriz. 159

159 Yazdıgımız procedure önce sağ Mouse -- Save sec.sql gibi saklarız. Sonra çalıştırırız (execute ) yani sec procedure oluşturmuş oluruz. Sakladıgımız procedure sql dosyasını daha sonra istersek kullanabiliriz. O dosyayı görme. Procedure oluşturma 160

160 Oluşan procedure dosyasını görme. Programa bir kez girip cıktıktan sonra veya refresh ederek görebiliriz. Access den rapor oluşturma yöntemi ile aynıdır.sadece Erişim olarak sql server kullanırız. 161

161 Form2 kod sayfasında ] olarak kullanırız. 162

162 CrystalReport1 rapor = new CrystalReport1(); CrystalDecisions.Shared.ParameterValues parametre = new CrystalDecisions.Shared.ParameterValues(); CrystalDecisions.Shared.ParameterDiscreteValue deger = new CrystalDecisions.Shared.ParameterDiscreteValue(); deger.value = Form1.kodx; parametre.add(deger); rapor.datadefinition.parameterfields["@ykod"].applycurrentvalues(parametre); crystalreportviewer1.reportsource = rapor; 163

163 Cift şartlı kullanma Table erişimi yapılırken - select * from adres where nosu=?ykod and adi=?yadi -- access select * from adres where nosu=?ykod and adi=?yadi -- Microsoft SQL Not: yukardaki kodlar copy ile programa alınırsa cift veya tek tırnak yeniden yazılmalıdır.uyumsuzluk gösteriyor. Form değişiklik -- iki textbox eklenir.nosu ve adı için 164

164 Form2 de kod değişiklik --- CrystalReport1 rapor = new CrystalReport1(); CrystalDecisions.Shared.ParameterValues parametre = new CrystalDecisions.Shared.ParameterValues(); CrystalDecisions.Shared.ParameterDiscreteValue deger = new CrystalDecisions.Shared.ParameterDiscreteValue(); deger.value = Form1.kodx; parametre.add(deger); rapor.datadefinition.parameterfields["ykod"].applycurrentvalues(parametre); deger.value = Form1.adx; parametre.add(deger); rapor.datadefinition.parameterfields["yadi"].applycurrentvalues(parametre); crystalreportviewer1.reportsource = rapor; Form1 botton kodda degişiklik - public static string kodx; public static string adx; Form2 yeni=new Form2(); kodx=textbox1.text; adx=textbox2.text; yeni.show(); 165

165 Raporda işlem yapma Başlık verme Toolbox tan TextObject iconu sürkleyerek sayfa üst bilgisine bırakılır. Sağa sola taşırız. Properties ten rengini ve fontunu veya üst cubuktan değiştirebiliriz. 166

166 String deger olan gun_say ve gun_ucret i integer a cevirme 1) Field Explorer tıklanır. 2) Formula Fields - sağ Mouse - New secilerek ucret ismi verilir. 167

167 3) tonumber formulu yazılarak kaydet ile saklanır.ucret değişkenimiz olmuş oldu.rapor alanlarında ucret degişkenini rapor icerisine sürükleyerek veya cift tıklayarak getirebiliriz. 4) aynı yöntem ile string deger olan gun_say değişkenini integer haline say isminde getiririz. 168

168 5) ucret ve say ile carpım yapılarak brut değişkeni oluştururuz. 6) brut değişkeni sayfa içerine sürüklenir.acıklama olarak üste brut yazısı cıkar.istersek Text Object sürükleyerek de brut acıklaması yazdırabiliriz.textobject sürükleyerek bir alan oluşturuz ve icerisine brut yazarız. 169

169 7) En alta brut degerlerini tbrut alanına toplatalım. 8) tbrut degerini sayfa icerisine sürükleyelim. 9) F5 ile raporu çalıştırırız. 170

Karabük Üniversitesi, Mühendislik Fakültesi...www.ibrahimcayiroglu.com WEB TEKNOLOJİLERİ

Karabük Üniversitesi, Mühendislik Fakültesi...www.ibrahimcayiroglu.com WEB TEKNOLOJİLERİ WEB TEKNOLOJİLERİ VISUAL STUDIO DA YENİ BİR PROJE OLUŞTURMA Visual Studio (VS) programını çalıştırdığımızda karşımıza boş bir ekran gelir. Yeni bir proje oluştururken File>New>Project yolu kullanılarak

Detaylı

1 GİRİŞ 1 C# Hakkında Genel Bilgiler 1.Net Framework 1 CLR 2 CLR Ve CTS 2 Temel Sınıf Kütüphanesi 3 CIL 3 Algoritma Nedir? 4 Sözde Kod (Pseudocode) 5

1 GİRİŞ 1 C# Hakkında Genel Bilgiler 1.Net Framework 1 CLR 2 CLR Ve CTS 2 Temel Sınıf Kütüphanesi 3 CIL 3 Algoritma Nedir? 4 Sözde Kod (Pseudocode) 5 İÇİNDEKİLER IX İÇİNDEKİLER 1 GİRİŞ 1 C# Hakkında Genel Bilgiler 1.Net Framework 1 CLR 2 CLR Ve CTS 2 Temel Sınıf Kütüphanesi 3 CIL 3 Algoritma Nedir? 4 Sözde Kod (Pseudocode) 5 2 VISUAL STUDIO GELİŞTİRME

Detaylı

2 VISUAL STUDIO 2012 GELİŞTİRME ORTAMI

2 VISUAL STUDIO 2012 GELİŞTİRME ORTAMI İÇİNDEKİLER VII İÇİNDEKİLER 1 GİRİŞ 1 C# Hakkında Genel Bilgiler 1.NET Framework 1 CLR 2 CLR Ve CTS 2 Temel Sınıf Kütüphanesi 3 CIL 3 Algoritma Nedir? 4 Sözde Kod (Pseudocode) 5 2 VISUAL STUDIO 2012 GELİŞTİRME

Detaylı

İNTERNET TABANLI PROGRAMLAMA

İNTERNET TABANLI PROGRAMLAMA İNTERNET TABANLI PROGRAMLAMA VISUAL STUDIO DA YENİ BİR PROJE OLUŞTURMA Visual Studio (VS) programını çalıştırdığımızda karşımıza boş bir ekran gelir. Yeni bir proje oluştururken File>New>Project yolu kullanılarak

Detaylı

Visual Studio 2010 veya 2013, Sharp Develop 3.2 programlarını kurabilirsiniz.

Visual Studio 2010 veya 2013, Sharp Develop 3.2 programlarını kurabilirsiniz. GÖRSEL PROGRAMLAMA II Visual Studio 2010 veya 2013, Sharp Develop 3.2 programlarını kurabilirsiniz. Başlat/Programlar/Microsoft Visual Studio 2010 çalıştırılır. Açılan programda New Project seçilir, sol

Detaylı

Görsel Programlama (Visual Programming) 2.Hafta

Görsel Programlama (Visual Programming) 2.Hafta Görsel Programlama (Visual Programming) 2.Hafta 2016-2017 Bahar Dönemi Class Yapısı ve Form 1Muhammer İLKUÇAR, MAKÜ-2015 BURDUR Class - Obje Nesne (Nesne tabanlı programlama) İnsan ırkının ortak özelliklerini

Detaylı

ASP.NET ile Bir Web Sitesi Oluşturma

ASP.NET ile Bir Web Sitesi Oluşturma 29,30 Eylül 2011 ASP.NET ile Bir Web Sitesi Oluşturma ASP.NET sitesi oluşturmak için File menüsündeki, New açılır listesindeki, Web Site komutuna tıklıyoruz Açılan pencereden C# içindeki ASP.NET Web Site

Detaylı

Bilgisayar Programcılığı. Görsel Programlama-I. Öğr. Gör. Cansu AYVAZ GÜVEN

Bilgisayar Programcılığı. Görsel Programlama-I. Öğr. Gör. Cansu AYVAZ GÜVEN Bilgisayar Programcılığı Görsel Programlama-I Öğr. Gör. Cansu AYVAZ GÜVEN DİYALOG PENCERELERİ MessageBox File Dialog Pencereleri o ColorDialog o FolderBrowserDialog o FontDialog o OpenFileDialog o SaveFileDialog

Detaylı

C# Yazım Kuralları ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II 1 FEHİM KÖYLÜ

C# Yazım Kuralları ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II 1 FEHİM KÖYLÜ C# Yazım Kuralları 1 İçindekiler C# Yazım Kuralları Veritipleri Değişkenler Operatörler Sınıflar Nesneler, Özellik, Metot ve Olay Bileşenler 2 C# yazım kuralları Deyimlerde büyük küçük harf yazıma uyulmalı

Detaylı

İNTERNET TABANLI PROGRAMLAMA- 3.ders

İNTERNET TABANLI PROGRAMLAMA- 3.ders DİZİLER İNTERNET TABANLI PROGRAMLAMA- 3.ders Diziler bir çok bilgiyi tek bir değişken içerisinde tutmamızı sağlayan ifadelerdir. Dizide tutulan bilgiler Ram da tutulur. Elektrikler kesildiğinde dizideki

Detaylı

Yeni bir proje açarken File New - Web Site diyoruz. Gelen ekranda Visual Basic veya C# seçilebilir. Biz ders kapsamında C# programlama dilini seçtik.

Yeni bir proje açarken File New - Web Site diyoruz. Gelen ekranda Visual Basic veya C# seçilebilir. Biz ders kapsamında C# programlama dilini seçtik. ASP.NET DERS 1 Yeni bir proje açarken File New - Web Site diyoruz. Gelen ekranda Visual Basic veya C# seçilebilir. Biz ders kapsamında C# programlama dilini seçtik. Gelen ekranda Visual C# seçildikten

Detaylı

Görsel Programlama (Visual Programming) 2.Hafta

Görsel Programlama (Visual Programming) 2.Hafta Muhammer İLKUÇAR, MAKÜ-2015 BURDUR Görsel Programlama (Visual Programming) 2.Hafta 2014-2015 Bahar Dönemi CLASS YAPISI 1 Muhammer İLKUÇAR, MAKÜ-2011 BURDUR Class - Obje Nesne (Nesne tabanlı programlama)

Detaylı

1 C#.NET GELİŞTİRME ORTAMI 1 Visual Studio 2015 Arayüzü 4 Menu Window 6 Solution Explorer 7 Properties Window 8 Server Explorer 8 Toolbox 9

1 C#.NET GELİŞTİRME ORTAMI 1 Visual Studio 2015 Arayüzü 4 Menu Window 6 Solution Explorer 7 Properties Window 8 Server Explorer 8 Toolbox 9 VII 1 C#.NET GELİŞTİRME ORTAMI 1 Visual Studio 2015 Arayüzü 4 Menu Window 6 Solution Explorer 7 Properties Window 8 Server Explorer 8 Toolbox 9 2 KOD YAZMAYA BAŞLANGIÇ 11.Net Framework 11 Yeni Proje Oluşturmak

Detaylı

Response : Sunucunun istemciye veri yollamasını

Response : Sunucunun istemciye veri yollamasını Response : Sunucunun istemciye veri yollamasını 27 Ekim 2011 / Perşembe Örnek : 2 tane sayfa açıyoruz,1nci ye TextBox1 ve Button ekliyoruz. Şunu istiyoruz,1nci sayfada şifre girilince, Button u tıklayınca

Detaylı

HSancak Nesne Tabanlı Programlama I Ders Notları

HSancak Nesne Tabanlı Programlama I Ders Notları Konsol Uygulaması Oluşturma Konsol uygulaması oluşturmak için program açıldıktan sonra Create: Project ya da New Project seçeneği tıklanabilir. New Project penceresini açmak için farklı yollar da vardır.

Detaylı

Görsel Programlama (Visual Programming)

Görsel Programlama (Visual Programming) Görsel Programlama (Visual Programming) 2014-2015 Bahar Dönemi ListBox 1 2 Bileşeni(Nesnesi) Text Özelliği TextBox nesnesi gibi kullanılabilir 3 Item Ekleme 4 combobox1.maxdropdownitems = 5; combobox1.maxdropdownwidth=200;

Detaylı

İNTERNET TABANLI PROGRAMLAMA

İNTERNET TABANLI PROGRAMLAMA İNTERNET TABANLI PROGRAMLAMA DÖNGÜLER (FOR, WHILE, DO-WHILE) C# da döngüleri dört çeşit olarak sayabiliriz. Bunlar a) For döngüsü: Bu döngüde başlangıç ve bitiş sınırları verilerek kullanılır. Döngü tanım

Detaylı

VISUAL C#.NET. CONSOLE EKRANINA YAZI YAZDIRILMASI (using System Kullanılarak Yapılan Uygulama) CONSOLE DERLENMESİ= Debug / Start Without Debugging

VISUAL C#.NET. CONSOLE EKRANINA YAZI YAZDIRILMASI (using System Kullanılarak Yapılan Uygulama) CONSOLE DERLENMESİ= Debug / Start Without Debugging VISUAL C#.NET CONSOLE EKRANINA YAZI YAZDIRILMASI (using System Kullanılarak Yapılan Uygulama) using System; //Console Sınıfının Bulunduğu Kütüphane Programa Eklendi. using System.Collections.Generic; using

Detaylı

Nesne Tabanlı Programlama-1

Nesne Tabanlı Programlama-1 Nesne Tabanlı Programlama-1 Visual Studio 2010 C# 1 Giriş Öğr. Gör. Serkan KORKMAZ 1 Aralık 2015 Visual Studio 2010 Professional Ortamı 2 Visual Studio 2010 Professional Ortamı Visual Studio 2010 çalışma

Detaylı

C#.Net & Linq (Language Integrated Query)

C#.Net & Linq (Language Integrated Query) C#.Net & Linq (Language Integrated Query) Adım-1 Adım-2 Adım-3: aşağıdaki ekran gelir. Bu ekrandan Server Explorer seçeneği ile SQL sunucuya bağlanılırsa Adım-4 deki gibi bir ekran gelir Adım-4: Soldaki

Detaylı

24 Kasım 2011 / Perşembe

24 Kasım 2011 / Perşembe 24 Kasım 2011 / Perşembe Evde yüklemek için ServisPack1 yükleniyor.daha sonra Ajax Kontrol Toolkit i yüklüyoruz. 2008 için 3,5 olanı yüklenecek. Geçen hafta nasıl yükleneceği anlatıldı. TextBox1 ve ToolkitScriptManager

Detaylı

GENETİK ALGORİTMA GEZGİN SATICI ÖDEVİ

GENETİK ALGORİTMA GEZGİN SATICI ÖDEVİ GENETİK ALGORİTMA GEZGİN SATICI ÖDEVİ Aşağıda belli bir yere kadar programlanmış olan Gezgin satıcı problemine ait kodları inceleyerek programın geri kalan kısmını tamamlayınız. Seçme, Çaprazlama ve Mutasyon

Detaylı

Çözüm :RadioButtonList1 kontrolunuekliyoruz.enableautopostback iaktifleştiriyoruz..

Çözüm :RadioButtonList1 kontrolunuekliyoruz.enableautopostback iaktifleştiriyoruz.. 3 Kasım 2011 / Perşembe Örnek : Button a tıklamadan seçim yapınca işlem yapılsın. Çözüm :RadioButtonList1 kontrolunuekliyoruz.enableautopostback iaktifleştiriyoruz.. RadioButtonList1 e tek tıklayıp sağdan

Detaylı

1 Aralık 2011 / Perşembe

1 Aralık 2011 / Perşembe 1 Aralık 2011 / Perşembe Örnek :İki adet panel var.eğer 1nci panelde şifre Mustafa ise kendimiz bir session değişkeni oluşturup tamam yazdıracağız.değilse Şifre hatalı yazdıracağız. protectedvoid Page_Load(object

Detaylı

VISUAL STUDIO.NET ve Veritabanı

VISUAL STUDIO.NET ve Veritabanı VISUAL STUDIO.NET ve Veritabanı C# Veritabanı (Bilge ADAM) notlarına bakınız. Ms Access ile OLEDB Bağlantı Cümleleri Access e Bağlantı Provider=Microsoft.Jet.OLEDB.4.0; Data Source=DB_Name.mdb; Access

Detaylı

Değişkenler. Geçerli değişken isimleri : baslamazamani, ad_soyad, x5 Geçersiz değişken isimleri : 3x, while

Değişkenler. Geçerli değişken isimleri : baslamazamani, ad_soyad, x5 Geçersiz değişken isimleri : 3x, while Değişkenler Değişkenler bir bilginin bellekteki konumunu temsil eden sembolik isimlerdir. Bilgisayarda hemen hemen tüm işlemler bellekte yapılır. Program çalıştırıldığında değişken ve bu değişkenin türüne

Detaylı

KRİPTOANALİZ DERSİ FİNAL ÖDEVİ. PSO ile TRANSPOSITION CIPHER ÇÖZÜMÜ

KRİPTOANALİZ DERSİ FİNAL ÖDEVİ. PSO ile TRANSPOSITION CIPHER ÇÖZÜMÜ KRİPTOANALİZ DERSİ FİNAL ÖDEVİ PSO ile TRANSPOSITION CIPHER ÇÖZÜMÜ 1 Uygulama Hakkında PSO kullanılarak şifreli metnin çözümü gerçekleştirilmiştir. Metin dosyadan okunmuştur. Okunan metin rastgele üretilen

Detaylı

NOT: VERİTABANINDAKİ TABLOLARI OLUŞTURMAYI DA UNUTMAYACAĞIZ.

NOT: VERİTABANINDAKİ TABLOLARI OLUŞTURMAYI DA UNUTMAYACAĞIZ. 20 Ocak 2012 / Cuma Yeni uygulama Yönetim adlı bir klasör oluşturacağız. Yönetim klasörü içerisine bir masterpage oluşturacağız. (tabloyla) Örneğin; Ana Sayfa Albüm ekle Fotoğraf ekle Content Place Holder(Değişecek

Detaylı

Her Select Case bloğu, mutlaka End Select ile bitmek zorundadır.

Her Select Case bloğu, mutlaka End Select ile bitmek zorundadır. Select Case Komutu: VB de karar sürecinde kullanılan komutlardandır. Bu yapı ile sadece bir değişkenin durum kontrolü yapılır. Kontrolü yapılacak değişkenin genel olarak alabileceği değerler belirli ise

Detaylı

Android Ders Notları

Android Ders Notları Android Ders Notları 1. Yeni Bir Proje Başlatma Android Studio programında yeni bir proje başlatıyoruz. İlk olarak karşımıza resim 1 deki gibi bir pencere gelecek. Burada Application name kısmına proje

Detaylı

YZM 2105 Nesneye Yönelik Programlama

YZM 2105 Nesneye Yönelik Programlama YZM 2105 Nesneye Yönelik Programlama Yrd. Doç. Dr. Deniz KILINÇ Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi Yazılım Mühendisliği 1 BÖLÜM - 1 GUI Nesneleri ve Visual Studio IDE Kullanımı

Detaylı

Şekil 2.1. Bu bölümde ASP.Net platformumuzu açtığımızda Toolbox penceresindeki Standart bölümündeki kontrollerden bahsedeceğiz.(şekil 2.2) Şekil 2.

Şekil 2.1. Bu bölümde ASP.Net platformumuzu açtığımızda Toolbox penceresindeki Standart bölümündeki kontrollerden bahsedeceğiz.(şekil 2.2) Şekil 2. 6 7 Server Kontrol Nedir? Kullanıcı arabirimi veya diğer ilişkisel fonksiyonlar oluşturmak üzere Server üzerinde çalışan componentlere denir. Server kontroller runat= server özelliğine sahiptirler. (Şekil

Detaylı

Sağ Tıkla. 5 Ocak 2012 / Perşembe. Yeni bir site açıyoruz. File New Web Site Browse yeni klasör ocak5persembe OK

Sağ Tıkla. 5 Ocak 2012 / Perşembe. Yeni bir site açıyoruz. File New Web Site Browse yeni klasör ocak5persembe OK 5 Ocak 2012 / Perşembe Yeni bir site açıyoruz. File New Web Site Browse yeni klasör ocak5persembe OK Bu sitede, duyuruekle.aspx, duyurugöster.aspx duyurudetay.aspx adlarında 3 sayfa açıyoruz. Sağ Tıkla

Detaylı

ASP.NET CLASS KULLANARAK VERİTABANI İŞLEMLERİ

ASP.NET CLASS KULLANARAK VERİTABANI İŞLEMLERİ ASP.NET CLASS KULLANARAK VERİTABANI İŞLEMLERİ Asp.NET mimarisinin temelini oluşturan CLASS yapısını kullanarak veri tabanı işlemlerini nasıl daha az kodla ve daha stabil yapabiliriz bunu göreceğiz. Mevzu

Detaylı

Nesneye Dayalı Programlama Laboratuvarı

Nesneye Dayalı Programlama Laboratuvarı 2013 2014 Nesneye Dayalı Programlama Laboratuvarı Ders Sorumlusu: Yrd. Doç. Dr. Salih GÖRGÜNOĞLU Laboratuvar Sorumluları: M. Zahid YILDIRIM İÇİNDEKİLER Deney 1: Visual Studio ve C++'a Giriş Uygulamaları...

Detaylı

C# EĞİTİM ÇALIŞMASI. Gülhan AYDOĞAN AKKAŞ : Bilişim Teknolojileri Öğretmeni. 1.ToolBox : Properties Solution Explorer...

C# EĞİTİM ÇALIŞMASI. Gülhan AYDOĞAN AKKAŞ : Bilişim Teknolojileri Öğretmeni. 1.ToolBox : Properties Solution Explorer... VET- HORİZON PROJESİ KAPSAMINDA HAZIRLANAN C# EĞİTİM ÇALIŞMASI Gülhan AYDOĞAN AKKAŞ : Bilişim Teknolojileri Öğretmeni - - C# Windows Form Application uygulamaları İçindekiler 1.ToolBox :... 2 2. Properties...

Detaylı

Yazılım Nedir? 2. Yazılımın Tarihçesi 3. Yazılım Grupları 4 Sistem Yazılımları 4 Kullanıcı Yazılımları 5. Yazılımın Önemi 6

Yazılım Nedir? 2. Yazılımın Tarihçesi 3. Yazılım Grupları 4 Sistem Yazılımları 4 Kullanıcı Yazılımları 5. Yazılımın Önemi 6 ix Yazılım Nedir? 2 Yazılımın Tarihçesi 3 Yazılım Grupları 4 Sistem Yazılımları 4 Kullanıcı Yazılımları 5 Yazılımın Önemi 6 Yazılımcı (Programcı) Kimdir? 8 Yazılımcı Olmak 9 Adım Adım Yazılımcılık 9 Uzman

Detaylı

HSancak Nesne Tabanlı Programlama I Ders Notları

HSancak Nesne Tabanlı Programlama I Ders Notları ComboBox Bir Windows açılan kutu sunu temsil eder. ComboBox kontrolü, kullanıcıların bazı değerleri açılan bir listeden seçmesini sağlar. Listeye tasarım anında veya çalışma anında öğe eklenebilir. Listeye

Detaylı

İNTERNET TABANLI PROGRAMLAMA

İNTERNET TABANLI PROGRAMLAMA İNTERNET TABANLI PROGRAMLAMA VISUAL STUDIO DA YENİ BİR PROJE OLUŞTURMA Visual Studio (VS) programını çalıştırdığımızda karşımıza boş bir ekran gelir. Yeni bir proje oluştururken File>New>Project yolu kullanılarak

Detaylı

YZM 2105 Nesneye Yönelik Programlama

YZM 2105 Nesneye Yönelik Programlama YZM 2105 Nesneye Yönelik Programlama Yrd. Doç. Dr. Deniz KILINÇ Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi Yazılım Mühendisliği 1 BÖLÜM - 1 GUI Nesneleri ve Visual Studio IDE Kullanımı

Detaylı

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

Uzaktan Eğitim Uygulama ve Araştırma Merkezi JAVA PROGRAMLAMA Öğr. Gör. Utku SOBUTAY İÇERİK 2 Java Veri Tipleri ve Özelilkleri Değişken Tanımlama Kuralları Değişken Veri Tipi Değiştirme (Type Casting) Örnek Kodlar Java Veri Tipleri ve Özelilkleri

Detaylı

/*int sayi1, sayi2,toplam=0;

/*int sayi1, sayi2,toplam=0; static void Main(string[] args) { //--------------------1. ders-------------------- -------- / ekrana yazma ekrandan okuma sayısal değerleri okuma yer tutucular basit tip dönüşümü / /int sayi1, sayi2,toplam=0;

Detaylı

User Control : Standart bir kullanıcı arabirimi oluşturarak; bir uygulama içinde birden fazla. Siteye User Control Eklemek : 22 Mart 2012 / Perşembe

User Control : Standart bir kullanıcı arabirimi oluşturarak; bir uygulama içinde birden fazla. Siteye User Control Eklemek : 22 Mart 2012 / Perşembe 22 Mart 2012 / Perşembe Yeni web sitesi açtık Üye giriş sayfası yapacağız. User Control : Standart bir kullanıcı arabirimi oluşturarak; bir uygulama içinde birden fazla WebForm kullanılmasını sağlayan

Detaylı

Klavye Kullanımı KLAVYE KULLANIMI

Klavye Kullanımı KLAVYE KULLANIMI Klavye Kullanımı KLAVYE KULLANIMI Klavyeler standart Q veya F klavye diye iki şekilde bulunur. Burada Q klavye ile ilgili bilgiler verilecektir. Bir klavyenin Q veya F oluşu klavye köşesindeki harften

Detaylı

Görsel Programlama 1

Görsel Programlama 1 Görsel Programlama 1 1. Ekrana Hello world! yazan c# console application kodları: Console.Write("Hello world!"); 2. Ekranda ilk satıra Hello, ikinci satıra world! yazan kod: Console.WriteLine("Hello");

Detaylı

Ders 7: Form Kontrol Elemanları. barisgokce.com

Ders 7: Form Kontrol Elemanları. barisgokce.com Ders 7: Form Kontrol Elemanları Hazırlayan : Öğr. Grv.. Barış GÖKÇE Đletişim im : www.barisgokce barisgokce.com DateTimePicker Kullanıcıya tarih ve zaman ile ilgili bilgi göstermek ve almak için kullanılır.

Detaylı

12- HAZIR FONKSİYONLAR

12- HAZIR FONKSİYONLAR fonksiyon Hazır Aritmetik String Tarih- Zaman Dosya-Dizin Dizi (Array) M.İLKUCAR MAKU-MYO 2010 1 12.1 Aritmetik Fonksiyonlar Math.Abs( reel sayı) >> reel sayının pozitif değerini verir Math.Ceiling(reel

Detaylı

BM 102 Bilgisayar Programlama II. Windows Form Application

BM 102 Bilgisayar Programlama II. Windows Form Application BM 102 Bilgisayar Programlama II Windows Form Application Uygulama 1 İki TextBox girilien sayıların toplamı. Uygulama 1 Windows Form Uygulaması projesi açma Forma iki TextBox ile bir Label ekleme Forma

Detaylı

Yukardaki gibi sonsuz döngülü programlara Ctrl+Break tuş takımı ile müdahale edilmesi gerekir, aksi halde program sonsuz döngüye girer.

Yukardaki gibi sonsuz döngülü programlara Ctrl+Break tuş takımı ile müdahale edilmesi gerekir, aksi halde program sonsuz döngüye girer. Döngüsü En basit döngü yapısıdır. Hiçbir kontrol yapılmadan ve ifadeleri arasındaki satırların işlem görmesi için kullanılır. Bu yapıda programın terkedilmesi için herhangi bir kontrol olmadığından, döngü

Detaylı

C# Form Uygulamaları. Nesne Tabanlı Programlama I (C#) Ders Notu. S.Ü.Akören A.R.E. Meslek Yüksekokulu C.ÖZCAN- F.SARAY

C# Form Uygulamaları. Nesne Tabanlı Programlama I (C#) Ders Notu. S.Ü.Akören A.R.E. Meslek Yüksekokulu C.ÖZCAN- F.SARAY Nesne Tabanlı Programlama I (C#) Ders Notu S.Ü.Akören A.R.E. Meslek Yüksekokulu C.ÖZCAN- F.SARAY C# Form Uygulamaları C# da yeni bir uygulama açmak için File>New>Project seçilir. Daha sonra açılan pencerede

Detaylı

HESAP MAKİNASI YAPIMI

HESAP MAKİNASI YAPIMI HESAP MAKİNASI YAPIMI 1..Aşağıdakine benzer görünüm ve butonları hazırlayın. 2. 24. Butonun içerisine aşağıdaki kodları yazın. 3. Yeni bir layer ekleyip Frame1 F9 na aşağıdaki kodları ekleyelim. 4. Butonlardan

Detaylı

PROGRAMLAMAYA GİRİŞ DERS 2

PROGRAMLAMAYA GİRİŞ DERS 2 PROGRAMLAMAYA GİRİŞ DERS 2 Program editörde oluşturulur ve diske kaydedilir Tipik Bir C Programı Geliştirme Ortamının Temelleri 1. Edit 2. Preprocess 3. Compile 4. Link 5. Load 6. Execute Önişlemci programı

Detaylı

Masa üstünde vt34.mdb dosyası var, onu projemize eklemek için, App_Data ya sağ tıkla Add Existing Item vt34.mdb adlı dosyayı seç Add

Masa üstünde vt34.mdb dosyası var, onu projemize eklemek için, App_Data ya sağ tıkla Add Existing Item vt34.mdb adlı dosyayı seç Add 29 Aralık 2011 / Perşembe Visual studio dan veri tabanından veri çekmek için önce bir aspx dosyası açıp,,accessde yeni veri tabanı dosyası açıyoruz. Dikkat : Dosyanın uzantısı.mdb olacak. Masa üstünde

Detaylı

Timer İle arka plan renk değişimi

Timer İle arka plan renk değişimi Microsoft Visual Studio Visual Basic Timer İle arka plan renk değişimi Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load Timer1.Enabled = True Timer1.Interval = 1000 'milisaniye

Detaylı

C#(Sharp) Programlama Dili

C#(Sharp) Programlama Dili Değişkenler C#(Sharp) Programlama Dili Program yazarken her zaman sabit verilerle çalışmayız, çoğu zaman programımızda bir verinin kullanıcının davranışına göre değişmesi gerekir. Kullanıcıdan bir metin

Detaylı

BM-209 Nesne Yönelimli Programlama. Yrd. Doç. Dr. İbrahim Alper Doğru Gazi Üniversitesi Teknoloji Fakültesi Bilgisayar Mühendisliği Bölümü

BM-209 Nesne Yönelimli Programlama. Yrd. Doç. Dr. İbrahim Alper Doğru Gazi Üniversitesi Teknoloji Fakültesi Bilgisayar Mühendisliği Bölümü BM-209 Nesne Yönelimli Programlama Yrd. Doç. Dr. İbrahim Alper Doğru Gazi Üniversitesi Teknoloji Fakültesi Bilgisayar Mühendisliği Bölümü Java Programlama Dili Java bayt kodları Java Sanal Makineleri üzerinde

Detaylı

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

Uzaktan Eğitim Uygulama ve Araştırma Merkezi JAVA PROGRAMLAMA Öğr. Gör. Utku SOBUTAY İÇERİK 2 Java da Fonksiyon Tanımlamak Java da Döngüler Java da Şart İfadeleri Uygulamalar Java da Fonksiyon Tanımlamak JAVA DA FONKSİYON TANIMLAMAK 4 Fonksiyonlar;

Detaylı

Ders 4: Diziler (Arrays( Arrays) barisgokce.com

Ders 4: Diziler (Arrays( Arrays) barisgokce.com Ders 4: Diziler (Arrays( Arrays) Hazırlayan : Öğr. Grv.. Barış GÖKÇE Đletişim im : www.barisgokce barisgokce.com Diziler Aynı tipteki bir veri gurubunun bir değişken içinde saklanmasıdır. Veriler Hafızada

Detaylı

Javascript. 1) Notepad++ aşağıdaki kodları yazıp deneme.html olarak kaydedelim. 2) Biraz önceki sayfa sadece html kodların içeriyordu.

Javascript. 1) Notepad++ aşağıdaki kodları yazıp deneme.html olarak kaydedelim. 2) Biraz önceki sayfa sadece html kodların içeriyordu. Javascript Html sayfalarının içine yazılarak, sayfayı daha etkileşimli hale getirir. click olayları, uyarı mesajları gibi hareketlerle sayfayı daha dinamik hale getirir. Javascript olmadan yazılan html

Detaylı

Diziler İndisli Değişkenler

Diziler İndisli Değişkenler Diziler İndisli Değişkenler Aynı tür bilgileri (öğrenci isimleri, şehir isimleri, kapı numaraları, fakülteler vbg.) bellekte tutmak için kullanabileceğimiz listelere dizi adı verilir. Dizi kullanmanın

Detaylı

İNTERNET TABANLI PROGRAMLAMA- 3.ders

İNTERNET TABANLI PROGRAMLAMA- 3.ders DİZİLER İNTERNET TABANLI PROGRAMLAMA- 3.ders Diziler bir çok bilgiyi tek bir değişken içerisinde tutmamızı sağlayan ifadelerdir. Dizide tutulan bilgiler Ram da tutulur. Elektrikler kesildiğinde dizideki

Detaylı

Visual C# - Görsel Programlama II Örnek Sorular ve Cevaplar

Visual C# - Görsel Programlama II Örnek Sorular ve Cevaplar Visual C# - Görsel Programlama II Örnek Sorular ve Cevaplar Soru 1: Yandaki şekilde 3 tane Textbox ve bir adet buton mevcuttur. Üstünde hesapla yazan button1 isimli butona basıldığın da textbox1 ve textbox2

Detaylı

BM-205 GÖRSEL PROGRAMLAMA. Microsoft Visual Studio 2010 ile C# Windows Form Uygulamaları Geliştirme

BM-205 GÖRSEL PROGRAMLAMA. Microsoft Visual Studio 2010 ile C# Windows Form Uygulamaları Geliştirme BM-205 GÖRSEL PROGRAMLAMA Microsoft Visual Studio 2010 ile C# Windows Form Uygulamaları Geliştirme Arş. Gör. Ferhat BOZKURT Atatürk Üniversitesi Mühendislik Fakültesi Bilgisayar Mühendisliği Bölümü Microsoft

Detaylı

HSancak Nesne Tabanlı Programlama I Ders Notları

HSancak Nesne Tabanlı Programlama I Ders Notları SABİTLER VE DEĞİŞKENLER Değişken, verilerin bellekte geçici olarak kaydedilmesini ve gerektiğinde kullanılmasını sağlayan değerdir. Nesne tabanlı programlama dilinde değişken kullanımı diğer programlama

Detaylı

DATA STRUCTURES. Part I C# Programlama Dili Temelleri

DATA STRUCTURES. Part I C# Programlama Dili Temelleri DATA STRUCTURES Part I C# Programlama Dili Temelleri DERSİN İÇERİĞİ 1. C# DİLİNE GİRİŞ 2. KONSOL UYGULAMASI GELİŞTİRİLMESİ 3. FORM UYGULAMASI GELİŞTİRİLMESİ 4. VERİ TİPLERİ ve DEĞİŞKENLER 5. PROGRAM KONTROL

Detaylı

ÖDEVLERİ SİSTEME YÜKLEME USULLERİ

ÖDEVLERİ SİSTEME YÜKLEME USULLERİ ÖDEVLERİ SİSTEME YÜKLEME USULLERİ Sistem yüklenecek ödevlerin hepsi PDF formatında olacaktır. Ödevlerinizi PDF formatında hazırlamak için aşağıdaki yöntemleri kullanabilirsiniz. Buradaki anlatımlarda hazırladığınız

Detaylı

yeni_uye_kayit.ascx UserControl sayfamızda, kaydedilmek istenen üye eğer daha önce veritabanımızda kayıtlı ise bunu buldurup kullanıcıyı uyaralım;

yeni_uye_kayit.ascx UserControl sayfamızda, kaydedilmek istenen üye eğer daha önce veritabanımızda kayıtlı ise bunu buldurup kullanıcıyı uyaralım; yeni_uye_kayit.ascx UserControl sayfamızda, kaydedilmek istenen üye eğer daha önce veritabanımızda kayıtlı ise bunu buldurup kullanıcıyı uyaralım; Bunun için uyevarmi() fonksiyonu tasarlayacağız. Fonksiyon

Detaylı

BTP 207 İNTERNET PROGRAMCILIĞI I. Ders 9

BTP 207 İNTERNET PROGRAMCILIĞI I. Ders 9 BTP 207 İNTERNET PROGRAMCILIĞI I Ders 9 Dizi Değişkenler (Array) 2 Tek değişkende birden fazla bilgi tutulmak istendiğinde kullanılır. Kullanım şekli: var dizi_adı= new Array(eleman1, eleman2,, elemann)

Detaylı

İnternet Programcılığı Dersi 2.Dönem Ders Notu

İnternet Programcılığı Dersi 2.Dönem Ders Notu İnternet Programcılığı Dersi 2.Dönem Ders Notu DEĞİŞKEN TİPLERİ TAM SAYI (İNTEGER) VERİ TİPİ Negatif veya pozitif ondalık kısmı bulunmayan sayılardır. Örnek: $i=65; $x=345; ONDALIK(REAL)VERİ TİPİ Ondalıklı

Detaylı

Görsel Programlama DERS 03. Görsel Programlama - Ders03/ 1

Görsel Programlama DERS 03. Görsel Programlama - Ders03/ 1 Görsel Programlama DERS 03 Görsel Programlama - Ders03/ 1 Java Dili, Veri Tipleri ve Operatörleri İlkel(primitive) Veri Tipleri İLKEL TİP boolean byte short int long float double char void BOYUTU 1 bit

Detaylı

C Programlama Dilininin Basit Yapıları

C Programlama Dilininin Basit Yapıları Bölüm 2 C Programlama Dilininin Basit Yapıları İçindekiler 2.1 Sabitler ve Değişkenler......................... 13 2.2 Açıklamalar (Expresions)........................ 14 2.3 İfadeler (Statements) ve İfade

Detaylı

VERİ TABANI İŞLEMLERİ (NESNE TABANLI PROGRAMLAMA TEKNİĞİ İLE)

VERİ TABANI İŞLEMLERİ (NESNE TABANLI PROGRAMLAMA TEKNİĞİ İLE) VERİ TABANI İŞLEMLERİ (NESNE TABANLI PROGRAMLAMA TEKNİĞİ İLE) ACCESS VERİ TABANI (OLE DB - Object Linking and Embedding Data Base) Access veri tabanı kullanılarak oluşturulmuş uygulama; OLEDB çalışmak

Detaylı

Önce Access açıp,masaüstü ne, vt.mdb adlı veri tabanı dosyasını oluşturuyoruz. Kayıt türünü 2002-2003 seçiyoruz

Önce Access açıp,masaüstü ne, vt.mdb adlı veri tabanı dosyasını oluşturuyoruz. Kayıt türünü 2002-2003 seçiyoruz 9 Şubat 2012 / Perşembe Önce Access açıp,masaüstü ne, vt.mdb adlı veri tabanı dosyasını oluşturuyoruz. Kayıt türünü 2002-2003 seçiyoruz 1) emlakkategorisi adlı tabloyu oluşturuyoruz 1 2) ilanlar adlı tabloyu

Detaylı

Resimlerin üstüne yazı yazacağız. resimyukle.aspx sayfası oluşturuyoruz. http://www.arifceylan.com/asp-net-c-ile-resim-uzerine-yazi-yazma-ve-gosterme/

Resimlerin üstüne yazı yazacağız. resimyukle.aspx sayfası oluşturuyoruz. http://www.arifceylan.com/asp-net-c-ile-resim-uzerine-yazi-yazma-ve-gosterme/ 23 Mart 2012 / Cuma Yeni bir site açıyoruz. Resimlerin üstüne yazı yazacağız. resimyukle.aspx sayfası oluşturuyoruz. http://www.arifceylan.com/asp-net-c-ile-resim-uzerine-yazi-yazma-ve-gosterme/ Namespace

Detaylı

BTP 207 İNTERNET PROGRAMCILIĞI I. Ders 8

BTP 207 İNTERNET PROGRAMCILIĞI I. Ders 8 BTP 27 İNTERNET PROGRAMCILIĞI I Ders 8 Değişkenler 2 Tamsayı Değerler (Integer) Tamsayılar, tabanlı (decimal), 8 tabanlı (octal) veya 6 tabanlı (hexadecimal) olabilir. 8 tabanındaki sayıları belirtmek

Detaylı

string yenisaatdeger; string yenidakikadeger; string yenisaniyedeger;

string yenisaatdeger; string yenidakikadeger; string yenisaniyedeger; PC KAPATMA PROGRAMI 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;

Detaylı

SINIF İÇİ UYGULAMA KODLARI

SINIF İÇİ UYGULAMA KODLARI SINIF İÇİ UYGULAMA KODLARI ARABA HAREKET ETTİRME using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text;

Detaylı

1. MİCROSOFT EXCEL 2010 A GİRİŞ

1. MİCROSOFT EXCEL 2010 A GİRİŞ 1. MİCROSOFT EXCEL 2010 A GİRİŞ 1.1. Microsoft Excel Penceresi ve Temel Kavramlar Excel, Microsoft firması tarafından yazılmış elektronik hesaplama, tablolama ve grafik programıdır. Excel de çalışılan

Detaylı

CHECKBOX, RADIOBUTTON, COMBOBOX. checkbox Kontrolü. özelliği açıklama Alabileceği değer İşaretli olup true, false olmadığı

CHECKBOX, RADIOBUTTON, COMBOBOX. checkbox Kontrolü. özelliği açıklama Alabileceği değer İşaretli olup true, false olmadığı CHECKBOX, RADIOBUTTON, COMBOBOX checkbox Kontrolü özelliği açıklama Alabileceği değer İşaretli olup true, false olmadığı Checked RightToLeft Appearance Yazı ile işaretin verileri Görünüm ile ilgili Yes

Detaylı

Ünite 7. Gelişmiş Nesneler II. Bilgisayar Programcılığı Önlisans Programı GÖRSEL PROGRAMLAMA I. Öğr. Gör. Rıza ALTUNAY

Ünite 7. Gelişmiş Nesneler II. Bilgisayar Programcılığı Önlisans Programı GÖRSEL PROGRAMLAMA I. Öğr. Gör. Rıza ALTUNAY Gelişmiş Nesneler II Ünite 7 Bilgisayar Programcılığı Önlisans Programı GÖRSEL PROGRAMLAMA I Öğr. Gör. Rıza ALTUNAY 1 Ünite 7 GELİŞMİŞ NESNELER II Öğr. Gör. Rıza ALTUNAY İçindekiler 7.1. TAB KONTROL...

Detaylı

2 PYTHON A GIRIŞ 13 PyCharm İle Python Projesi Oluşturma 15 Projenin Çalıştırılması 18 İlk Python Programımız 19 Açıklama Satırları 21

2 PYTHON A GIRIŞ 13 PyCharm İle Python Projesi Oluşturma 15 Projenin Çalıştırılması 18 İlk Python Programımız 19 Açıklama Satırları 21 İÇİNDEKİLER VII İÇİNDEKİLER 1 PYTHON 1 Neden Python? 2 Python Sürümleri 2 Python Kurulumu 3 Windows Üzerinde Python 3 Ubuntu Üzerinde Python 6 Komut Satırında Python Çalıştırma 6 Windows komut istemi üzerinde

Detaylı

YZM 2105 Nesneye Yönelik Programlama

YZM 2105 Nesneye Yönelik Programlama YZM 2105 Nesneye Yönelik Programlama Yrd. Doç. Dr. Deniz KILINÇ Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi Yazılım Mühendisliği 1 BÖLÜM - 2 C# Programlama Dili Elemanları Bu bölümde;

Detaylı

HSancak Nesne Tabanlı Programlama I Ders Notları

HSancak Nesne Tabanlı Programlama I Ders Notları CheckBox Onay Kutusu, kullanıcının mantıksal bir ifade hakkında seçim yapmasına imkân verir. Kullanıcıya seçenekler sunmayı sağlar. Birçok seçenek seçilebilir. CheckBox Özellikleri Özellik Değer Tipi Açıklama

Detaylı

Matematiksel Operatörler

Matematiksel Operatörler Matematiksel Operatörler Genel olarak matematiksel işlemlerde kullanılan operatörlerdir. Operatör Anlamı Açıklama ^ Üs Alma C^3 Matematikdeki üs operatörüdür. Verilen ilk sayının ikinci sayı kadar kuvvetini

Detaylı

Nesne Tabanlı Programlama

Nesne Tabanlı Programlama Nesne Tabanlı Programlama Ders Notu - 1 (Değerler, Değişkenler, İşleçler, Tip Dönüşümleri, Mantıksal Operatörler) Dicle Üniversitesi Mühendislik Fakültesi Elektrik Elektronik Mühendisliği Bölümü 1 Değerler

Detaylı

NESNEYE YÖNELİK PROGRAMLAMA

NESNEYE YÖNELİK PROGRAMLAMA NESNEYE YÖNELİK PROGRAMLAMA Rastgele sayı üretme C#'ta program yazarken (özellikle oyun programlarında) rastgele değerlere ihtiyaç duyabiliriz. Rastgele sayı üretebilmemiz için öncelikle Random sınıfı

Detaylı

Visual C#.NET 2005 Ders Notları

Visual C#.NET 2005 Ders Notları Visual C#.NET 2005 Ders Notları Doç. Dr. E. Şahin Çonkur Erdem Yıldız Pamukkale Üniversitesi Mühendislik Fakültesi Makine Mühendisliği Bölümü Makine Teorisi ve Dinamiği Anabilim Dalı 1 Microsoft Visual

Detaylı

İNTERNET TABANLI PROGRAMLAMA- 4.ders

İNTERNET TABANLI PROGRAMLAMA- 4.ders HAZIR FONKSİYONLAR İNTERNET TABANLI PROGRAMLAMA- 4.ders STRING FONKSİYONLARI (KÜTÜPHANESİ) Çoğu web sitesinde olduğu gibi kullanıcıdan kullanıcı adını ve şifresini aldıktan sonra bu değerleri veri tabanından

Detaylı

12 Ocak 2012 / Perşembe

12 Ocak 2012 / Perşembe 12 Ocak 2012 / Perşembe Masa üstünde webvt adlı klasör var. Bu klasör üzerinde çalışacağımız için bunu web sitemiz olarak açacağız. Visio Studio programını açıp File Open Web Site açılan pencerede Masa

Detaylı

FRONT PAGE EĞİTİM NOTLARI BAŞLANGIÇ. 1- Open araç çubuğu düğmesinin yanındaki aşağı oku tıklayarak, web seçeneğini işaretleyin

FRONT PAGE EĞİTİM NOTLARI BAŞLANGIÇ. 1- Open araç çubuğu düğmesinin yanındaki aşağı oku tıklayarak, web seçeneğini işaretleyin FRONT PAGE EĞİTİM NOTLARI BAŞLANGIÇ 1- Open araç çubuğu düğmesinin yanındaki aşağı oku tıklayarak, web seçeneğini işaretleyin 2- Açılan sayfadan, oluşturulmak istenen sitenin içeriğine göre hazır şablon

Detaylı

BĠLGĠSAYAR PROGRAMLAMA II C++ Programlamaya GiriĢ http://www.cplusplus.com/doc/tutorial/ Published by Juan Soulié

BĠLGĠSAYAR PROGRAMLAMA II C++ Programlamaya GiriĢ http://www.cplusplus.com/doc/tutorial/ Published by Juan Soulié BĠLGĠSAYAR PROGRAMLAMA II C++ Programlamaya GiriĢ http://www.cplusplus.com/doc/tutorial/ Published by Juan Soulié DERSİN WEB SİTESİ: http://nucleus.istanbul.edu.tr/~bilprog2/ DeğiĢkenler ve Data Türleri

Detaylı

PROGRAMLAMA DERSİ 1. İNTERNET

PROGRAMLAMA DERSİ 1. İNTERNET PROGRAMLAMA DERSİ 1. İNTERNET İnternet sunucu-istemci modeline göre çalışır. Fiziksel olarak bu sistem genelde isteği yapan bir bilgisayar (kullanıcı-client) ve bu isteği karşılayan özel bir bilgisayar

Detaylı

DÖNGÜLER (LOOPS) while(), do-while(), for(), foreach()

DÖNGÜLER (LOOPS) while(), do-while(), for(), foreach() (LOOPS) while(), do-while(), for(), foreach() Döngüler (loops) while do-while for foreach while ( koşul ) işlemler; do işlemler; while (koşul ); for (başlangıç ; koşul ; arttırma) işlemler; foreach ( tip

Detaylı

Aynı tipten çok sayıda değişken topluluğudur. X Y Score1 Score2 (0) (1) (2)...

Aynı tipten çok sayıda değişken topluluğudur. X Y Score1 Score2 (0) (1) (2)... Array (Diziler) Array Aynı tipten çok sayıda değişken topluluğudur. Birden fazla aynı tipteki değerle işlem yapmayı kolaylaştırır. X Y Score1 Score2 40 56 Grade 40 56 80 (0) (1) (2)... (13) Array tanımlama:

Detaylı

LABEL BUTTON - TEXTBOX

LABEL BUTTON - TEXTBOX -1-1. Label Nesnesi : LABEL BUTTON - TEXTBOX Orijinal değişken adı label1 olarak gelecektir. İsterseniz bu ismi değiştirebilirsiniz. Nereden ev Nasıl mı? Label1 i seç Properities penceresinden Name özelliğini

Detaylı

C# ve SQL Server ile Resim Yükleme ve Login İşlemi

C# ve SQL Server ile Resim Yükleme ve Login İşlemi C# ve SQL Server ile Resim Yükleme ve Login İşlemi Form1.cs (AnaForm) Durhan GABRALI Nahit Menteşe Mes. ve Tek. And. Lisesi Bilişim Teknolojileri Alanı - 2016 1 using System.Data.SqlClient; using System.IO;

Detaylı

2 ALGORİTMA VE AKIŞ DİYAGRAMLARI

2 ALGORİTMA VE AKIŞ DİYAGRAMLARI İÇİNDEKİLER IX İÇİNDEKİLER 1 GİRİŞ 1 Kitabın Amacı 1 Algoritmanın Önemi 2 Bilgisayarın Doğuşu ve Kullanım Amaçları 3 Programlama Dili Nedir? 3 Entegre Geliştirme Ortamı (IDE) Nedir? 4 2 ALGORİTMA VE AKIŞ

Detaylı

2013-14 GÜZ YY. - MKT103 - GÖRSEL PROGRAMLAMA DERSİ - ARA SINAVI

2013-14 GÜZ YY. - MKT103 - GÖRSEL PROGRAMLAMA DERSİ - ARA SINAVI 2013-14 GÜZ YY. - MKT103 - GÖRSEL PROGRAMLAMA DERSİ - ARA SINAVI KOÜ Mekatronik Mühendisliği Bölümü/MKT-103-Görsel Programlama Dersi - Ara Sınav J-grubu Ad-Soyad:...No:... J GRUBU-süre:70dk 1.) Aşağıdaki

Detaylı

ÖDEVLERİ SİSTEME YÜKLEME USULLERİ

ÖDEVLERİ SİSTEME YÜKLEME USULLERİ ÖDEVLERİ SİSTEME YÜKLEME USULLERİ DİKKAT: ÖDEVLERİNİZ 10 SANİYE İÇİNDE İNCELENEREK NOTA DÖNÜŞTÜRÜLÜR. ÇOK DAHA FAZLA İNCELEME İSTEYEN ÖDEVLER GERÇEK DEĞERİNDE NOT ALAMAZ. O nedenle esas incelenecek kısımları

Detaylı