23 Eylül 2010 Perşembe
'Microsoft.Jet.OLEDB.4.0' sağlayıcısı yerel makine kayıtlı değil
'Microsoft.Jet.OLEDB.4.0' sağlayıcısı yerel makine kayıtlı değil hatası alıyorsanız muhtemelen 64 bit işletim sistemi kullanıyorsunuzdur ...
Çözüm olarak :
Programın Properties bölümündem
Platform target özelliğini X86 seçmeliyiz
Çözüm olarak :
Programın Properties bölümündem
Platform target özelliğini X86 seçmeliyiz
14 Eylül 2010 Salı
Kelebeğin Hikayesi
Kelebeğin Hikayesi
Bir gün, kırlarda gezintiye çıkan bir adam, kenara oturduğu otlardan birinin dalında , küçük bir kozanın varlığını fark etti. Koza ha açıldı ha açılacak gibiydi.
Adam , bunun bir kelebek kozası olduğunu tahmin ediyordu. Böyle bir fırsat bir daha ele geçmez diye düşündü; ve bir kelebeğin dünya yüzü gördüğü ilk dakikalara şahit olmak istedi.
Dakikalar dakikaları kovaladı , saatler geçmeye başladı , ama henüz kelebeğin küçük bedeni o delikten çıkmadı. Sanki , kelebeğin dışarı çıkmak için çaba harcamaktan vazgeçmiş olabileceğini düşündü
Sanki kelebek elinden gelen her şeyi yapmış da , artık yapabileceği bir şey kalmamış gibi geldi ona. Bu yüzden , kelebeğe yardımcı olmaya karar verdi: cebindeki küçük çakıyı çıkarıp kozadaki deliği bir cerrah titizliğiyle büyütmeye başladı.
Böylece , bir-iki dakika içinde kelebek kolayca dışarı çıkıverdi. Fakat bedeni kuru ve küçücük , kanatları buruş buruştu. Adam kelebeği izlemeye devam etti; çünkü kanatlarının her an açılıp genişleyeceğini ve narin bedenini taşıyacak kadar güçleneceğini umuyordu.
Ama bunlardan hiçbiri olmadı. Kelebek , hayatinin geri kalanını , kurumuş bir beden ve buruşmuş kanatlarla yerde sürünerek geçirdi. Ne kadar denese de , asla uçamadı.
Adamın bütün iyi niyetine ve yardımseverliğine rağmen anlayamadığı şey , kozanın kisitlayiciliginin ve buna karşılık kelebeğin daracık bir delikten dışarı çıkmak için gereken çabanın , Allah’ın kelebeğin bedenindeki sıvıyı onun kanatlarına göndermek ve bu sayede kozanın kisitlayiciligindan kurtulduğu anda onun uçmasını sağlamak için seçtiği bir yol olduğuydu.
Bu gerçeği öğrendiğinde , hayat boyu unutamayacağı bir şey de öğrenmişti: Bazen , hayatta tam olarak ihtiyaç duyduğumuz şey , çabalardır. Eğer Allah , hayatta herhangi bir çaba olmadan ilerlememize izin verseydi , o zaman , bir anlamda sakat kalırdık . Olabileceğimiz kadar güçlenemezdik o zaman . Ve asla uçamazdık..
5 Eylül 2010 Pazar
Hayatı Tersten Yaşamak ...
Yaşamın en tatsız tarafı sona eriş seklidir...
Şüphesiz ki yaşamı tersten yaşamak daha güzel, hatta mükemmel
olurdu.
Nasıl mı?
Cami'de uyanıyorsunuz.
Bir tahta sandık içerisinde, herkes karşınızda saf durmuş,
iyiliğinize dua
ediyor ve tüm haklar helal edilmiş vaziyette tabuttan
doğruluyorsunuz,
yaşlı, olgun, ve ağırbaşlı olarak.
Herkes etrafınızda, büyük bir itibar, iltifatlar, çocuklar
torunlar hepsi hazır.
Arabanıza kurulup evinize gidiyorsunuz.
Doğar doğmaz devlet size maaş bağlıyor, aylık veya üç ayda bir
maaşınızı alıyorsunuz.
Ne güzel, hazır maaş, hazır ev...
Altmışlı yaslara kadar garanti, huzur içinde yaşıyorsunuz.
Sağlığınız gittikçe düzeliyor, kaslar güçleniyor,kuvvetleniyorsunuz.
Bir gün çalışmak istiyorsunuz ve ise ilk başladığınız gün size
hoş geldin hediyesi olarak bir plaket ve altın kol saati veriyor
patronunuz.. ve
genel müdürlük veya bunun gibi yüksek bir makamdan tecrübeli bir
insan olarak ise başlıyorsunuz.
Herkes karsınızda el pençe diva n...
Vücudunuzda da bazı hoşa giden hareketler de başlıyor.
Gittikçe zayıflıyor forma giriyorsunuz.
Diğer hormonal aktiviteler artıyor, fevkalade.....aman ne güzel
günler başlıyor... derken bir gün patron size artık üniversiteye gitsen
daha iyi olur diyor.
Bu arada babanız ortaya çıkmış, 'fazla çalıştın' diyor 'artık eve
dön, işi bırak, okumaya basla, harçlığın benden olsun...'
Keyfe bakar mısınız?
Okuduğunuz dersler gittikçe kolaylaşıyor. Ekmek elden, su gölden
bir dönem başlıyor.
Partiler, diskotekler, kızların sayısı artıyor.
Derken anne ve babanız sizi götürüp getirmeye başlı yor, araba
kullanma
derdi de yok artık....
Günün birinde sizi okuldan da alıyorlar, 'evde otur, keyfine bak,
oyuncaklarınla oyna' diyorlar.
Mamanız ağzınıza veriliyor, zaman zaman altınızı bile
temizliyorlar,
hatta
bu durum alışkanlık yaratıyor ve hiç tuvalet kullanmamaya
başlıyorsunuz.
Derken anneniz bir gün size süt verme kararını alıyor ve başka
bir keyifli dönem başlıyor.
Mama artık her yerde, her an ve en taze şeklinde hazır.
Bir gün karanlık ılık ve sıcak bir ortama giriyorsunuz.
Beslenmek için
ağzınızı açmaya dahi gerek yok, bir kordondan besleniyor,
sıcacık,
yumuşacık, gürültü ve patırtısız bir ortamda yaşıyorsunuz.
Küçülüyor, küçülüyor, ufacık bir hücre halini alıyorsunuz.
Veeeeee....
En güzeli deeee......
Günün birinde müthiş keyifli bir geceyle hayatiniz bitiyor...
Can YÜCEL
30 Ağustos 2010 Pazartesi
18 Ağustos 2010 Çarşamba
9 Ağustos 2010 Pazartesi
Picturebox a 8X8 kareler oluşturma
int width = 0;
int height = 0;
int count = 8;
private void pictureBox1_Paint(object sender, PaintEventArgs e)
{
width = ((pictureBox1.Width) / count);
height = ((pictureBox1.Height) / count);
for (int i = 0; i < count; i++)
{
for (int j = 0; j < count; j++)
{
Pen pen = new Pen(Color.Blue, 2);
Rectangle r = new Rectangle(i * width, j * height, width, height);
e.Graphics.DrawRectangle(pen, r);
}
}
}
int height = 0;
int count = 8;
private void pictureBox1_Paint(object sender, PaintEventArgs e)
{
width = ((pictureBox1.Width) / count);
height = ((pictureBox1.Height) / count);
for (int i = 0; i < count; i++)
{
for (int j = 0; j < count; j++)
{
Pen pen = new Pen(Color.Blue, 2);
Rectangle r = new Rectangle(i * width, j * height, width, height);
e.Graphics.DrawRectangle(pen, r);
}
}
}
6 Ağustos 2010 Cuma
c# Başlıksız Formu Hareket Ettirme
using System.Runtime.InteropServices;
//-----------------------------------------------------------------------
public const int WM_NCLBUTTONDOWN = 0xA1;
public const int HT_CAPTION = 0x2;
[DllImportAttribute("user32.dll")]
public static extern int SendMessage(IntPtr hWnd,
int Msg, int wParam, int lParam);
[DllImportAttribute("user32.dll")]
public static extern bool ReleaseCapture();
//-------------------------------------------------------------------------
private void frm_MouseDown(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Left )
{
ReleaseCapture();
SendMessage(Handle, WM_NCLBUTTONDOWN, HT_CAPTION, 0);
}
}
//-----------------------------------------------------------------------
public const int WM_NCLBUTTONDOWN = 0xA1;
public const int HT_CAPTION = 0x2;
[DllImportAttribute("user32.dll")]
public static extern int SendMessage(IntPtr hWnd,
int Msg, int wParam, int lParam);
[DllImportAttribute("user32.dll")]
public static extern bool ReleaseCapture();
//-------------------------------------------------------------------------
private void frm_MouseDown(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Left )
{
ReleaseCapture();
SendMessage(Handle, WM_NCLBUTTONDOWN, HT_CAPTION, 0);
}
}
5 Ağustos 2010 Perşembe
Bellekten form ve diğer nesnelerin tamamen silinmesi
using (Bilgiler b = new Bilgiler())
{
b.ShowDialog();
GC.SuppressFinalize(b);
GC.Collect();
GC.WaitForPendingFinalizers();
}
{
b.ShowDialog();
GC.SuppressFinalize(b);
GC.Collect();
GC.WaitForPendingFinalizers();
}
26 Temmuz 2010 Pazartesi
10 madde ile uzun yaşamanın sırları :)
10 madde ile uzun yaşamanın sırları :)
1 : İnsanlar yorgun doğar dinlenmek için yaşar.
2 : Çalışmak yorar.
3 : Gündüz dinlen ki gece rahat edesin.
4 : Yatağını kendini sevdiğin gibi sev, içinden çıkamayacağın gibi yap.
5 : Yarın yapabileceğin işi bugün yapma.
6 : Bugünün işini yarına bırakma, erteleyebileceğin kadar ertele.
7 : Dinlenen birini görünce otur ona yardım et.
8 : Oturmak mümkünse ayakta durma, yatmak mümkünse oturma.
9 : Tembellikten kimse ölmemiş.
10 : Çalışma isteği duyunca biryere otur isteğin geçmesini bekle
1 : İnsanlar yorgun doğar dinlenmek için yaşar.
2 : Çalışmak yorar.
3 : Gündüz dinlen ki gece rahat edesin.
4 : Yatağını kendini sevdiğin gibi sev, içinden çıkamayacağın gibi yap.
5 : Yarın yapabileceğin işi bugün yapma.
6 : Bugünün işini yarına bırakma, erteleyebileceğin kadar ertele.
7 : Dinlenen birini görünce otur ona yardım et.
8 : Oturmak mümkünse ayakta durma, yatmak mümkünse oturma.
9 : Tembellikten kimse ölmemiş.
10 : Çalışma isteği duyunca biryere otur isteğin geçmesini bekle
19 Temmuz 2010 Pazartesi
lmgtfy.com :)
Formun birinde gezinirken sorulan bir soruya veilen cevaplaki linke tıkladığımda çok şaşırdım :)
Cevap olarak verilen link soruyla ilgili googleda nasıl arama yapılacağını gösteriyordu ...
Sitenin linki lmgtfy.com
Örnek Verecek Olursak :)
http://lmgtfy.com/?q=site:muratgurcemal.blogspot.com11 Temmuz 2010 Pazar
Satılık Lenova G530
Bugün vermiş olduğum bir kararla bana 9 aydır arkadaşlık eden pc mi satmaya karar verdim :) Aslında çok iyi anlaşıyorduk güzel anılarımız oldu ama yetersiz olduğu düşüncesindeyim...
Özelliklerine gelecek olursak :)
çok sessizdir, konuşmayı pek sevmez, her derdi dinler, sırrınızı kimseyle paylaşmaz :)
Teknik özelliklerine gelecek olursak,
Marka-Model Lenova G530
İşlemci Intel® Pentium® Dual Core T4400
Hızı 2.00 Ghz
Önbellek 1024Kb
Ram 3 GB
HDD 250 GB
Ekran Kartı 256 MB
İşletim Sistemi Windows 7 Ultimate
Garantisi hala devam etmektedir.Kablosuz microsoft fare ve çantası yanında ..
Düşünen arkadaşlar fiyat konusunda anlaşırız :)
muratgurcemal@hotmail.com adresine mail gönderebilriler ...
Özelliklerine gelecek olursak :)
çok sessizdir, konuşmayı pek sevmez, her derdi dinler, sırrınızı kimseyle paylaşmaz :)
Teknik özelliklerine gelecek olursak,
Marka-Model Lenova G530
İşlemci Intel® Pentium® Dual Core T4400
Hızı 2.00 Ghz
Önbellek 1024Kb
Ram 3 GB
HDD 250 GB
Ekran Kartı 256 MB
İşletim Sistemi Windows 7 Ultimate
Garantisi hala devam etmektedir.Kablosuz microsoft fare ve çantası yanında ..
Düşünen arkadaşlar fiyat konusunda anlaşırız :)
muratgurcemal@hotmail.com adresine mail gönderebilriler ...
Gerçek Fakirlik
Günlerden bir gün, bir baba ve zengin ailesi çocuğunu köye götürdü. Bu yolculuğun tek amacı vardı, insanların ne kadar fakir olabileceklerini oğluna göstermek.
Çok fakir bir ailenin çiftliğinde bir gece ve bir gün geçirdiler. Yolculuktan döndüklerinde baba çocuğuna sordu,
" İnsanların ne kadar fakir olabildiklerini gördün mü ? "
" Evet ! "
" Ne ögrendin peki ? " dedi baba ,
Çocuk yanıt verdi,
- " Şunu gördüm : Bizim evde bir köpeğimiz var, onlarınsa dört. Bizim bahçenin ortasına kadar uzanan bir havuzumuz var, onlarınsa sonu olmayan bir dereleri. Bizim bahçemizde ithal lambalar var, onlarınsa yıldızları. Bizim görüş alanımız ön avluya kadar, onlarsa tüm ufku görüyorlar. "
Çocuk sözünü bitirdiğinde babası söyleyecek bir şey bulamadı. Çocuğu ekledi,
" Teşekkürler baba, ne kadar fakir olduğumuzu gösterdiğin için ! ''
Çok fakir bir ailenin çiftliğinde bir gece ve bir gün geçirdiler. Yolculuktan döndüklerinde baba çocuğuna sordu,
" İnsanların ne kadar fakir olabildiklerini gördün mü ? "
" Evet ! "
" Ne ögrendin peki ? " dedi baba ,
Çocuk yanıt verdi,
- " Şunu gördüm : Bizim evde bir köpeğimiz var, onlarınsa dört. Bizim bahçenin ortasına kadar uzanan bir havuzumuz var, onlarınsa sonu olmayan bir dereleri. Bizim bahçemizde ithal lambalar var, onlarınsa yıldızları. Bizim görüş alanımız ön avluya kadar, onlarsa tüm ufku görüyorlar. "
Çocuk sözünü bitirdiğinde babası söyleyecek bir şey bulamadı. Çocuğu ekledi,
" Teşekkürler baba, ne kadar fakir olduğumuzu gösterdiğin için ! ''
9 Temmuz 2010 Cuma
20 Haziran 2010 Pazar
27 Mayıs 2010 Perşembe
Old format or invalid type library. (Exception from HRESULT: 0x80028018 (TYPE_E_INVDATAREAD))
Old format or invalid type library. (Exception from HRESULT: 0x80028018 (TYPE_E_INVDATAREAD))
Excele manuel veri aktarımı sırasında "Old format or invalid type library. (Exception from HRESULT: 0x80028018 (TYPE_E_INVDATAREAD))" hatası alıyorsanız excele bağlanmadan kültür ayarlarını ingilizce yapmanız gerekmektedir.(Tam çözümü bumu bilmiyorum ama en azından ben öyle çözdüm :) )
Örnek Kod:
CultureInfo CultureStock = Thread.CurrentThread.CurrentCulture;
Thread.CurrentThread.CurrentCulture = new CultureInfo("en-US")
Excel.Workbook work =
app.Workbooks.Open(
outputfilename,
Type.Missing,
Type.Missing,
5,
Type.Missing,
Type.Missing,
Type.Missing,
Type.Missing,
Type.Missing,
Type.Missing,
Type.Missing,
Type.Missing,
Type.Missing,
Type.Missing,
Type.Missing);
...
...
...
Thread.CurrentThread.CurrentCulture = CultureStock ;
Excele manuel veri aktarımı sırasında "Old format or invalid type library. (Exception from HRESULT: 0x80028018 (TYPE_E_INVDATAREAD))" hatası alıyorsanız excele bağlanmadan kültür ayarlarını ingilizce yapmanız gerekmektedir.(Tam çözümü bumu bilmiyorum ama en azından ben öyle çözdüm :) )
Örnek Kod:
CultureInfo CultureStock = Thread.CurrentThread.CurrentCulture;
Thread.CurrentThread.CurrentCulture = new CultureInfo("en-US")
Excel.Workbook work =
app.Workbooks.Open(
outputfilename,
Type.Missing,
Type.Missing,
5,
Type.Missing,
Type.Missing,
Type.Missing,
Type.Missing,
Type.Missing,
Type.Missing,
Type.Missing,
Type.Missing,
Type.Missing,
Type.Missing,
Type.Missing);
...
...
...
Thread.CurrentThread.CurrentCulture = CultureStock ;
20 Mayıs 2010 Perşembe
DevExpress GridControldeki Verileri Excele Aktarma
SaveFileDialog sfd = new SaveFileDialog();
sfd.Filter = ".xls (*.xls)|*.xls";
sfd.FileName = "Test.xls";
DialogResult res= sfd.ShowDialog();
if (res == DialogResult.OK)
{
gridView1.ExportToXls(sfd.FileName);
}
8 Mayıs 2010 Cumartesi
findicons.com iconfinder.com
Herkese merhaba ,
Bir yazılımcı olarak programda yaptığım tasarılarım pekte hoş görünmüyor :) aslında benim içinde pek de önemli değil :D
Ama müşterinin beğenmesi için yapılan programın çalışması kadar güzelde görünmesi gerekmektedir ...Bunun için genelde resim veya iconlarla süslemeye çalışırım :) Butonlara,tablara,menulere içeriğini açıklayan bir icon veya resim eklerim ..fakat resim bulmakta hiç kolay değil.Özellikle eklediğim resilerin transparan resimler olması gerekmektedir.genelde programlarda .png uzantılı resimler kullanırım.Büyük bir .png arşivim olmasına rağmen aradığımı hâla bulamam :)
Bir forumda gezerken karşıma birkaç websitesi tanıtımı çıktı :) findicons.com ve iconfinder.comaslında içeriğine çok bakamadım daha, ama çok işime yarayacağına eminim ..Bu yüzden hem unutmamak için hem herkesle paylaşmak için blogda yazmaya karar verdim :)
Herkese güzel tasarımlı günler :)
Ama müşterinin beğenmesi için yapılan programın çalışması kadar güzelde görünmesi gerekmektedir ...Bunun için genelde resim veya iconlarla süslemeye çalışırım :) Butonlara,tablara,menulere içeriğini açıklayan bir icon veya resim eklerim ..fakat resim bulmakta hiç kolay değil.Özellikle eklediğim resilerin transparan resimler olması gerekmektedir.genelde programlarda .png uzantılı resimler kullanırım.Büyük bir .png arşivim olmasına rağmen aradığımı hâla bulamam :)
Bir forumda gezerken karşıma birkaç websitesi tanıtımı çıktı :) findicons.com ve iconfinder.comaslında içeriğine çok bakamadım daha, ama çok işime yarayacağına eminim ..Bu yüzden hem unutmamak için hem herkesle paylaşmak için blogda yazmaya karar verdim :)
Herkese güzel tasarımlı günler :)
3 Mayıs 2010 Pazartesi
Firefox adres çubuğunu google arama moturu yapmak :)
- Firefox u açın...
- Adres çubuğuna about:config yazın.
- Üst kısımdaki arama bölümüne keyword.url yazın
- Listedeki keyword.url e çift tıklayınız
- Açılan string değeri girin böülmüne http://www.google.com.tr/search?hl=tr;q= yazın ve Tamama tıklayın
- Firefoxu tekrardan başlattığımızda işlem tamamlanmış olacaktır
- Artık her arama için google ye girmeye gerek kalmayacak ;)
28 Nisan 2010 Çarşamba
Tek tip askerlik açıklaması
Milli Savunma Bakanı Vecdi Gönül, ''tek tip'' askerlikle ilgili, ''Genelkurmay'da bir çalışma var. Henüz kanunlaşma aşamasına gelmedi'' dedi.
Bakan Gönül, Brezilya Savunma Bakanı Nelson Jobim ve beraberindeki heyeti makamında kabul etti. Bakan Gönül, bir gazetecinin, ''Tek tip askerlikte gelinen noktaya ilişkin'' sorusuna, ''Genelkurmay'da çalışma var, ama henüz kanunlaşma aşamasına gelmedi'' yanıtını verdi.
Bakan Gönül, Brezilya Savunma Bakanı Nelson Jobim ve beraberindeki heyeti makamında kabul etti. Bakan Gönül, bir gazetecinin, ''Tek tip askerlikte gelinen noktaya ilişkin'' sorusuna, ''Genelkurmay'da çalışma var, ama henüz kanunlaşma aşamasına gelmedi'' yanıtını verdi.
24 Nisan 2010 Cumartesi
Firefox motor değiştiriyor!
Firefox'un motor alt yapısı değişecek.
Firefox bir sonraki sürümünde büyük bir değişime hazırlanıyor: Peki ama nedir bu değişim?
Bir zamanların en hızlı web tarayıcısı Firefox'un javascript yarışında artık arka sıralarda yer aldığı çoktandır bir sır değil. Geçenlerde 10.5 sürümüyle yenilenen Opera da javascript yarışında hep en önde giden Chrome'u burun farkıyla geçmeyi başarınca Firefox iyice geride kaldı. Bu Firefox'un yavaş olduğu anlamına gelmiyor; sadece bugünlerde javascript performansı ölçümünde milisaniyelere dahi önem verildiği için böyle bir yargıya ulaşılabiliyor.
Mozilla geliştiricisi David Mandelin bu gidişatı çok yakında değişeceğini açıkladı. Zira Firefox, bir sonraki sürümünde yeni bir javascript motoru kullanacak: JägerMonkey (avcı maymun). İşin ilginç tarafı ise JägerMonkey'ın yapımında Apple'ın açık kaynaklı Webkit motorundan da faydalanacak. Şu anki görüntüleme motoru TraceMonkey ve Webkit yepyeni bir motora dönüşme yolunda birleşecek.
Büyük değişim ne zaman?
TraceMonkey'in iz sürmedeki başarısı ile JägerMonkey metodu JIT'in derleme performansı sayesinde yepyeni, her iki dünyanın da en iyi yanlarını birleştiren bir motor ortaya çıkacak. JägerMonkey şu an çok erken bir geliştirme seviyesinde ve bu yüzden çıkış tarihine dair hiçbir ibarede bulunulmadı.
Firefox'un bu değişimle ne kadar başarılı olacağını kestirmek şimdilik pek kolay değil. Webkit görüntüleme motorunun hâlihazırda Safari ve Chrome tarayıcılarında kullanıldığını da hatırlatalım.
15 Nisan 2010 Perşembe
Niye Ben Diyenlere ...
Niye Ben Diyenlere ...
Brenda yamac tirmanisi yapmak isteyen genc bir kadindi. Bir gun cesaretini toplayarak grup tirmanisina katildi. Tirmanacaklari yere vardiklarinda, neredeyse duvar gibi dik ve kayalik bir yamac cikti karsilarina.
Brenda korkmasina ragmen cok azimliydi, emniyet kemerini takti, ipi yakaladi ve kayanin dik yuzune tirmanmaya basladi sonra, nefes alabilecegi bir oyuk buldu...
Orada asili dururken, yukarida ipi tutan kimse yanlislikla ipi gevsetiverdi...
Aniden bosalan ip hizla Brendanin gozune carparak gözündeki lensini dusurdu.
Lens cok kucuktu ve bulunmasi neredeyse imkansizdi... Brenda artik bulanik goruyordu...
Umitsizlik icinde Brenda, lensini bulabilmek isin Allaha yalvardi sadece...
Ve icten ice dusunup dua etmeye basladi..."
Allahım! Sen bu anda buradaki tum daglari gorursun.. Bu daglar uzerinde her tasi ve yapragi bildigin gibi, benim lensimin yerini de biliyorsun... Bulmama yardim et"
Patikalardan yuruyerek asagi indiler..Asagi indiklerinde tirmanmak uzere oraya gelen yeni bir grup gorduler...
iclerinden biri " Aranizda lens kaybeden var mi? " diye bagirdi ...
Brenda'nin lensini bir karinca tasiyormus ve hareket ettikce parlayan lens kizlarin dikkatini cekmisti..
Eve donduklerinde Brenda lensini nasil buldugunu babasina anlatir ve karikaturcu olan babasi da agziyla lensi tasiyan karinca resmi cizerek, karincanin uzerindeki baloncuga sunlari yazar...
" Allah'im bu nesneyi neden tasidigimi bilmiyorum.... Bunu yiyemem ve neredeyse tasiyamayacagim kadar agir... Ama istegin sadece bunu tasimamsa, senin icin tasiyacagim "
" BU YUKU NIYE TASIYORUM " diyenlere ...
Brenda yamac tirmanisi yapmak isteyen genc bir kadindi. Bir gun cesaretini toplayarak grup tirmanisina katildi. Tirmanacaklari yere vardiklarinda, neredeyse duvar gibi dik ve kayalik bir yamac cikti karsilarina.
Brenda korkmasina ragmen cok azimliydi, emniyet kemerini takti, ipi yakaladi ve kayanin dik yuzune tirmanmaya basladi sonra, nefes alabilecegi bir oyuk buldu...
Orada asili dururken, yukarida ipi tutan kimse yanlislikla ipi gevsetiverdi...
Aniden bosalan ip hizla Brendanin gozune carparak gözündeki lensini dusurdu.
Lens cok kucuktu ve bulunmasi neredeyse imkansizdi... Brenda artik bulanik goruyordu...
Umitsizlik icinde Brenda, lensini bulabilmek isin Allaha yalvardi sadece...
Ve icten ice dusunup dua etmeye basladi..."
Allahım! Sen bu anda buradaki tum daglari gorursun.. Bu daglar uzerinde her tasi ve yapragi bildigin gibi, benim lensimin yerini de biliyorsun... Bulmama yardim et"
Patikalardan yuruyerek asagi indiler..Asagi indiklerinde tirmanmak uzere oraya gelen yeni bir grup gorduler...
iclerinden biri " Aranizda lens kaybeden var mi? " diye bagirdi ...
Brenda'nin lensini bir karinca tasiyormus ve hareket ettikce parlayan lens kizlarin dikkatini cekmisti..
Eve donduklerinde Brenda lensini nasil buldugunu babasina anlatir ve karikaturcu olan babasi da agziyla lensi tasiyan karinca resmi cizerek, karincanin uzerindeki baloncuga sunlari yazar...
" Allah'im bu nesneyi neden tasidigimi bilmiyorum.... Bunu yiyemem ve neredeyse tasiyamayacagim kadar agir... Ama istegin sadece bunu tasimamsa, senin icin tasiyacagim "
" BU YUKU NIYE TASIYORUM " diyenlere ...
13 Nisan 2010 Salı
İmleç
Asp.Net Hataları
Yaptığınız projelerde eğer
-----------------------------------------------------------
'/' Uygulamasında Sunucu Hatası.
Açıklama: Sunucuda bir uygulama hatası oluştu. Bu uygulamanın geçerli özel hata ayarları uygulama hatasıyla ilgili ayrıntıların uzaktan görüntülenmesini engelliyor (güvenlik nedenleriyle). Ancak yerel sunucu makinede çalışan tarayıcılarla görüntülenebilir.
Ayrıntılar: Bu özel hata iletisinin ayrıntılarının uzak makinelerde gösterilebilmesi için, lütfen geçerli web uygulamasının kök dizininde "web.config" adlı bir yapılandırma dosyasında etiketi oluşturun. Sonra, bu etiketinin "mode" özniteliğini "Off" olarak ayarlayın.
< configuration >
< system.web >
< customErrors mode="Off" />
< /system.web>
< /configuration>
< configuration >
< system.web >
< customErrors mode="RemoteOnly" defaultRedirect="mycustompage.htm"/>
-----------------------------------------------------------
Şeklinde bir hata alıyorsanız.
Web config dosyasında ki < customErrors mode="xxx" / > satırını olarak < customErrors mode="Off" /> değiştirdikten sonra gerçek hatayı göreceksiniz.
-----------------------------------------------------------
'/' Uygulamasında Sunucu Hatası.
Açıklama: Sunucuda bir uygulama hatası oluştu. Bu uygulamanın geçerli özel hata ayarları uygulama hatasıyla ilgili ayrıntıların uzaktan görüntülenmesini engelliyor (güvenlik nedenleriyle). Ancak yerel sunucu makinede çalışan tarayıcılarla görüntülenebilir.
Ayrıntılar: Bu özel hata iletisinin ayrıntılarının uzak makinelerde gösterilebilmesi için, lütfen geçerli web uygulamasının kök dizininde "web.config" adlı bir yapılandırma dosyasında etiketi oluşturun. Sonra, bu etiketinin "mode" özniteliğini "Off" olarak ayarlayın.
< configuration >
< system.web >
< customErrors mode="Off" />
< /system.web>
< /configuration>
< configuration >
< system.web >
< customErrors mode="RemoteOnly" defaultRedirect="mycustompage.htm"/>
-----------------------------------------------------------
Şeklinde bir hata alıyorsanız.
Web config dosyasında ki < customErrors mode="xxx" / > satırını olarak < customErrors mode="Off" /> değiştirdikten sonra gerçek hatayı göreceksiniz.
12 Mart 2010 Cuma
Akıl :)
Bir akıl hastanesini ziyareti sırasında, adamın biri sorar:
Bir insanın akıl hastanesine yatıp yatmayacağını nasıl
belirliyorsunuz?
Doktor:
Bir küveti su ile dolduruyoruz. Sonra hastaya üç sey
veriyoruz.
Bir kaşık, bir fincan, ve bir kova. Sonra da kişiye küveti nasıl
boşaltmayı tercih ettiğini soruyoruz.
Siz ne yapardınız?
Adam:
OOO ! Anladım. Normal bir insan kovayı tercih eder.
Çünkü kova kaşık ve fincandan büyük.
Hayır, der doktor.Normal bir insan küvetin tıpasını çeker.
Ders: Sadece bize sunulanlar dışında da çözüm bulmaktır akıl.
9 Mart 2010 Salı
???
Size Hizmet Edenleri Hep Hatırlayın...
Bir pastanın üç otuz paraya satıldığı günlerde 10 yaşında bir çocuk
pastaneye girdi. Garson kız hemen koştu... Çocuk sordu:
'Çikolatalı pasta kaç para ?'
'50 Cent.'
Çocuk cebinden çıkardığı bozukları saydı. Bir daha sordu:
'Peki, Dondurma Ne Kadar ?'
'35 Cent.' dedi garson kız, sabırsızlıkla. Dükkanda yığınla müşteri vardı
ve kız hepsine tek başına koşuşturuyordu. Bu çocukla daha ne kadar vakit
geçirebilirdi ki... Çocuk parasını bir daha saydı ve
'Bir dondurma alabilir miyim, lütfen ?' dedi.
Kız dondurmayı getirdi. Fişi tabağın kenarına koydu ve öteki masaya
koştu. Çocuk dondurmasını bitirdi. Fişi kasaya ödedi. Garson kız masayı
temizlemek üzere geldiğinde, gözleri doldu, birden.. Masayı sanki akan
gözyaşları temizleyecekti . Boş dondurma tabağının yanında çocuğun bıraktığı
15 Cent'lik bahşiş duruyordu..
Bir pastanın üç otuz paraya satıldığı günlerde 10 yaşında bir çocuk
pastaneye girdi. Garson kız hemen koştu... Çocuk sordu:
'Çikolatalı pasta kaç para ?'
'50 Cent.'
Çocuk cebinden çıkardığı bozukları saydı. Bir daha sordu:
'Peki, Dondurma Ne Kadar ?'
'35 Cent.' dedi garson kız, sabırsızlıkla. Dükkanda yığınla müşteri vardı
ve kız hepsine tek başına koşuşturuyordu. Bu çocukla daha ne kadar vakit
geçirebilirdi ki... Çocuk parasını bir daha saydı ve
'Bir dondurma alabilir miyim, lütfen ?' dedi.
Kız dondurmayı getirdi. Fişi tabağın kenarına koydu ve öteki masaya
koştu. Çocuk dondurmasını bitirdi. Fişi kasaya ödedi. Garson kız masayı
temizlemek üzere geldiğinde, gözleri doldu, birden.. Masayı sanki akan
gözyaşları temizleyecekti . Boş dondurma tabağının yanında çocuğun bıraktığı
15 Cent'lik bahşiş duruyordu..
Önemli Olan Vermektir..
Yıllar önce hastanede çalışırken, ağır hasta bir kı z getirdiler. Tek
yaşam şansı, beş yaşındaki kardeşinden acil kan nakli idi. Küçük oğlan aynı
hastalıktan mucizevi bir şekilde kurtulmuş ve kanında o hastalığın
mikroplarını yok eden antikorlar oluşmuştu. Doktor durumu beş yaşındaki
oğlana anlattı ve ablasına kan verip vermeyeceğini sordu. Küçük çocuk bir
an duraksadı. Sonra derin bir nefes aldı ve 'Eğer kurtulacaksa, veririm
kanımı' dedi. Kan nakli yapılırken, ablasının gözlerinin içine bakıyor ve
gülümsüyordu. Kızın yanaklarına yeniden renk gelmeye başlamıştı, ama küçük
çocuğun yüzü de giderek soluyordu...
Gülümsemesi de yok oldu. Titreyen bir sesle doktora sordu :
'Hemen mi öleceğim ?'
Ufaklık, doktoru yanlış anlamıştı, ablasına vücudundaki bütün kanı verip,
öleceğini düşünüyordu.
Yıllar önce hastanede çalışırken, ağır hasta bir kı z getirdiler. Tek
yaşam şansı, beş yaşındaki kardeşinden acil kan nakli idi. Küçük oğlan aynı
hastalıktan mucizevi bir şekilde kurtulmuş ve kanında o hastalığın
mikroplarını yok eden antikorlar oluşmuştu. Doktor durumu beş yaşındaki
oğlana anlattı ve ablasına kan verip vermeyeceğini sordu. Küçük çocuk bir
an duraksadı. Sonra derin bir nefes aldı ve 'Eğer kurtulacaksa, veririm
kanımı' dedi. Kan nakli yapılırken, ablasının gözlerinin içine bakıyor ve
gülümsüyordu. Kızın yanaklarına yeniden renk gelmeye başlamıştı, ama küçük
çocuğun yüzü de giderek soluyordu...
Gülümsemesi de yok oldu. Titreyen bir sesle doktora sordu :
'Hemen mi öleceğim ?'
Ufaklık, doktoru yanlış anlamıştı, ablasına vücudundaki bütün kanı verip,
öleceğini düşünüyordu.
4 Mart 2010 Perşembe
Manga – We Could Be The Same (Aynı Olabiliriz)
Manga – We Could Be The Same (Aynı Olabiliriz)
WE COULD BE THE SAME
You could be the on in my dreams
You could be much more than you seem
Anything I’ve wanted in life
Do you understand what I mean?
I can see that this could be hate
I can love you more than they hate
Doesn”t matter who they will blame
We can beatthem at their own game
I can see it in your eyes
I doesn’t come as’a suprise
I’ve seen you dancing like a star
No matter how different we are
For all this time
I’ve been loving you
Don’t even know your name
For just one night
No matter what they say
And feel I’m turning the page
And I feel the world is a stage
I don’t think the drama will stop
I don’t think they’ll give up the rage
But I know the world could be great
I can love you more then they will blame
Doesn’t matter who they will blame
We can beat them at their own game
You could be the on in my dreams
You could be much more than you seem
Anything I’ve wanted in life
Do you understand what I mean?
I can see that this could be hate
I can love you more than they hate
Doesn”t matter who they will blame
We can beatthem at their own game
I can see it in your eyes
I doesn’t come as’a suprise
I’ve seen you dancing like a star
No matter how different we are
For all this time
I’ve been loving you
Don’t even know your name
For just one night
No matter what they say
And feel I’m turning the page
And I feel the world is a stage
I don’t think the drama will stop
I don’t think they’ll give up the rage
But I know the world could be great
I can love you more then they will blame
Doesn’t matter who they will blame
We can beat them at their own game
AYNI OLABİLİRİZ
Rüyalarımda gördüğüm O sen olabilirdin
Göründüğünden çok daha fazlası,
Hayatta istediğim her şey olabilirdin
Ne demek istediğimi anlıyor musun?
Bunun kader olabileceğini görüyorum
Seni onların senden nefret ettiğinden daha fazla sevebilirim
Kimi ayıpladıkları önemli değil
Onların kendi oyunlarında yenilebiliriz
Bunu gözlerinde görüyorum
Bu bir sürpriz değil
Seni bir yıldız gibi dans ederken gördüm
Ne kadar faklı olduğumuz önemli değil
Bunca zamandır
Seviyorum seni
İsmini bile bilmiyorum
Sadece bir geceliğine
Aynı olabiliriz
Ne derlerse desinler fark etmez
Yeni bir sayfa açtığımı hissediyorum
Dünyanın bir sahne olduğunu hissediyorum
Dramın sona ereceğini düşünmüyorum
Hiddeti bırakacaklarını düşünmüyorum
Ama dünyanın muhteşem olabileceğini biliyorum
Seni onların senden nefret ettiğinden daha fazla sevebilirim
Kimi ayıpladıkları önemli değil
Onları kendi oyunlarında yenebiliriz
Rüyalarımda gördüğüm O sen olabilirdin
Göründüğünden çok daha fazlası,
Hayatta istediğim her şey olabilirdin
Ne demek istediğimi anlıyor musun?
Bunun kader olabileceğini görüyorum
Seni onların senden nefret ettiğinden daha fazla sevebilirim
Kimi ayıpladıkları önemli değil
Onların kendi oyunlarında yenilebiliriz
Bunu gözlerinde görüyorum
Bu bir sürpriz değil
Seni bir yıldız gibi dans ederken gördüm
Ne kadar faklı olduğumuz önemli değil
Bunca zamandır
Seviyorum seni
İsmini bile bilmiyorum
Sadece bir geceliğine
Aynı olabiliriz
Ne derlerse desinler fark etmez
Yeni bir sayfa açtığımı hissediyorum
Dünyanın bir sahne olduğunu hissediyorum
Dramın sona ereceğini düşünmüyorum
Hiddeti bırakacaklarını düşünmüyorum
Ama dünyanın muhteşem olabileceğini biliyorum
Seni onların senden nefret ettiğinden daha fazla sevebilirim
Kimi ayıpladıkları önemli değil
Onları kendi oyunlarında yenebiliriz
2 Mart 2010 Salı
Must declare a body because it is not marked abstract or extern
"must declare a body because it is not marked abstract or extern"
public string Degisken{get;set;} gibi bir satırda böyle bir hata olıyorsanız .
Bu hatanın nedeni ise public string Degisken{get;set;} şeklinde kullanımın Framework 3.0 altı bir versiyonda desteklenmemesi..
public string Degisken{get;set;} gibi bir satırda böyle bir hata olıyorsanız .
string degisken;
public string Degisken
{
get{return degisken;}
set{degisken=value;}
}
olarak değiştirmeniz yeterli.Bu hatanın nedeni ise public string Degisken{get;set;} şeklinde kullanımın Framework 3.0 altı bir versiyonda desteklenmemesi..
25 Şubat 2010 Perşembe
22 Şubat 2010 Pazartesi
Suçlu Kim ?
| Hırsızın duygulandıran notu |
Eskişehir'de bir evden 5 bin lira değerinde ziynet eşyası çalıp iki gün sonra aynı evin kapısının önüne altınları bırakan hırsızın koyduğu not ev sahibini de duygulandırdı .
Polise başvuran Gürkan Keser, Şarhöyük Mahallesi'ndeki evine kimse yokken giren henüz kimliği belirlenemeyen bir kişinin 5 bin lira değerinde ziynet eşyasını çaldığını bildirdi.
Emniyet güçleri, olayla ilgili soruşturmayı sürdürürken, Gürkan Keser, iki gün sonra kapının tokmağına asılı bir poşet buldu. Poşeti kontrol eden Keser, çalınan ziynet eşyası ile bir not buldu.
Ev sahibi Keser, üzerinde ''Kanser hastası 1,5 yaşındaki kızımın tedavisi için hırsızlık yapmak zorunda kaldım. Başka çarem yoktu. Aldığım altınlardan sizin de kızınız olduğunu anladım. İhtiyacım kadar olan 5 yüzüğü aldım, geri kalanını iade ediyorum. Çok üzgünüm, beni affedin'' yazan notu okuyunca duygulandı.
Evli ve bir kız babası Gürkan Keser, olayı polislere bildirdi.Emniyet güçleri, soruşturmayı sürdürüyor.
19 Şubat 2010 Cuma
Asp.Net Projelerini derlemek
Başlat->Tüm Programlar->Microsoft Visual Studio 200X Visual Studio 200X Command Prompt editörüne alttaki kodu yazıyoruz
C:\Inetpub\wwwroot aspnet_compiler -v dosyaadi C:\Inetpub\wwwroot\Yenidosya
ve dosyalarımı C:\Inetpub\wwwroot\Yenidosya klasörüne kodları gizlenmiş olarak oluşturulacaktır
C:\Inetpub\wwwroot aspnet_compiler -v dosyaadi C:\Inetpub\wwwroot\Yenidosya
ve dosyalarımı C:\Inetpub\wwwroot\Yenidosya klasörüne kodları gizlenmiş olarak oluşturulacaktır
12 Ocak 2010 Salı
Güzellik....
Güzellik nedir bilemedim...
Hayatmıdır güzel olan...
Yoksa hayatımızdakilermidir...
Eğer güzel olan hayatsa neden yoktu güzellik hayatımda...
Senmisin güzellik ...
Benmiyim güzellik..
Senin sevgin mi güzellik bu dünyada....
Benim sevgim mi ....
Yaşamakmıdır güzel olan...
Yoksa yaşantımızmıdır...
Eğer güzel olan yaşamsa neden yoktu güzellik yaşamımda...
Buldum galiba ...
Bu hayatta seninle ,senin sevginle yaşamak güzel olan ...
Bu güzelliği esirgeme benden ...
8 Ocak 2010 Cuma
Region
Region Nedir ?
Region Visual Studio IDE sinde bulunan yardımcı bir kod parçası diyebiliriz.Amacı bizim belirlediğimiz aralıkta ki kodları gruplamak.Yani Programın çalışma sürecinde dikkate alınmaya ,yorum satırı diyebileceğimiz bir kod.
Visual Studio IDE sinde yazdığımız fonksiyon ve procedurelerin yanında [-] şeklinde bir işaret çıkarak otomatik gruplama oluşmaktadır.Fakat gruplama işlemini metot içlerinde belli bir kod parçasında yapmak istediğimizde bu yeterli değildir.Belli bir döngü veya şart bloklarını veya içinde hesaplamaların bulunduğu bi kısım kodu gruplamak istediğimizde #region imdadımıza yetişmektedir.
Basit bir örnekle anlatmak gerekirse
ilk [-] işareti Form1_Load proceduresi için otomatik eklenmişdir.Fakat ikinci [-] işareti bizim tarafımızdan loşturulmuştur.'#region Grupadi' deyimi ile gruplamak istediğimiz kod başlangıcını belirtiyoruz #endregion ile grup sonunu belirtiyoruz . Grubu kapattığımızda ise
şeklinde bir görüntü oluşmaktadır..Görüldüğü gibi region-endregion arasındki kodlar kapanmış ve bizimyazdığımız etiket gösterilmiştir.
Böylece yaptığımız uygulamalarda kod karmaşasını en aza indirebiliriz.
Herkese iyi çalışamalar
Region Visual Studio IDE sinde bulunan yardımcı bir kod parçası diyebiliriz.Amacı bizim belirlediğimiz aralıkta ki kodları gruplamak.Yani Programın çalışma sürecinde dikkate alınmaya ,yorum satırı diyebileceğimiz bir kod.
Visual Studio IDE sinde yazdığımız fonksiyon ve procedurelerin yanında [-] şeklinde bir işaret çıkarak otomatik gruplama oluşmaktadır.Fakat gruplama işlemini metot içlerinde belli bir kod parçasında yapmak istediğimizde bu yeterli değildir.Belli bir döngü veya şart bloklarını veya içinde hesaplamaların bulunduğu bi kısım kodu gruplamak istediğimizde #region imdadımıza yetişmektedir.
Basit bir örnekle anlatmak gerekirse
ilk [-] işareti Form1_Load proceduresi için otomatik eklenmişdir.Fakat ikinci [-] işareti bizim tarafımızdan loşturulmuştur.'#region Grupadi' deyimi ile gruplamak istediğimiz kod başlangıcını belirtiyoruz #endregion ile grup sonunu belirtiyoruz . Grubu kapattığımızda ise
şeklinde bir görüntü oluşmaktadır..Görüldüğü gibi region-endregion arasındki kodlar kapanmış ve bizimyazdığımız etiket gösterilmiştir.
Böylece yaptığımız uygulamalarda kod karmaşasını en aza indirebiliriz.
Herkese iyi çalışamalar
5 Ocak 2010 Salı
CheckedListBox
CheckedListBox
CheckedBoxList componenti genel olarak bir grup veri arasından bir veya birden fazla seçim yapmak için kullanılır.ListBox dan farklı olarak listedeki değerlerin yanında seçmek için bir checkbox bulunur.
Görüntüsü ;
şeklindir.
Aslında component özelliklerine bakarsak normal bir Listboxdan farksız olduğunu görüceksiniz.Aslında öyle.Bikaç Ayrıntı Hariç.Birkaç özelliğini incelemek gekirse ;
Listeye bir veri eklemek istediğimizde veya verilerle ilgili diğer işlemlerde ListBoxda olduğu gibi items altında bulunan metotlar kullanılır.
CheckedListBox1.Items.Add("Kastamonu"); //Listeye Veri Ekle
int i = CheckedListBox1.Items.IndexOf("İstanbul"); //İstanbul bilgisini index değerini bul
string value = CheckedListBox1.Items[1].ToString(); //indexi 1 olan veriyi oku
Buraya kadar ListBoxdan çokta farklı olmadığını gördük.ListBox dan farklı olarak ise ;
for (int i = 0; i < CheckedListBox1.CheckedItems.Count; i++)
{
MessageBox.Show(CheckedListBox1.CheckedItems[i].ToString());
}
Yukarıda lisetede seçili olan elemanları CheckListBoxın CheckItem özelliğinden faydalanarak mesaj olarak gösterdik.Tabi burada amaç sadece ne işe yaradığını öğrenmek. MessageBox.Show yerine bir çok farklı kod yazılabilirdi..Bunlardan biride seçilen kayıtların veritabanına yazılması gibi.
CheckBoxın birkaç önemli özelliğinden bahsetmek gerekirse
bool status = CheckedListBox1.GetItemChecked(1);//Listede Indexi 1 olan verinin seçim durumunu göster
listedeki bir değerin durumu öğrenme gösterilir.Bunun tersi olarak ise
CheckedListBox1.SetItemChecked(1, true);//Indexi 1 olan verinin seçimini true yap
listedeki bir değerin durmunu değiştirme olabilir.
CheckListBoxın önemli özelliklerinden biride CheckOnClick özelliği.Listeden seçim yaparken tek tıklamadamı yoksa çift tıklamadamı seçileceği.
CheckOnClick=false ; durumunda eğer listeden bir değeri ilk defa seçiyorsanız sadece o satır seçilir.Yanındki kutucuğun değerini değiştirmek isterseniz tekrar tıklamanız gerekecektir.Bu ise seri işlemlerde zaman kaybına yol açmaktadır.
CheckOnClick=true; durumuda ise listeden bir değeri seçdiğiniz anda yandaki kutucuğun durumu değişir.Bu gibi durumda ise listedeki veriler arasında dolaşırken istenmeyen sonuçlara neden olur.
Bu iki farklı durumda da tam istediğimiz sonucu elde edemedik.Aslında TreeView componentinde olduğu gibi sadece kutucuğa tek tıklayarak durumunu değiştirmek işimizi görebilirdi.Ama componentin özelliğinide değiştiremezdik :).Bunun yerine bir takım kodlar yazaran bunu mümkün kılmak gerekirdi.Yine TreeView componetinden yola çıkarak düşünmek gerekirdi.Kutucuğa tıklanıldığında durmunun değişmesi ...Tam da istediğim buydu.Burdan yola çıkarak bir kaç kod ile bu sorunu hallettim..
Kodları inceleyecek olursak ;
int EskiDeger=-1 ;//Listenin son index değerini tutmak için tanımlı değişken
//Bu değişkeni tanımlamızın amacı seçilen veri üzerinde ek bir işlem yapmaya gerek duymamak.Eleman seçili ise tek tıklama ile kutucuğun durumu değiştirlebilir.
private void CheckedListBox1_MouseDown(object sender, MouseEventArgs e)
{
//Listeye Mouse ile tıklandığı anda işlemler gerçekleşmeli
if (e.X < 14) // İlk olarak tıkladığımız yerin X konumu kontrol ediyoruz..kutuya tıkladığımızdan emin olmamız lazım Buradaki 14 değeri yaklaşık olarak kutucuğun genişliğidir
{
int Secilen=CheckedListBox1.SelectedIndex;//Seçilen değerin index değerini alıyoruz
if (EskiDeger!=Secilen)//Burada seçilen değerin üzerinde işlem yapmak istemediğimizden bir önceki değer ile karşılaştırıyoruz
{
bool durum=CheckedListBox1.GetItemChecked(Secilen);//Tıkladığımız kutunun değerini oku
CheckedListBox1.SetItemChecked(Secilen, !durum); //Burada ise tıkladığız değerin durumu ! işareti ile tersine döndürdük (true ise false / false ise true olacaktır)
}
EskiDeger=Secilen//Son olarak ise EskiDeger değişkenine seçtiğimiz index numarısnı yazmak
}
}
Kodlarımız bu kadar kısa ve basit.Fakat yaptığı iş gerçekten önemli..Artık listedeki bir kutucuğu seçmek için o satırı seçmemize gerek kalmayacaktır :)
Herkese minimum hatalı programlar :)
CheckedBoxList componenti genel olarak bir grup veri arasından bir veya birden fazla seçim yapmak için kullanılır.ListBox dan farklı olarak listedeki değerlerin yanında seçmek için bir checkbox bulunur.
Görüntüsü ;
şeklindir.
Aslında component özelliklerine bakarsak normal bir Listboxdan farksız olduğunu görüceksiniz.Aslında öyle.Bikaç Ayrıntı Hariç.Birkaç özelliğini incelemek gekirse ;
Listeye bir veri eklemek istediğimizde veya verilerle ilgili diğer işlemlerde ListBoxda olduğu gibi items altında bulunan metotlar kullanılır.
CheckedListBox1.Items.Add("Kastamonu"); //Listeye Veri Ekle
int i = CheckedListBox1.Items.IndexOf("İstanbul"); //İstanbul bilgisini index değerini bul
string value = CheckedListBox1.Items[1].ToString(); //indexi 1 olan veriyi oku
Buraya kadar ListBoxdan çokta farklı olmadığını gördük.ListBox dan farklı olarak ise ;
for (int i = 0; i < CheckedListBox1.CheckedItems.Count; i++)
{
MessageBox.Show(CheckedListBox1.CheckedItems[i].ToString());
}
Yukarıda lisetede seçili olan elemanları CheckListBoxın CheckItem özelliğinden faydalanarak mesaj olarak gösterdik.Tabi burada amaç sadece ne işe yaradığını öğrenmek. MessageBox.Show yerine bir çok farklı kod yazılabilirdi..Bunlardan biride seçilen kayıtların veritabanına yazılması gibi.
CheckBoxın birkaç önemli özelliğinden bahsetmek gerekirse
bool status = CheckedListBox1.GetItemChecked(1);//Listede Indexi 1 olan verinin seçim durumunu göster
listedeki bir değerin durumu öğrenme gösterilir.Bunun tersi olarak ise
CheckedListBox1.SetItemChecked(1, true);//Indexi 1 olan verinin seçimini true yap
listedeki bir değerin durmunu değiştirme olabilir.
CheckListBoxın önemli özelliklerinden biride CheckOnClick özelliği.Listeden seçim yaparken tek tıklamadamı yoksa çift tıklamadamı seçileceği.
CheckOnClick=false ; durumunda eğer listeden bir değeri ilk defa seçiyorsanız sadece o satır seçilir.Yanındki kutucuğun değerini değiştirmek isterseniz tekrar tıklamanız gerekecektir.Bu ise seri işlemlerde zaman kaybına yol açmaktadır.
CheckOnClick=true; durumuda ise listeden bir değeri seçdiğiniz anda yandaki kutucuğun durumu değişir.Bu gibi durumda ise listedeki veriler arasında dolaşırken istenmeyen sonuçlara neden olur.
Bu iki farklı durumda da tam istediğimiz sonucu elde edemedik.Aslında TreeView componentinde olduğu gibi sadece kutucuğa tek tıklayarak durumunu değiştirmek işimizi görebilirdi.Ama componentin özelliğinide değiştiremezdik :).Bunun yerine bir takım kodlar yazaran bunu mümkün kılmak gerekirdi.Yine TreeView componetinden yola çıkarak düşünmek gerekirdi.Kutucuğa tıklanıldığında durmunun değişmesi ...Tam da istediğim buydu.Burdan yola çıkarak bir kaç kod ile bu sorunu hallettim..
Kodları inceleyecek olursak ;
int EskiDeger=-1 ;//Listenin son index değerini tutmak için tanımlı değişken
//Bu değişkeni tanımlamızın amacı seçilen veri üzerinde ek bir işlem yapmaya gerek duymamak.Eleman seçili ise tek tıklama ile kutucuğun durumu değiştirlebilir.
private void CheckedListBox1_MouseDown(object sender, MouseEventArgs e)
{
//Listeye Mouse ile tıklandığı anda işlemler gerçekleşmeli
if (e.X < 14) // İlk olarak tıkladığımız yerin X konumu kontrol ediyoruz..kutuya tıkladığımızdan emin olmamız lazım Buradaki 14 değeri yaklaşık olarak kutucuğun genişliğidir
{
int Secilen=CheckedListBox1.SelectedIndex;//Seçilen değerin index değerini alıyoruz
if (EskiDeger!=Secilen)//Burada seçilen değerin üzerinde işlem yapmak istemediğimizden bir önceki değer ile karşılaştırıyoruz
{
bool durum=CheckedListBox1.GetItemChecked(Secilen);//Tıkladığımız kutunun değerini oku
CheckedListBox1.SetItemChecked(Secilen, !durum); //Burada ise tıkladığız değerin durumu ! işareti ile tersine döndürdük (true ise false / false ise true olacaktır)
}
EskiDeger=Secilen//Son olarak ise EskiDeger değişkenine seçtiğimiz index numarısnı yazmak
}
}
Kodlarımız bu kadar kısa ve basit.Fakat yaptığı iş gerçekten önemli..Artık listedeki bir kutucuğu seçmek için o satırı seçmemize gerek kalmayacaktır :)
Herkese minimum hatalı programlar :)
Kaydol:
Yorumlar (Atom)












