22 Kasım 2008 Cumartesi

SGML

SGML nedir: Standard Generalized Markup Language ‘in kısaltmasıdır.

1940'lı yıllarda ortaya çıkmıştır.

HTML' nin atasıdır.

SGML; html ve xml'i içeren bir metalanguage olarak tanımlanabilir.

SGML metin belgelerini ve diğer veri formlarını çeşitli ortamlarda kullanabilmek amacıyla yapılarını kodlamak için kullanılan kapsamlı bir sistemdir.

SGML temel olarak bir dökümanı mark uplama işlemini < > işaretleri arasındaki tag'lerle ve attribute'larla yapmayı öngörür.

SGML genel anlamıyla mühendislik verilerini düzenli olarak saklamak, el değiştirtmek ve tasvir etmek amacıyla üretilmiş bir fikirdir.

1 Kasım 2008 Cumartesi

ConnectionString nedir ?

Programın bağlantı yapabilmesi için gerekli olan kod parçasıdır. Kullanıcının nasıl bir şifre ile ana makinede bulunan veri tabanına bağlanacağını belirler.

Daha detaylı bilgi ve diğer veri tabanları için www.connectionstring.com sitesinden kod örneklerine bakabilirsiniz.

ÖRNEK (MsSql):

Standard Security

Data Source=myServerAddress;Initial Catalog=myDataBase;User Id=myUsername;Password=myPassword;

Kod cümlemizi açıklayalım;
1-“Data Source = ………” kısmında veri kaynağı olarak yerel makinemizi belirttik. Cümleciğimizde “………..” yerine ip adresi de yazılabilir.
2- “Initial Catalog = ………” kısmında hangi veritabanına bağlanacağımızı belirttik yani veritabanı ismini yazıyoruz.
3-“User Id=………;Password=…………” Programa giriş yapacak kullanıcı adı ve şifre belirlenir.

BindingSource :

Diğer “view”lere göre daha fazlasını yapabilen veri bağlama türüdür.
Kullandığı kaynağı ,kendi “list”i olarak görür ve bu "list"teki navigasyonlara (ileri,geri,enson,ilk), satır değişikliklerine ve listenin satır seçimlerine veya aktif hale gelmesine karşı duyarlıdır.

BindingSource "construction" methotları():

dim bs as BindingSource
bs=new BindingSource

bs.datasource=DataSet
bs.datamember="Tablo"


BindingSource "Current" Methodu: Üzerinde bulunulan mevcut satırı açıklar.


BindingSource "Count" Methodu:Bize tablodaki satır sayısını döndürür.

BindingSource "AddNew" Methodu:Yeni satır ekler.

BindingSource "EndEdit" Methodu: Değişiklikleri “dataset”e iletir ve dataset bazında kaydeder.

BindingSource "Filter" Methodu: Filtreleme yapar,

BindingSource "Find" Methodu: Arama, bulma işlemi yapar.
Ör:dim a as string=bs(bs.find("sütun adı",değer)).tostring
İstediğimiz ifadeyi arayıp ,bize geri veren tek satırlık bir ifadedir.

BindingSource 'ta Navigasyon: Gezinme işlemleri
bs.movefirst----ilk kayıta gider
bs.movelast----son kayıta gider
bs.movenext---bir sonraki satır
bs.moveprevious--bir önceki satır

BindingSource "Position" yöntemi: Position yöntemi hem 'get' hemde 'set' özelliklidir.

BindingSource'ta index kullanımı: bs(4)("KitapAdi") Bu örnek bize 4.satırdaki 'Kitap Adı' isimli sütunun değerini döndürür.
yine yukarıda bahsetmiş olduğumuz find methodunun kullanım alanlarından biride burada ortaya çıkar:


BindingSource "RemoveCurrent" Yöntemi: Bellekten satır siler.

BindingSource "RemoveFilter"Yöntemi: Daha önce "Filter" yöntemi ile filtrelenen kayıttan tüm filtreleri temizleyip listesiyi orijinal hale döndürür.

BindingSource "Sort" ve "RemoveSort" Yöntemleri: “sort” sıralama yapar ve removesort bu sıralamyı iptal eder:
bs.sort="sütunadı desc"
bs.removesort

NOT: Visual Studio 2005 ile birlikte Binding Source kontrolleri .Net platformuna gelmiştir. Ancak bu k User Controlün içerisinde kullanılan Bindinglerini hataya sebep olmaktadır.
Binding işlemlerini daha sonra manuel bir metodu olarak çağırırsanız bu tip bir hata ile karşılaşmazsınız.

Daha Fazla Bilgi İçin:msdn.microsoft

8 Ağustos 2008 Cuma

ByVal ve ByRef İncelemesi

ByVal; Parametreye, değişkenin değeri geçer.
ByRef;Parametreye, değişkenin adresi (referansı) geçer.

Fonksiyon ve yordamlara parametre verilirken varsayılan olarak, değişkenlerin değerleri verilir.

Parametreler için erişim nitelikleri;
-params(Değer): Değer erişiminde orijinal verinin bir kopyası metoda aktarılır. Metot bu kopyayı kullanır orijinal değeri değiştirmez.
-referans : Referans , orijinal değişkene erişimi olan bir değişkendir. Referansı değiştirdiğimizde orijinal değişkenin değerini de değiştirmiş oluruz. Veri tipinin referansa göre geçirilmesi için “ref” anahtar kelimesi eklenir. “Ref” anahtarının kullanımını aşağıdaki örnekte görebilirsiniz.

Örnek; “Windows Forms Application” projesi açıyoruz, form üzerine bir buton yerleştiriyoruz.

Kodumuz aşağıdaki şekilde olursa mesaj kutusunda sadece “UZMANI.COM” yazısı görülür.

public void Ekle( string Kelime, string eklenecek )
{
Kelime = Kelime.Insert( 0, eklenecek );
}

private void button1_Click(object sender, EventArgs e)
{
string mesaj = "UZMANI.COM";
Ekle ( mesaj,"ERP");
MessageBox.Show(mesaj);

}

Kodumuza ref anahtar kelimelerini eklediğimizde mesaj kutusunda “ERPUZMANI.COM” yazısını görebileceğiz.
public void Ekle( ref string Kelime, string eklenecek )
{
Kelime = Kelime.Insert( 0, eklenecek );
}

private void button1_Click(object sender, EventArgs e)
{
string mesaj = "UZMANI.COM";
Ekle (ref mesaj,"ERP");
MessageBox.Show(mesaj);

}

4 Ağustos 2008 Pazartesi

c # dilinde Kronometre uygulaması


Form Tasarımı:
1- Başla,Dur, Temizle olmak üzere 3 buton yerleştiriyoruz.
2- Combobox; 1,1000,2000,3000,4000 hız seçeneklerini oluşturacağız. "1" seçtiğimizde sanise, "1000" seçtiğimizde saniye çalışacak.
3- listbox; başlangıç ve bitiş sürelerini yazdırmak için kullanacağız.
4- textbox; süre girişi için oluşturuyoruz.
5- label; KalanSure değerini kullancıya göstermek için.
6- Timer; Toolbox içinden "components" başlığı altında bulabilirsiniz.

code başlangıç


namespace temmuz_tekrar
{
public partial class Kronometre : Form
{
public Kronometre()
{
InitializeComponent();
}
//Değişkenimizi atıyoruz.

public int KalanSure;

//Başla Butonun işlemleri

private void button1_Click(object sender, EventArgs e)
{
// hatadan dolayı program kilitlenmesini önlemek için "try" kullanıyoruz.

try
{
//Süre yeri boş bırakılmasın.

if (textBox1.Text == "")
{
MessageBox.Show("süreyi girin");

}
//hız seçilmesi gerekmektedir.

else if (comboBox1.SelectedItem == null)
{
MessageBox.Show("Hız seçin");
}
//Değer girişinde eksiklik yoksa işlem başlar.

else
{
// Başlangıç zamanı "KalanSure" değişkenine atanır.
KalanSure = System.Convert.ToInt32(textBox1.Text);

// Kalan süre kullanıcıya gösterilir.
label4.Text = System.Convert.ToString(KalanSure);

// ListBox kontrolüne kayıt girilir.
listBox1.Items.Add("Kronometre balaşladı: " + DateTime.Now.ToString());

// ComboBox kontrolünden seçilen değer,
// Timer kontrolünün çalışma hızını belirler.
tmrKronometre.Interval = System.Convert.ToInt32(comboBox1.Text);
// Timer kontrolünü çalıştırır.
tmrKronometre.Start();
}
}
//Herhangi bir hata oluşursa veya
//"textBox"a rakam harici bir şey yazılırsa aşağıdaki hatayı verecektir.

catch (Exception)
{
MessageBox.Show("Lütfen sayı girin");
}
}
//Dur butonun işlemleri
private void button2_Click(object sender, EventArgs e)
{
// Timer kontrolünü durdurur.

tmrKronometre.Stop();

// ListBox kontrolüne kayıt girilir.

listBox1.Items.Add("Kronometre durduruldu: " + DateTime.Now.ToString());
}

private void tmrKronometre_Tick(object sender,EventArgs e)
{
// Her saniye geçtiğinde sure değeri 1 azalacaktır.
KalanSure = KalanSure - 1;

// KalanSure değeri kullancıya gösterilir
label4.Text = System.Convert.ToString(KalanSure);

// KalanSure değeri sıfıra ulaşmışsa kronometre durdurulur.

if (KalanSure == 0)
{
tmrKronometre.Stop();
listBox1.Items.Add("Süre Doldu: " + DateTime.Now.ToString());
MessageBox.Show("Süre doldu");
}
}
//Temizle butonunun işlemleri

private void button3_Click(object sender, EventArgs e)
{
listBox1.Items.Clear();
textBox1.Clear();
comboBox1.Text = "Hızı Seçin";
label4.Text = "0";
}

}
}
code bitiş


Not: yazilimhocasi.com da da benim tarafımdan yayınlanmıştır.

1 Ağustos 2008 Cuma

c # (sharp) if- else karar yapıları

if anahtar kelimesi iki değeri karşılaştırmak için kullanılır.
if karar yapısı, bir koşul sağlandığı zaman yapılacak işlemleri kapsar. Kontrol edilecek koşul ifadesinin sonucu true değerini alırsa, küme parantezleri arasındaki kodlar çalıştırılır.

if(Koşul)
{
}

else ifadesi, if ifadesindeki koşul yanlış olduğunda çalıştırılacak kodlar yazabilmemizi sağlar.
else
{
}

Örnek: Yazılı ve Sözlü notunu kullanıcıdan aldıktan sonra, geçme notunu hesaplayan ve notun 70 'ten büyük olması durumunda ekrana “Başarılı” mesajını çıkartan, küçük olması durumunda da “Kaldınız çok çalışın” mesajını çıkartan algoritma.

{ double gecmeNotu;
short yaziliNotu = short.Parse(textBox1.Text);
short sozluNotu = short.Parse(textBox2.Text);
gecmeNotu = yaziliNotu * 0.6 + sozluNotu * 0.4;
if(gecmeNotu > 70)
{
MessageBox.Show("Başarılı...");
}
else
{
MessageBox.Show("Kaldınız çok çalışın...");
}
}