30 Temmuz 2009 Perşembe

dev express Message Box Ayarları

Dev Express Message Box kullanımı oldukca kolay
XtraMessageBox.Show("Delete Operation is Successful", "Success", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1);

Geriye değer döndürmek ise şöyle ;


DialogResult DResult=XtraMessageBox.Show("Are You Sure Clearing Form ?", "Clear", MessageBoxButtons.YesNo, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1);
if (DResult == DialogResult.No)
return;

29 Temmuz 2009 Çarşamba

3G de Gelmiş Aman Aman


Viki Bilgisi:Uluslararası Telekomünikasyon Birliği-2000 (International Mobile Telecommunications-2000) (IMT-2000), ya da daha bilinen adıyla 3G, 3N ya da 3. Nesil, Uluslararası Telekomünikasyon Birliği tarafından tanımlanan; GSM EDGE, UMTS, CDMA2000, DECT ve WiMAX teknolojilerini kapsayan bir standartlar ailesidir. Verilen hizmetler arasında mobil kullanıcılar için geniş-alanda kablosuz telefon görüşmeleri, görüntülü aramalar ve kablosuz veri aktarımı vardır. 2G ve 2.5G hizmetleriyle karşılaştırıldığında, 3G eşzamanlı konuşma ve veri hizmetleriyle daha yüksek veri hızlarını (HSPA+ ile iniş yolunda 14.4 Mbit/s ve çıkış yolunda 5.8 Mbit/s'e ulaşan hızları) desteklemektedir. Bu sayede 3G ağları, ağ operatörlerinin daha geniş ve gelişmiş hizmetleri, geliştirilmiş spektral verimlilik sayesinde ulaşılan daha büyük ağ kapasitesiyle sunmalarını sağlar.

Uluslararası Telekomünikasyon Birliği üçüncü nesil (3G) mobil telefon standartlarını gelişimin hızlanması, bantgenişliğinin artması ve daha geniş uygulamaların desteklenmesi için tanımladı. Örneğin, GSM (şu anki en yaygın cep telefonu standardı) sadece ses değil, aynı zamanda 14.4 kbps hızlarında devre anahtarlamalı veri aktarımını destekler; ancak çokluortam uygulamalarının desteklenmesi için 3G'de paket anahtarlamalı verilerin daha iyi spektral verimlilikte ve daha yüksek hızlarda aktarılması gerekmektedir. Paket anahtarlaması sayesinde 3G sisteminde cihazlar bant genişliğini sadece veri alışverişi sırasında işgal ederler. Özet olarak, 3G'nin 2G'ye göre getirmiş olduğu en büyük yenilik, iletimin ses yerine veri odaklı olmasıdır.


3G'nin getirmiş olduğu birçok yenilik vardır:
Mesajlaşma, internet erişimi ve yüksek hızda çoklu ortam haberleşme desteği
Gelişmiş hizmet kalitesi
Gelişmiş pil ömrü
Konumlandırma hizmetlerinin sağlanması
İşletim ve bakım kolaylığı
Multimedya ve eğlence seçenekleri ile hızlı dosya,resim,müzik aktarımları olmaktadır.
Mevcut şebekelerle birlikte çalışabilirlik, 2G’ye dolaşım sağlayabilme
Mevcut şebekelere geriye doğru uyum sağlayabilme, düşük kurulum maliyeti
Gelişmiş güvenlik yöntemleri sayesinde mobil ticarete ortam sağlayabilme
Medya haberciliği açısında çekilen video görüntülerinin en hızlı bir şekilde haber merkezine yetiştirilmesi
Son Kullanıcı açısında YouTube hesabınıza direk video gönderimi ve paylaşımı
4 saatte indirilebilen 700 MB'lık Divx filmin 1 saatte indirilebilmesi (2 mbps hız)
Görüntülü konuşmanın sağlanması.
Mobil TV izleyebilme (Kupa maçları ve diziler gibi).

28 Temmuz 2009 Salı

C# kod ile nesne oluşturma

DevExpress.XtraEditors.CheckedListBoxControl[] ArryChkEquipmentSubSystem;
yazarak en başta bir kontrol tanımladım.

daha sonra sayısının kesinleştiği kod bloguna giderek

ArryChkEquipmentSubSystem = new DevExpress.XtraEditors.CheckedListBoxControl[intCountCustomerEquipment];

şimdi nesneler oluştu bunları forma eklemeye gelelim

for (int i = 0; i < location =" new" size =" new" style="color:#330099;">ArryChkEquipmentSubSystem[i].Name = "SubSystem_" + i;
ArryChkEquipmentSubSystem[i].ItemCheck += new DevExpress.XtraEditors.Controls.ItemCheckEventHandler(ArryChkEquipmentSubSystem_ItemCheck);
}



kırmızı yazılı kodla bir olay bile bağladım :)
olayın hangi nesneden tetiklendiğini nereden alırım



private void ArryChkEquipmentSubSystem_ItemCheck(object sender, DevExpress.XtraEditors.Controls.ItemCheckEventArgs e)
{
DevExpress.XtraEditors.CheckedListBoxControl editArryChkEquipmentSubSystem = sender as DevExpress.XtraEditors.CheckedListBoxControl;
string strControlName = editArryChkEquipmentSubSystem.Name.ToString();
int intControlID = Convert.ToInt16(strControlName.Replace("SubSystem_", ""));
if (e.State == CheckState.Checked)
{
lstChkEquipmentSubSystem[intControlID].Add(e.Index);
}
if (e.State == CheckState.Unchecked)
{
lstChkEquipmentSubSystem[intControlID].Remove(e.Index);
}
}

Mavi yazılı kod ile bunu anlarım.
Not: Burada nesnelerin konumlarını aynı yazdığımız için üste üste gelerek tek bir nesne gibi görünür.

C# Dataset Bilgi Okumak

Datasetden bil okumak bilindiği gibi sorunlu bir işlem öncelikle datasetin hangi tablosundan hangi sutunu okuyacağımızı bilmeliyiz.

DataSet dsID = new DataSet();
dsID = obj.TakeCustomerEquipmentCustomerIDGetEquipmentMasterNameCustomerEquipmentID(intcustomerID);
ArrayList aryEquipmentID = new ArrayList();
foreach (DataRow dtr in dsID.Tables[0].Rows)
{
foreach (DataColumn c in dsID.Tables[0].Columns)
{
aryEquipmentID.Add(dtr[c.ColumnName]);
}
}


dataset ilk tablosunun satırlarında gezerek sutun sutun yazdırılıyor.Eğer Datasetin aldığınız sorgular birden fazla sutun içeriyorsa ArrayList giderek belli bir moddaki verileri filitre etmelisiniz. Örneğin 3 tane eğer kolumunuz varsa ve ilki ID tablosunda geliyorsa Araylist içeriği
0 ID
1
2
3 ID
4
5
6 ID
şeklinde gelen kayıtlardan oluşacak
neyseki benim TakeCustomerEquipmentCustomerIDGetEquipmentMasterNameCustomerEquipmentID güzel fonksiyonum tek bir sutundan oluşuyor.Tekrar yukarıdaki kodu filitreleme gerek yok.

23 Temmuz 2009 Perşembe

String birleştirme

C# da string birleştirme + operatörüyle
VB de ise & ile yapılma

C# da bir örnek

string strcode = "";
strcode = strcustomercode + "-" + intyear.ToString() + "-" + intCountratTotalCount + "-" + ContractType.Properties.Value.ToString();
ContractNumber.Properties.Value = strcode;

C# Tarih Farkı (Date Diff)

C# da hep datihfarkı_sontarih-ilktarih gibi bir işlemi yapmak istemişimdir.Bu işlem bukadar kolay olmasada

diffResult =dtTodayMidnight -dtTodayNoon gibi bir işlemi yapan C# kodu aşağıda var.


using System;
using System.Collections.Generic;
using System.Text;

namespace Console_DateTime
{
class Program
{
static void Main(string[] args)
{
System.DateTime dtTodayNoon = new System.DateTime(2006, 9, 13, 12, 0, 0);
System.DateTime dtTodayMidnight = new System.DateTime(2006, 9, 13, 0, 0, 0);
System.TimeSpan diffResult = dtTodayNoon.Subtract(dtYestMidnight);
Console.WriteLine("Yesterday Midnight - Today Noon = " + diffResult.Days);
Console.WriteLine("Yesterday Midnight - Today Noon = " + diffResult.TotalDays);
Console.ReadLine();
}
}
}
Çıktı:

19 Temmuz 2009 Pazar

Regular Expression Nedir?

Regular Expression, veriler içinde, istediğinize göre belirleyebileceğimiz kompleks sözdizimine sahip ifadeleri bulmak için kullanılan bir tekniktir. Bu teknik bir string içinde başka bir string bulmamıza ve istersek değiştirmemize yarar. Sözdizimi oluşturmak için kullanabileceğimiz birkaç yöntem vardır:
- Karakter Uyuşması
- Tekrarlanma Uyuşması
- Pozisyon uyuşması

1. Karakter Uyuşması: Belirlediğimz karakterlerin string içinde aramamıza yarar.
Örnek:
dogma

Başka bir örnek:
d.gma

"Nokta" karakteri, Regular Expression içinde özel bir karakterdir ve herhangi bir karakter yerine geçebilir. Yani yukarıdaki ifade
dAgma dBgma d9gma dogma d0gma..
ifadelerini çağırır.

Burada "Nokta" ile her karakteri arayacağımız gibi istediğimiz karakterler içinde arama yapılmasını da sağlayabiliriz:
[1234]dogma
Sonuç:
1dogma, 2dogma, 3dogma, 4dogma

Bunu bir diziye dökecek olursak:
[1-9]dogma
Sonuç:
1dogma, 2dogma,...,8dogma, 9dogma

Tabi burada rakam yerine harf de kullanabiliriz:
[a-d]dogma
Sonuç:
adogma, bdogma, cdogma, ddogma

2. Tekrarlanma Uyuşması: Regular Expression'ın derinleme araştırma yaparak gücünü gösterdiği bölümdür.
Örneğin dogm ve dogma çıktısını istiyoruz. Bunun için başka bir özel karakter kullanmalıyız: "Soru İşareti"
dogma?

Sonuç:
dogm, dogma

Soru işareti, soru işaretinin sıfır ve bir solundaki karakterler düşürülerek araştırılır.

Peki "dogma?" veya "dogma.?" şeklinde çıktı istiyorsak ne yapmalıyız? Kelimesi kelimesine arama için özel karakterlerden hemen önce bir ters bölü işareti (\) koymalıyız.
Yani dogma\?
Sonuç sadece dogma? değerini döndürür.

Diğer bir özel karakter yıldız işaretidir (*, asteriks). Bir önceki karakterle uyuşan sonuçlar çıkarır.
Örnek:
dogma*

Sonuç:
dogma, dogmaa, dogmaaaaaaa...

Burada son harfin değil bir grubun tekrarlanmasını istiyorsanız parantez kullanabilirsiniz.
Örnek:
dog(ma)*

Sonuç:
dogma, dogmama, dogmamamama...

Burada "ma" ifadesinin tekrar sayısı sınırsızdır. İfadenin kaç kere tekrar edileceğini de sınırlayabilirsiniz.
Örnek:
do{3}gma

Sonuç:
dooogma

Kısaca özel karakterlerin anlamları: \ ( ) [ { ^ $ * + ? . < >
\ : Özel karakterleri normak karakter olarak kullanabilmemizi sağlar.
: Veya anlamına gelir: "[htf]tp:" Çıktısı http: veya ftp: olur.
( : Grup başlatır.
] : Grup sonlandırır.
[ : Diziler oluşturmamızı sağlar. [A-Z]
{ : Tekrar sayısı belirmebilmemizi sağlar.
^ : Aranan ifadenin, string içinde en başta aranmasını sağlar.
$ : Aranan ifadenin, string içinde en sonda aranmasını sağlar.
* : 0 ya da daha fazla ifadeyi string içinde arar.
+ : 1 ya da daha fazla ifadeyi string içinde arar.
? : Kendinden önceki bir ifadeyi düşürerek arama yapar.
. : Kendi bulunduğu yere herhangi bir karakter koyarak arama yapar
< : İfadenin, string içinde tam olarak geçmesini sağlar:


3. Pozisyon Uyuşması: Aranılan ifadenin string içindeki yerini de belirlememizi sağlar.
İfadenin, string içinde en başta olmasını istiyorsak başına ^ koymamız gerekir.
Örnek:
^dogma
Burada, string dogma ile başlıyorsa sonuç başarılıdır.

Eğer string içinde en sonda olmasını istiyorsak sonuna $ koymalıyız.
Örnek:
dogma$
Burada da, string dogma ile bitiyorsa sonuç başarılıdır.

Sık Kullanılan uygulamalar için bazı hazır diziler geliştirilmiştir:
\d = [0-9]
\D = [^0-9]
\w = [a-zA-Z0-9]
\W = [^a-zA-Z0-9]
\s = [ \t\n\r\f]
\S = [^ \t\n\r\f]



Artık Regular Expression konusunun temelini biliyoruz. Aşağıdaki örnekler yardımıyla kendi sözdiziminizi yazarak kendi kontrollerinizi oluşturabilirsiniz.

Telefon Numarası Doğrulama:
0(XXX)-XXX-XX-XX

Aradığımız karakterler:
Sıfır Parantez Açma 3 Adet Rakam Parantez Kapama Çizgi 3 Adet Rakam Çizgi 2 Adet Rakam Çizgi 2 Adet Rakam

Regular Expression:
0\([0-9]{3}\)-[0-9]{3}-[0-9]{2}-[0-9]{2}

Şimdi teker teker ifadeleri açıklayalım:
0 : Numarada aranan sabit karakter.
\( : Parantez açıyoruz ancak parantez özel karakter olduğundan önüne bir ters bölü işareti koyuyoruz. (Parantez, gruplama da kullanlan özel karakterdir)
[0-9]{3} : Sıfırdan dokuza kadar olan karakterler üç defa bulunacak.
\) : Parantezi kapatıyoruz. Artık başındaki ters bölüyü anlatmama gerek yok sanırım.
- : Numarada aranan sabit karakter.
[0-9]{3} : Sıfırdan dokuza kadar olan karakterler üç defa bulunacak.
- : Numarada aranan sabit karakter.
[0-9]{2} : Sıfırdan dokuza kadar olan karakterler iki defa bulunacak.
- : Numarada aranan sabit karakter.
[0-9]{2} : Sıfırdan dokuza kadar olan karakterler iki defa bulunacak.


--------------------------------------------------------------------------------


--------------------------------------------------------------------------------

Mail Adresi Kontrolü içinde şu ifadeyi kullanabilirsiniz:
[a-zA-Z0-9]+@[a-zA-Z0-9]+\.[a-zA-Z0-9]+