Respond needs javascript to run. To find out more click here
C# » Sayfa 20 » Serdar Demir
RSS
 

Archive for the ‘C#’ Category

C#.NET’te Fonksiyon ve Prosedürler resimli anlatım

14 Eki

C#.NET’TE FONKSİYON VE PROSEDÜRLER

Prosedür ve fonksiyonların bütün programlama dillerinde yeri hiç kuşkusuz çok önemlidir çünkü çok kullanılan kodları özel bir bloğa yazarak her defasında aynı kodları tekrar tekrar yazmaktan kurtulmuş oluruz bu hem hata oranını azaltır hemde zamandan tasarruf etmemizi sağlar.

Fonksiyonlarla prosedürler arasındaki fark geriye değer döndürme olayıyla açıklansa da aslında olay tam olarak öyle değildir.Öncelikle fonksiyon geriye değer döndürür ama istenilirse prosedürlerlede geriye değer döndürülebilir.

Prosedür Tanımlamak:

Prosedürler “void” ile deklare edilen kod bloklarından oluşur.Fonksiyonlardan farkları herhangi bir değişkene eşitlenmemelerinden kaynaklanmaktadır.Uygulamalarımıza ait kontrollerin kullandıkları yordamlar aslında birer prosedürden ibarettir.Uygulamalarımızda formumuzun üzerine birbuton sürükleyip bıraktığımızda ve butona çift tıkladığımızda c# tarafından aşağıdaki kod bloğu otomatik olarak getirilecektir.

private void button1_Click(object sender,EventArgs e)

{

// Kod Bloğu

}

Parametre İçeren Prosedür Tanımlamak

Şimdide parametre içeren prosedür tanımlayalım.Böylece program içerisinden göndereceğimiz değerler ile prosedürü işletebilir uygun sonuçlar elde edebiliriz.

private void mesaj(String ad)

{

MessageBox.Show(ad);

}

private void button5_Click(object sender,EventArgs e)

{

String str;

str=textBox1.Text;

mesaj(str); // Parametreyle işlet

}

 
1 Comment

Posted in C#

 

C# NET’te Enumlar ve Structlar Nedir ne işe yarar

14 Eki

C#.NET’TE ENUMLAR

Objeleri matematiksel olarak ifade edebilmek için kullanılan tanımlama seçeneğidir.Böylece bilgisayara sayısal anlamı olmayan değerleri sıralı bir şekilde ifade edebilirsiniz.

enum Kitaplar

{

fizik=1;

matematik=2;

tarih=3;

}

Burada bilgisayar kitapları isimleriyle sıralayamazdı ama bu kitaplara sayısal değerler verdiğimizde 1. sırada fizik 2. sırada matematik ve 3. sırada tarih kitabı olduğunu anlar.

Enum Class’ına Ait Kullanılabilir Methodlar:

Tanımladığınız enum bloğu değişkenine ait kullanabileceğiniz bir çok özellik mevcuttur.Şimdide bu methodları görelim ilk methodumuz “GetNames” methodu GetNames methodu ile değerlerin isimlerini öğrenebiliriz.

enum haftaningunleri

{

pazartesi=0;

sali=1;

carsamba=2;

persembe=3;

cuma=4;

cumartesi=5;

pazar=6;

}

private void button1_Click(object sender,EventArgs e)

{

Type Tipler=typeof(haftaningunleri);

string[] Deger;

Deger=Enum.GetNames(Tipler);

listBox1.Items.AddRange(Deger);

}

İkinci methodumuz “GetValue” bu methodumuzlada aynı işi yapıyoruz ancak GetValue methodunan dönen değer bir diziye aktarılmak zorunda.

Array dizi;

dizi=Enum.GetValue(Tipler);

ve değerleri listeye atıyoruz

listBox1.Items.Add(dizi.GetValue(1));

C#.NET’te Structlar

C#.NET’TE  STRUCTLAR

Struct benzer özellik ve methodların aynı çatı altında toplanıp bu isim yardımıyla çağrılabilmesini sağlamaktır.Aslında bu olay classlarda da aynıdır ancak kullanım farklılıkları vardır.Şimdi basit bir struct tanımlayalım.

struct ogrenci

{

public String ogrenciadi;

public String ogrencisoyadi;

public String ogrencibabaadi;

public String ogrencianaadi;

public String ogrenciyasi;

}

Şimdi bununla ilgili tam bir örnek yapalım

namespace StructIfadesi

{

public partial class Form1:Form

{

public Form1()

{

InitializeComponent();

}

struct ogrenci

{

public String ogrenciadi;

public String ogrencisoyadi;

public String ogrencibabaadi;

public String ogrencianaadi;

public String ogrenciyasi;

}

private void button1_Click(object sender,EventArgs e)

{

ogrenci yeniogrenci=new ogrenci();

yeniogrenci.ogrenciadi=”Ali”;

yeniogrenci.ogrencisoyadi=”Can”;

yeniogrenci.ogrencibabaadi=”Cem”;

yeniogrenci.ogrencianaadi=”Nur”;

yeniogrenci.ogrenciyasi=”8″;

this.Text=yeniogrenci.ogrencibabaadi;

}

}

}

 
No Comments

Posted in C#

 

C# grafik çizme algoritmaları (DDA-Bresenham)

09 Eki

Bütün programlama dillerinde genellikle kullanılan dda ve bresebham algoritmalarını kullanarak örnek uygulama yapcağız

Öncelikle DDA ve bresenham algoritmasının fonksiyonlarını oluşturalım;

sesese


DDA algoritması;

void DDACiz(int x1, int y1, int x2, int y2){

 int PikselSayisi;

 int dx, dy;
 float x, xFark;
 float y, yFark;

 dx = x2 - x1;
 dy = y2 - y1;

 PikselSayisi = Math.Abs(dx) > Math.Abs(dy) ? Math.Abs(dx) : Math.Abs(dy);

 xFark = (float)dx / (float)PikselSayisi;
 yFark = (float)dy / (float)PikselSayisi;

 x = (float)x1;
 y = (float)y1;

 while(PikselSayisi--){
 PikselBas((int)floor(x + 0.5F), (int) Math.Floor(y + 0.5f));
 x += xFark;
 y += yFark;
 }
}
Bresenham algoritması;
void dogruBresenham(int x1, int y1, int x2, int y2)
{ int hata = x1 - x2; int dx2 = (x2 - x1) * 2; int dy2 = (y2 - y1) * 2; int x, y = y1; System.Drawing.SolidBrush m_tualbrush = new System.Drawing.SolidBrush(m_brushcolor); System.Drawing.Graphics tualgraphics = panel1.CreateGraphics(); for (x = x1; x < x2; x++) { //pikselBas(x, y); foreach (Point p in m_nokta) { tualgraphics.FillEllipse(m_tualbrush, x, y,trackBar1.Value,trackBar1.Value); } hata += dy2; if (hata > 0) { y++; hata -= dx2; } } } void dogruBresenham(int x1, int y1, int x2, int y2) { int hata = x1 - x2; int dx2 = (x2 - x1) * 2; int dy2 = (y2 - y1) * 2; int x, y = y1; System.Drawing.SolidBrush m_tualbrush = new System.Drawing.SolidBrush(m_brushcolor); System.Drawing.Graphics tualgraphics = panel1.CreateGraphics(); for (x = x1; x < x2; x++) { //pikselBas(x, y); foreach (Point p in m_nokta) { PixelBas(m_tualbrush, x, y,trackBar1.Value,trackBar1.Value); } hata += dy2; if (hata > 0) { y++; hata -= dx2; } } }

Download !

 
34 Comments

Posted in C#