Yılmaz Yavuz tarafından 29 Kasım 2008 tarihinde yazılmış
Ufak bir örnek:
public static void LookupEditeVeriDoldur(LookUpEdit lue)
{
//Burda datasource olarak datatable, list veya linq entityset ,table vb verebiliriz.
lue.Properties.DataSource = VeriKaynagim.Veri;
//EditValue içeriğine yazılacak veri kaynağındaki column/property
lue.Properties.ValueMember = "ID";
//Kullanıcı lookup dan bir şey seçtiği ve lookup kapandığında görünecek olan property/column. Boş bırakıldığında object.ToString() methodu çağırılır ve o şekilde görünür.
lue.Properties.DisplayMember = "ADI";
//Değer null olduğunda yani herhangi bir şey seçilmediği durumda görünecek olan yazı
lue.Properties.NullText = "<Lütfen bir Ad Seçiniz>";
//Önceden eklenmiş olabileceğini düşünüp lookup un columlarını siliyoruz
lue.Properties.Columns.Clear();
//Veri kaynağından göstermek istediğimiz column/property leri Lookup'ın Columnlarına ekliyoruz
lue.Properties.Columns.Add(new LookUpColumnInfo("ADI", 20, "Kullanıcı Adı"));
}
Yılmaz Yavuz tarafından 27 Kasım 2008 tarihinde yazılmış

Microsoft’un tüm bilgisayarlarınızı senkron halinde tutmanızı sağlayabileceğini iddia ettiği yeni servisinin adı Live Mesh.
Cep telefonunuz , İşyerindeki Desktop Pc’niz , Yazlıktaki IMac’iniz ve Çantanızdaki Laptop’unuz artık çalıştığınız dosyalar hepsinde güncel halinde bulunabilecek hemde flash disc vb. taşımaya gerek duymadan. Ayrıca Uzak masaüstü bağlantısıda kolayca yapabilecekmişiz.
Bunlar vaad ettikleri şuanda ise Windows Pc ler ile ve Live Desktop dedikleri bir şey çalışır vaziyette ayrıca MacOx 10.5.1 ve üzeri için bir önizleme (tech preview) de bulunuyor sistemin içinde ancak Mobile konusu şuanda halen “Çok yakında” aşamasında bir tarih vb. belirtilmemiş. Tahminimce windows mobile 6 değilde 7 ile birlikte destek verecekler.
Bu arada Arayüz Windows Vista şeklinde hazırlanmış güzel görünüyor ayrıca Uzak masaüstü için sanırım Internet Explorer şart çünkü firefox3 ile denediğimde activeX vs hatası vermekte, bir başka uzak masaüstü alternatifi olan logmein bu konuda daha iyi diyebilirim ancak Live Mesh de gelişecektir.
Live Mesh’e burdan ulaşabilirsiniz.
Yılmaz Yavuz tarafından 24 Kasım 2008 tarihinde yazılmış

Herkesin beklediği(!) numara taşınabilirliği sonunda 9 Kasım 2008 de aramıza katıldı. Peki ya bundan sonra nolucak aradığımız numaranın hangi opatörde olduğunu nasıl anlayacağız sorusuna ufakta olsa bir çözüm üretmek adına www.numarator.com açmış bulunmaktayım. Sitenin şuanki tek amacı yazdığınız numaranın hangi oparatorde olduğunu telekominikasyon kurumu database’inden sorgulayıp size hangi oparatorde olduğunu söylemek henüz elimizde yeteri kadar veri olmadığı için , özellikle taşınmış bir numara henüz bilmediğim için testleri tamamlanmadı ve beta sürümünde ancak deneme imkanı olanlar sonuçları burda yazabilir.
böylece siteyi tamamlayıp tam sürümüne çıkarabiliriz.
Yılmaz Yavuz tarafından 12 Kasım 2008 tarihinde yazılmış

Nettiers hakkında daha önce bahsetmiştim. Şimdide nettiers ın çıkardığı entity ler üzerinde yapılan değişiklikleri yakalamayı gösterelim. Birçok alanı olan bir giriş ekranınız olsun sözgelimi Masraf_Avans girişi yapıyor olun böyle bir tabloda masraf ve avansın ortak alanları olduğu gibi sadece masrafta görünmesi gereken yada sadece avansta görünmesi ve değişikliklerin yakalanması gereken alanlar olabilir. Bunu kontrol etmek için kullandığınız textbox/combobox vb. bağlı kalmadan yapmak için direk entitylerimiz üzerinden gidebiliyoruz Nettiers her bastırdığı Entity içerisinde ColumnChanged event handler ı bulunuyor.
İlgili örnek :
private void BlogOrnek()
{
tblMasrafAvans masrafAvans = new tblMasrafAvans();
masrafAvans.ColumnChanged += new tblMasrafAvansEventHandler(masrafAvans_ColumnChanged);
masrafAvans.MASRAF_AVANS_TIP = 2;
}
private void masrafAvans_ColumnChanged(object sender, tblMasrafAvansEventArgs e)
{
//Hangi Alan değiştirildiğini e.Column bize söylüyor
if (e.Column == tblMasrafAvansColumn.MASRAF_AVANS_TIP)
{
// e.Value bize yeni değeri söylüyor
MessageBox.Show("Masraf Avans Tipi Değiştirildi Yeni Değer = " + e.Value.ToString());
}
//sender bize hangi nesne örneğinden geldiğini söylüyor
tblMasrafAvans gonderen = sender as tblMasrafAvans;
}
Yılmaz Yavuz tarafından 11 Kasım 2008 tarihinde yazılmış
PersistentRepository , Aynı işi gören bir çok repositoryItem ı farklı yerlerde kullanmanız için geliştirilmiş bir control dür.
Şöyleki Sehir RepositoryItemLookUpEdit iniz olsun ve bunu aynı form üzerindeki 3 adet GridControl 1 adet VGridControl de kullandığınızı düşünelim. Hepsinin kendi içinde rlkSehir1,rlkSehir2 gibi oluşturmak yerine bir tane PersistentRepository içinde oluşturuyoruz ve gridlerin ExternalRepository property sine gidip PersistentRepository imizi verelim. Artık Gridlerin kolonlarındaki ColumnEdit propertysinde kendi In-Place Repository sinde olmamasına rağmen rlkSehir RepositoryItemLookUpEdit ini görebiliyoruz.
Böylece hem performans kazancı sağlıyor hemde her biri için ayrı ayrı düzenleme yapma zahmetinden kurtuluyoruz.
Yılmaz Yavuz tarafından 11 Kasım 2008 tarihinde yazılmış
Google’ın Gadgets geliştirmek için yazdığı dokümantasyondan bir alıntı hoşuma gitti paylaşmak istedim.
A fundamental rule of programming is to start small. Get a basic, skeletal gadget working, and then build it up gradually. Test it at every stage before moving on. Using this approach makes it easier to tell when a change you made introduced problems.
Yılmaz Yavuz tarafından 8 Kasım 2008 tarihinde yazılmış

Visual Studio içinde bulunan CTRL + F yada CTRL + H ile ulaşılan Find And Replace penceresinde yaptığınız aramaları yada değiştirme işlemlerini kolaşlaştırmak için Wildcard (joker karakterler) kullanabilir ve işlerinizi daha kısa sürede bitirebilirsiniz.
Örnek olarak, projemizde KONTROL_VERSIYON property si bazı yerlerde 0 bazı yerlerde 1 bazı yerlerde başka şekilde set edilmiş olsun biz bunlardan normal rakam olanlarını bulup hepsine aynı değeri vermek istediğimizi düşünelim.
Bunun için öncelikle CTRL + H ile Replace kısmına ulaşalım arama kutucuğuna “KONTROL_VERSIYON = [0-9]” yazalım ve değiştileceği kısmıda aşağısında bulunan ‘şunla değiştir’ kutucuğuna yazalım.
Bu şekilde yapacağımız bir aramada bize
KONTROL_VERSIYON = 0
KONTROL_VERSIYON = 1
KONTROL_VERSIYON = 2
gibi sonuçları döndürecek ve her birini tek tek replace yapmaktan kurtulabileceğiz.
Ayrıca daha gelişmiş kriterlerimiz var ise WildCard ı seçtiğimiz yerden Reqular Expressions’ı seçerek regex kriteride verebilirsiniz.
Bu tabloda Visual studio da hangi joker karakterlerin kullanılabileceği anlatılmış (ingilizce)
| Expression |
Syntax |
Description |
| Any single character |
? |
Matches any single character. |
| Any single digit |
# |
Matches any single digit. For example, 7# matches numbers that include 7 followed by another number, such as 71, but not 17. |
| Characters not in set |
[! ] |
Matches any one character that is not specified in the set. |
| Escape |
\ |
Matches the character that follows the backslash (\) as a literal. This allows you to find the characters used in wildcard notation, such as * and #. |
| One or more characters |
* |
Matches zero or more characters. For example, new* matches any text that includes “new”, such as newfile.txt. |
| Set of characters |
[ ] |
Matches any one of the characters specified in the set. |
WildCard ile ilgili ayrıntılar için şurdaki adrese bakabilirsiniz.
Yılmaz Yavuz tarafından 8 Kasım 2008 tarihinde yazılmış
http://www.regular-expressions.info
Adresinde regex ile ilgili örnekler ve tutorial ların bulunduğu güzel bir site.
Ayrıca bir çok kişinin kendi geliştirdikleri regex leri gönderdiği bir başka site ise RegexLib
Yılmaz Yavuz tarafından 6 Kasım 2008 tarihinde yazılmış
Önceleri bilimkurgu filmlerine konuk olan uçan arabalar şimdilerde üretimi yapılmaya başlandı bile teknoloji dediğimiz şeyin sınırı yok. Bu araba da kalkabilmesi için sağlam bir yazılım içeriyor. Amaç pilot olmadanda arabayı kullanabilmek olunca buda mecbur hale gelmiş.
Yılmaz Yavuz tarafından 6 Kasım 2008 tarihinde yazılmış
Bugün Windows 7 nin beta sürümünü test imkanı buldum herşey güzel vistaya benziyor benim gördüğüm kadarıyla tabiki daha win2003 den vistaya doğru dürüst geçememiş biri olarak vista ile arasındaki farkları tam olarak anladım desem yalan olur Merak edenler için aşağıdaki linkten rapidshare indirme adreslerine ulaşabilirsiniz. Rapidshare hesabınız olursa iyi olur aksi halde 53 civarında dosya parçası bulunuyor indirmek zor olabilir.
İndirmekle uğraşamam diyenler email ile ulaşabilirler.
w7_rapidlinks
Son Yorumlar