Arşiv

Selamlar...

C++ için ücretsiz bir geliştirme ortamı olarak CodeBlocks kullanılabilir.

http://www.codeblocks.org/downloads/26

adresinden mingw olanı indirilebilir.

Sonra da sadece aşağıdaki kodu yazarak uygulamadan web sayfası çağırabiliyoruz.

#include <windows.h>

void main()
{
   ShellExecute(NULL, "open", "http://yourwebpage.com", NULL, NULL, SW_SHOWNORMAL);
}

 

Uygulamayı derlediğimizde exe oluşuyor. Ancak exe'nin simgesini de değiştirmek mümkün.

32 x 32 boyutunda bir simge(.ico) dosyası bulup uygulamamızla aynı dizine atıyoruz. *.cpp dosyası ile aynı dizinde olacak. Projemizi sağ tıklayarak resources.rc isimli bir dosya oluşturuyoruz. İsmi çok mühim değil. Bu dosyayı açıp;

MAINICON  ICON  "uygulamaikonumuz.ico"

satırını ekliyoruz. Uygulamayı derlediğimizde artık simgeli bir şekilde exe oluşacaktır.

 

Saygılar...

# Kategoriler : C Yazılım
# Etiketler : Etiket Yok
# Yorumlar : 0 Yorum Yorum Yaz

ABD'den seçme gazete ilanları... Anlatım bozuklukları, noktalama işareti eksiklikleri derken bakın ortaya ne komiklikler çıkmış:

"OKUMA YAZMA BİLMİYOR MUSUNUZ? O halde eğitim hizmetlerimizden yararlanmak için bize yazın..."

"OTO TAMİR SERVISI- Bizi denedikten sonra bi daha bi yere gidemeyeceksiniz"

"SATILIK KÖPEK- Her şeyi yer hem de çocuklara bayılır"

"SATILIK ANTİK MASA- Uzun ve ince bacaklı geniş çekmeceli bayanlara uygun" 

"YILBAŞI ÖZEL MENÜMÜZ- Hindi: $3.25, Tavuk: $ 2.25, Çocuk: $ 2.00"

"CAMAŞIRINIZI KENDİNİZ YIKAMAKTAN BIKTINIZ MI?- Gönder ben yıkarım"

# Kategoriler : Eğlence
# Etiketler : Etiket Yok
# Yorumlar : 0 Yorum Yorum Yaz

Sabah kahvaltıda kadın; "Eminim, sen bugünün ne olduğunu hatırlamıyorsun bile" dedi.. "Tabii, hatırlıyorum" dedi adam... çıktı, gitti. Öğleye doğru kapı çalındı.. Çiçekçi çocuk harika bir kırmızı gül buketi bıraktı... Az sonra kapı tekrar çalındı, bu defa köşedeki pastanenin çırağıydı gelen... Kocaman bir çikolata kutusu bıraktı gitti. Öğleden sonra gelen kutudan da, olağanüstü güzel bir elbise çıktı.. Kadın kocasının dönmesini zor bekledi ve daha kapıda boynuna sarıldı.. "Önce çiçekler, sonra çikolata, ve sonra da elbise.. Bu hayatımdaki en güzel Cumhuriyet Bayramı..."
# Kategoriler : Eğlence
# Etiketler : Etiket Yok
# Yorumlar : 0 Yorum Yorum Yaz

1.. 'damlaya damlaya göl olur' / 'taşıma suyla değirmen dönmez'
2.. 'iyi insan lafın üstüne gelir' / 'iti an çomağı hazırla'
3.. 'bir elin nesi var iki elin sesi var' / 'nerde çokluk orda bokluk'
4.. 'fazla mal göz çıkarmaz' / 'azıcık aşım ağrısız başım'
5.. ' kervan yolda düzelir' / ' balık baştan kokar'
6.. 'söz gümüşse, sükut altındır' / 'sükut ikrardan gelir'
7.. 'harama uçkur çözülmez' / 'güzele bakmak sevaptır'
8.. 'iki gönül bir olunca samanlık seyran olur' / 'iki çıplak bir hamama yakışır'
9.. 'bülbülün çektiği dili belası' / 'bilmemek ayıp değil sormamak ayıp'
10.. 'eşeğe altın semer vursan da eşek yine eşektir' / 'ye kürküm ye'
11.. 'eğri otur doğru söyle' / 'doğru söyleyeni dokuz köyden kovarlar'
12.. 'düşenin dostu olmaz' / 'dost kara günde belli olur'
13.. 'ava giden avlanır' / 'atın ölümü arpadan olsun'
14.. 'erken kalkan yol alır ' / 'acele işe şeytan karışır'
15.. 'birlikten kuvvet doğar' / 'körler sağırlar, birbirlerini ağırlar'
16.. 'tatlı dil yılanı deliğinden çıkarır' / 'lafla peynir gemisi yürümez'
17.. 'gün ola harman ola' / 'perşembenin gelişi çarşambadan bellidir'
18.. 'ya olduğun gibi görün ya göründüğün gibi ol' / 'hocanın dediğini yap, yaptığını yapma'
19.. 'iyilik yap denize at' / 'merhametten maraz doğar'
20.. 'zararın neresinden dönülse kardır' / 'gelen gideni aratır'
21.. 'yüzü güzel olanın huyu da güzel olur' / 'yüzü güzel olanı değil huyu güzel olanı sev'
22.. 'akıl akıldan üstündür' / 'aklın yolu birdir'
23.. 'el elden üstündür' / 'alet işler el övünür'
24.. 'acı patlıcani kırağı çalmaz' / 'yaşın yanında kuru da yanar'
25.. 'zorla güzellik olmaz' / 'zora dağlar dayanmaz'
26.. 'öfke baldan tatlıdır' / 'öfke ile kalkan zararla oturur'
27.. 'işleyen demir ışıldar' / 'insan yedisinde neyse yetmişinde de odur'
28.. 'fazla mal göz çıkarmaz' / 'azı karar çoğu zarar'
29.. 'insan kıymetini insan bilir' / 'insanoğlu çiğ sut emmiş'
30.. 'anasına bak kızını al, kenarına bak bezini al' / 'beş parmağın beşi birbirine benzemez'
31.. 'olmaz olmaz deme, olmaz olmaz' / 'iş olacağına varır'
32.. 'eski dost düşman olmaz' / 'güvenme dostuna saman doldurur postuna'
33.. 'harama el uzatılmaz' / 'üzümü ye bağını sorma'
# Kategoriler : Eğlence
# Etiketler : Etiket Yok
# Yorumlar : 0 Yorum Yorum Yaz

Askeri bir lisede sigara içmek yasaktır. Bu yüzden öğrenciler subaylardan gizli bir şekilde tuvaletlerde sigara içmektedirler. Yine böyle bir gün tuvalette sigara içerken baskına uğrarlar ve herkes bir tuvalete girer hani içeri giren subay tuvaleti de açıp bakamaz yaa. Tabi o panikle tuvalete girelim derken iki öğrenci aynı tuvalete girer. 

Girer girmez de düşünmeye başlarlar, tuvaletin kapısının altında 20-30 santim kadar bir boşluk vardır. Buradan iki kişi oldukları görülebilir. İşin kötü tarafı o günlerde bir öğrenci eşcinsel ilişkilerden dolayı okuldan atılmıştır ve bu konuda denetim bayağı sıkıdır. Beraber görülürlerse bir yanlış anlama Olabilir.

Düşünürler, taşınırlar. Uyanık Çocuklar! 'Birer ayağımızı kaldıralım!' derler. Nasılsa üniforma giyiyorlar, ayakkabı, pantolon herşey aynidir. İkisi yan yana gelirler sağdaki sağ ayağını soldaki sol ayağını kaldırır. (Umarım durumu gözünüzün önünde canlandırabiliyorsunuzdur!) Bu durumda beklerler, nöbetçi subay gelir eğilir, içeri doğru bakar ve şöyle der:
'Evladım ayakkabılarını ters giymişsin..."

# Kategoriler : Eğlence
# Etiketler : Etiket Yok
# Yorumlar : 0 Yorum Yorum Yaz

Beleşçi bir taraftar futbol maçlarına para ödemeden girebilmenin bir yolunu bulmuş. Tribünlerde bir efsane olarak yayılan bu arkadaş, giriş kapısına gelip kapıdaki görevli polise telaşlı bir ifadeyle "Abicim çok acil bi durum oldu. İçeride maçı seyretmeye gelmiş bi abi var, (Bir isim sallıyormuş) hanımı aniden rahatsızlandı. Hastaneye kaldırdık. Onu acilen bulup hemen hastaneye yetiştirmem lazım" diyormuş. Ehliyetini rehin bırakarak içeri giriyormuş. Ama içeride maçı seyredecek kadar kalmak dikkat çekeceğinden, hemmen diğer kapıya koşturup, oradan dışarıya çıkıyormuş. Çıkarken kapıdaki polise "Abicim benim arabayı çekiyorlarmış, bi çıkıp bakiim ne oluyomuş. Problem varsa halledip geleyim" diyomuş. Taabii geri gelince tanısın diye de bu polise de kimliğini bırakıyormuş. Çıkar çıkmaz ilk girdiği kapıya koşturup "Abicim Allah razı olsun ben arkadaşı buldum diğer kapıdan çıktık. Şimdi benim ehliyeti alabilir miyim?" diyomuş. Ehliyeti kaptığı gibi çıktığı kapıya yollanıyormuş. "Abicim ben araba işini hallettim çok saol. Kimliği alabilir miyim?" deyip kimliğini de alarak içeriye sağ salim giriyormuş.
# Kategoriler : Eğlence
# Etiketler : Etiket Yok
# Yorumlar : 0 Yorum Yorum Yaz

BİZ TATİLE GİDERİZ... 
Bizde yaş 18'e gelince sürüler halinde Bodrum'a, Marmaris'e gidilir.

Niyet belli! 15 gün orada kalınır. İlk 5 gün güzel kadınlara asılır herkes. Olmayınca şişman Alman kadınlarda şans denenir... Son günlerde ise Pansiyoncu kızlara asılınır... 
Ben de o niyetle Marmaris'e gitmiştim.
Orda bir turist kıza sordum, "Would you like you to swim with me baby" diye. Bu cümleyi kurana kadar da canım çıktı. Kız bana "Thank you" demez mi... Ulan ben onca yıldır İngilizceyi bu Thank you için mi öğrendim!.... 

EZAN VE TOP...

İlkokul çağlarımda sokakta arkadaşlarımla top oynarken, annem hep balkondan çağırır: "Oğlum Beyazıt ezan okunuyor, eve gel." O zamanlar namaz da kılmıyorum. Neden ezan okununca eve gideceğim? O dönemde ezan okunurken benim gibi eve gitmeyip top oynayan arkadaşlarımı tanıyor musunuz: Hakan Şükür, Sergen, Hami, Aykut, Hadi... Peki, benle beraber ezan okunurken eve giden arkadaşlarımı tanıyor musunuz: Ben, Yaşar Nuri Öztürk ... 

MEMLEKET NERESİ ABİ?.. 

Plajda tüm yabancı erkekler sırtüstü yatarken, Türk erkeği yüzüstü yatar. Bir de beline havlu dolayıp, altından don değiştirmeyi başarır. Sanki orası Şengül Hamamı. Herkes terlik giyerken Türk erkeği plajda Tokyo giyer.
Plajda genelde yabancılar kitap okur, Türk erkeği cep telefonu ile konuşur.

BEYAZIT'IN PİPİSİNİ GÖRÜCEZ...

Çocukluğumda, annem eve çağırdığı komşularıyla sohbet ederdi. Bazan sohbet baygınlık verince, "Oğlum hadi teyzelere amcanlara pipini göster" derdi. Ben de o sırada ders çalışırdım. "Yaa anne dersim var, gösteremem" derdim. "Aaaa, ne kadar ayıp!" diye kızarlar... Şu işe bakın; göstermek değil de göstermemek ayıp... Çok istiyorsanız siz birbirinize gösterin. Artık öyle alışmıştım ki, komsu teyzeler gelmeden önce ben göstermeye hazırlanıyordum... Bir gün Perihan teyzeler geldi. Annem kapıyı açıp buyur etti... Perihan teyzeden cevap: "Yok yok, biz girmeyeceğiz. Beyazıt'ın pipisini görüp gidicez..." 

YÜKSEK SESLE YABANCI DİL 

Biz turiste yardımcı olabilmek için elimizden geleni yaparız. Ancak bizde yabancı dil yüksek sesle konuşulur. Mesela bir turist Marmaris'e nasıl gidileceğini soruyor. "Şurdan, şurdan..." diye cevap veriyor bizimkisi. Turist anlamıyor, bizimki sesini yükseltiyor: "Şurdan, şurdaaan..." Turist yine anlamayınca, bizimki bağırmaya başlıyor: "Şurdaaan, şurdaaaan..." Turist korkuyor, anlamış gibi yapıp bir daha soramıyor.

# Kategoriler : Eğlence
# Etiketler : Etiket Yok
# Yorumlar : 0 Yorum Yorum Yaz

1970-71 sezonu; Ligin son haftasına Galatasaray 40, Fenerbahçe 39 puanla giriyor... Son hafta Galatasaray Ankara' da PTT ile karşılaşırken, Fenerbahçe İstanbul' da Beşiktaş ile karşılaşıyor...

Ankara'dan gelecek iyi bir haberin hayali ile Fenerbahçe'liler Mithat Pasa stadı tribünlerini dolduruyor... 

Tarih 6 Haziran 1971... Ligde hiç bir amacı kalmamış Beşiktaş her şeye rağmen onurluca direniyor Fenerbahçe'ye... İlk devre golsüz kapanıyor... Ancak önemli bir sorun var... TRT radyo bağlantısında giderilemeyen bir arıza var... Bir türlü Ankara ile bağlantı kurulamıyor... İkinci devre, maçın 80. dakikasına kadar durum 0-0... Bu dakikada FB'li Ogün Altıparmak golü atıyor... Fenerbahçe 1-0 öne geçiyor... Fenerbahçeli idareciler Şeref tribününde golün sevincini yaşarken bir haber ulaşıyor kendilerine... Galatasaray Ankara' da PTT karşısında 2-0 mağlup... Sevinçten ne yapacaklarını şaşırıyorlar... 

Başkan Faruk ILGAZ heyecandan yerinde duramıyor, dayanamıyor saha kenarına iniyor... Futbolcularına sesleniyor:
''Dayanın...İki dakika kaldı...Galatasaray 2-0 mağlup....Dayanın çocuklar...''... 

Mac 1-0 sona eriyor... Fenerbahçe şampiyonluğu kutluyor... Tribünlerden atlayan taraftarlar sahaya iniyorlar... Fenerbahçeli oyuncular, Ziya, Nedim, Ogün, Fuat, Serkan omuzlarda... Tribünler ''Şampiyon... Şampiyon'' tezahüratları ile inliyor... Şampiyonluğu kutlamak için soyunma odasına iniyor Fenerbahçeliler... Aradan dakikalar geçtikten sonra TRT hatlarındaki arıza gideriliyor... Ve Ankara'dan maç sonucu geliyor... Galatasaray 7-1 galip... 

Fenerbahçe soyunma odasında şampiyonluğu kutlayan idareciler ve futbolcularda ölüm sessizliği... 

Böylece 6 Haziran 1971 tarihi, lig tarihimize ''Fenerbahçe'nin Şampiyon olmadan Şampiyonluk Turu attığı'' müstesna bir tarih olarak geçiyor...! Fenerbahçe başkanı Faruk Ilgaz ise, sanırım ''En iyi işletilen kulüp başkanı'' olarak aynı sayfada kendisine özel bir yer buluyor...

# Kategoriler : Eğlence
# Etiketler : Etiket Yok
# Yorumlar : 0 Yorum Yorum Yaz

John Draper, diğer adıyla "hacker'ların babası". Dünyanın en eski ve en ünlü hacker'i olarak bilinen Draper, geçtiğimiz günlerde Comsat Türkiye tarafından Swissotel'de düzenlenen SACIS 2002 Konferansı'na katılmak için Türkiye'ye geldi. 

Dünyanın dört bir yanından gelen hacker'larla birlikte bilgisayarlardaki güvenlik sistemlerini nasıl kırdıklarını anlatan Draper, renkli anılarıyla katılımcıları hayli etkiledi. Hele bir anısı vardı ki... 

"1970 yılında MIT Üniversitesi'nde okurken Blue Box (Mavi Kutu) adı verilen bir sistem geliştirdim. Ücretsiz telefon konuşması yapabiliyor, telefonları dinliyordum. Bir gün tesadüfen dinlediğim hattın Beyaz Saray'a ait olduğunu fark ettim. Şoke oldum. Hattaki 'Beni Olimpos'a bağlar mısın?' diyordu. Bekledim. Olimpos kod adıyla konuşan biri olmalıydı. Ama sesi duyunca şaşkınlığım daha da arttı. Bu, Başkan Nixon'dı. Nixon Beyaz Saray'da, Olimpos koduyla biliniyordu. Görüşmenin gerçekleştiği telefon numarasını aldım. Bir gün sonra bu kez ben aradım. Santraldeki kıza, 'Beni Olimpos'a bağlar mısın? Çok önemli' dedim. Hemen bağladı. Sanki Beyaz Saray'ın içinden arayan biri gibi davranmıştım.

Başkan Nixon, karşımdaydı. Ona, 'Efendim bir kriz var. Çok önemli bir kriz' dedim. O da, 'Nedir o?' dedi. Ben, 'Efendim Los Angeles'ta hiç tuvalet kağıdığımız kalmadı' dedim ve kapattım."

# Kategoriler : Eğlence
# Etiketler : Etiket Yok
# Yorumlar : 0 Yorum Yorum Yaz

1- Kadın Sünnetçi: Ben geçen sene bir haber okudum gazetede, kadın sünnetçi diye magazin haber vardı. Az bulunur bişiy diye haber yapmışlar. Ben 78 senesinde sünnet oldum, kadındı sünnetçi, karı koca sünnetçiydiler, beyfendi abimi kesti kadın da beni kesti. Çok önemli bişiy değil ama, beyler özenmesin, uyuşturuyolar seni. Şimdi kesecek olsa kadını uyuşturmak lazım. Zaten o da kesemez, ben buna kıyamam der herhalde. KESME DE YANINDA YAT! 

2- Sanatçı Evi: Ben ev aldım, tam ev diyemeyiz, şato diyelim. Ben yalnız yaşayan biriyim kizlara sor. Her 27 dakikada bir yalniz yasarim. Ev guzel de bir ev ha sanatci evi. Dubleks. Bayagi sanatci evi diye bir kavram vardir, dublekstir. Git bir istatistik yap hepsinde dublekstir. Borc harc da olsa dublekstir. Ben oyle bir gorgusuzluk yapmadim. Tripleks aldim, kestirdim. Guzel bir ev dedim ya iste esya falan aldim 11 cek-yat. Hatta bazen milli takim geliyo kalmaya. 

3- Usta: Bir gün eve usta geldi kardeşim, musluk tamir edecek, evde 800 tane musluk var. Ev biraz büyük. Kusura bakmayın. Sanatçı evi dedik ya Allah Allah. 2 dönüm, yani 2 kere dönebiliyosun manasında. 800 tane musluk var, 800 tanede usta çağırdım ki çabuk bitsin. Ama ev büyük ya ustalar birbirlerini göremiyorlar. Hatta ben eve girdim hiç ustaya denk gelmedim. Şaka yapıyorum şaka, sizin istediğiniz olsun, ev küçük, ben varım, usta var, musluk var. Hatta usta çıkmadan musluk açılmıyo o derece. Baktım usta cebelleşiyo konuşayım dedim ustayla. Biliyorum ustaca, dedim napıyosun usta, aaa ben sizi tanıdım dedi. Ya ben babamın oğluyum, bi de ev hali yatak kostümüyle dolaşıyorum ki ben çıplak yatarım. Tanıdım deyince dedim noluyo lan bu kadar mi meşhur olduk anasını satayım. Dedim kimim lan ben. İner misin çıkar misin değil mi abi dedi bana ya! Yıllarca okullarda oku, karikatürler çiz, sahneye çık 1500 kez. İner misin sabaha mı bırakırsın. Dedim anam ikisini de yapmam yüklü miktar para verdim ki başka bir kıtada yaşasın diye, bir daha denk gelmeyelim diye. 

4- Deprem Habercisi: Ahmet Mete Işıkara diye bir adam çıktı dinledik hepimiz aman artçı rihter evet... Ama ne kadar dinledik 2 ay. 2 ay yetti. Ondan sonra adamı seksi erkek falan seçtik. Noldu o bilimsel kimlik? Perişan oldu. O adam şimdi ne söylese kim inanır ki? Deprem geliyooo.. Hadi ordan seksi hahahaha gitti adam hadi jartiyerin gözüküyor. 

5- Okulda Dayak: Okul bana göre değildi ya. Konuşanları tahtaya yazıp dövüyolardı ya. Şimdi millet bilet alıyo ben konuşayım diye. Konuşanlar Cem Yılmaz bir sürü çarpı. Hoca gelip dövüyor. Şimdi git bak sıradadır. 

6- Eğitici Kollar: İlkokulda eğitici kollar vardı hani, hava gözlem kolu, sanırsın ki o derste kopernik geliyo. Halbuki ne biliyo musun? Hava güneşli ha çarpı. işaretliyosun, yüzeysel. 

7- Uzay Bilimcisi: Bir 3. sınıfa giden çocuğa sordum, ne olacaksın büyüyünce diye, çocuk uzay bilimcisi dedi. Zavallının realistik mesleklerden ümidi kalmamış. Manavcı gibi birşey. Bu memlekette mi dedim evet dedi. Dedim sen şimdiden zıplamaya başla anca aya gidersin. 

8- Nükleer Atik: Bir tane nükleer atık geldi, böyle paspaslarla itiyorlardı ya. Lo kaçın lo diyorlardı ya. Radyasyondan koşarak kaçan adam var bu memlekette ya. Yani herif elektrondan hızlı koşuyo. Bu adam senle benle ayni oksijeni yakıyo ya. 

9- Amerika'da Show: Ben Amerika'da bir üniversitede sahneye çıktım. Çok akıllı bir kitleydi. Böle leb demeden Çorum'la ilgili herşeyi anlatıyolar. Hatta ben böle durdum çok komik abi hadi in dediler... 

10- Okuma Fişleri: Eskiden var mıydı okuma fişleri teyzeciğim? Sizin zamanınızda. yookk.. Herhalde tablet halindeydi o zamanlar. İlk fişleri bilirler herhalde. Soğu yer kabuğu soğu gibi. 

11- Havuz Problemi: Havuz problemi kaçta başlıyo hocam? Üçte. İşte o andan itibaren çocuktan yaz aylarında hiç performans bekleme. Havuz problemi. Ben 26 yaşıma geldim daha havuzun içine girilip de keyif yapılan bir şey olduğunu yeni öğrendim. Ben onu hep böyle problem çıkaran bir şey sanıyodum, ya insanin bir havuzla ne problemi olabilir ki? Havuzun ya içine girersin ya da uzaktan işersin. Çocuk bütün sene problemleri çözmüş şimdi havuza girmiyo. Berkant girsene yavrum. Olmaz, problem çıkabilir. 

12- Yaşlı Teyze: Teyze yaslısın dedim, ben yaşlı değilim dedi ya. Ya yaşlısın işte. Daha teyze doğduğu zaman yer kabuğu soğumamış. Oranın ilk teyzelerinden. Homo erectus teyze. O zaten oradaymış tiyatroyu onun üzerine yapmışlar. Niye yaşlı değilim diyosun????? 

13- Mühendis Olmak İsteyen Çocuk: Bir öğrenciye sordum Çapa Tıp Fakültesi ilk tercihin miydi diye hayır dedi. 1.tercihim inşaat mühendisliğiydi dedi. Şimdi o çocuk ne olacak, aklında hep inşaat mühendisliği ameliyat yapacak. Adamı ameliyat ederken dökün çimentoyu falan diycek ya bööle olur mu? 

14- Optik Form: Optik formlarda uyarı vardır. Dışına taşırmayın diye. Lan sıçmıyoruz ki. Ya onu dolduramayacaksam okumayayım yani. Ben sınavda öyle heyecanlandım ki optik formun dışını doldurdum içini boş bıraktım. 

15- HERKES yanacak dediğim bir kişi hariç. O da Fedon. Çünkü Fedon daha yanamaz. Fedon artık limitte onu direk cennete alacaklar. 

16- TÜRK Hava Kurumu bizim memleketin en iyi çalışan kurumu. Kurban derisini veriyorsun ondan uçak yapıyor. Artik nasıl katlıyorsa. Bi de tuzlarsan F-16 oluyor diye bir geyik var ama yalan olmasın. 

17- ASKERDE seni mesleğinle yönlendirirler. Terzisin terzi yaparlar. Atom mühendisiysen gazinoda televizyondan sorumlu olursun. Şahsına santral kuracak değil ya... 

18- GENÇLİĞİN bir lafı vardır, 'En verimli çağımda askere aldılar' Sanki herifi soğuk füzyonu bulurken götürdüler. Bunu söylediği zaman komik durum oluyor. Ama günde sekiz saat antrenman yapması gereken baleti 8 ay botla gezdirirsen Kuğu Golü'nden manda bokuna transfer olur. 

19- EN verimli çağımda askere aldılar. Ne yapıyordun ki? Verimli verimli evde oturuyordum. Ulan ben para basıyordum beni aldılar askere. 

20- NİYE bedelli yapmadın diyorlar. 15 bin mark veriyordun 28 gün yapıyordun. Ben hiç para vermeden 550 gün yaptım. Bir de orada olanı biteni anlatıyorum senede 2 milyon dolar kazanıyorum. 28 günlük birikiminle single çıkaramazsın. 

21- 300 erkek yan yana yatıyorsun abi. Kalabalık bir erkek topluluğu demek, başka bir organizma demek abi. Kadın olmasa bok içinde yüzeriz. Kadın kendine özenmen için sebeptir. Deodorant mi at gitsin. Konyalı arkadaşına koksan ne olur ya. Ayaklarını haftada bir mi yıkıyorsun. Ayda bir yıka. Kim senin mantar yetiştirmene birşey diyebilir. Askerliği yapmış olan o kokuyu bilir. 

22- KÜFÜR konusunda ben muzdarip bir insanım. Bu konuda bir çifte standart var. Vizontele'de ben bir adamı canlandırdım. Yazıldığı haliyle bir orospu çocuğu. O adamı başka türlü canlandırmanın imkanı yok. Bizim eski filmlerimizde falan küfür yoktur. Trajedi yaşanır, adamın karısına, kızına tecavüz, bir de köyü yakarlar. Bizim filmin kahramanı finalde gelir, 'Alçaklaaar'. Yani hiçbir caydırıcılığı olmayan. 

23- BİR eroin kaçakçısının hayatını yapıyor herif. Böyle konuşuyor: Mal geldi mi? Geldi efendim. Fakat, filhakika malımız kantara girdi. Olur mu lan böyle. Bu adamlar böyle konuşmuyor ki. Mal geldi mi? Geldi amına koyum. Malın anasını siktiler. 

24- DENİZ Harp Okulu'nun kuruluş yıldönümünde sahneye çıkıyorum. İlk mezunlar da gelmiş. Nasıl bir yaş ortalaması anlatamam. İlk 20 dakika eski Türkçe anlattım. Filhakika, buna mukabil bir sonraki latifede buluşmak üzere. Benden sonra Ajda Pekkan vardı, şöyle sundum: Yeni yetenek Ajda Pekkan. Abicim sıfır reaksiyon. Herkes onaylıyor. 'Bu kız çok tutacak' diyorlar. 

25- Al kadehi ver al... Lider taklidi yaptım durduk yerde. Eskiden lider taklidi vardı. Simdi çok zor. Ecevit taklidi yapayım desen, iki kişi koluna girecek. Amma zor iş. 

26- 14 Mart Tıp Bayramı'nda doktor arkadaşlarla sohbet ediyoruz. Bizde sperm bankası var mı diye sordum. Yok dediler. Dedim isabet. İçinde banka lafı geçtiği için biri hortumlar rezillik olur. 

27- REENKARNASYONA inananlar var. Yok öyle bir şey. Hep şöyle yapıyorlar. 'Önceki hayatımda Rus Çariçesiydim' Hiç orospu olan yok. Hiç duyuyor musunuz, 'Önceki hayatımda taksi şoförüydüm'. Herkes kral...

# Kategoriler : Eğlence
# Etiketler : Etiket Yok
# Yorumlar : 0 Yorum Yorum Yaz

Sevgili Günlük, 
12 Ağustos

Kanada'daki yeni evime taşındım. Çok heyecanlıyım. Burası çok güzel. Dağların manzarası muhteşem. Onların karlarla kaplı halini görebilmek için sabrımı zorluyorum. 

14 Ekim

Kanada dünyanın en güzel yeri. Yapraklar kırmızı ve turuncunun tonlarına dönmeye başladı. Bir atla kır gezintisi yaptım ve bir kaç geyik gördüm. Çok güzeldiler. Muhtemelen yeryüzündeki en harika hayvanlar. Burası cennet olmalı. Burayı çok seviyorum 

11 Kasım

Geyik avlama sezonu kısa bir sure sonra başlıyor. Böyle harika hayvanları öldürmeyi nasıl olur da isterler anlamıyorum. Umarım yakında kar yağışı başlar. Burayı seviyorum. 

2 Aralık

Dün gece kar yağdı. Her yerin beyaz bir örtü ile kaplanışını seyretmek için gece kalktım. Tıpkı kartpostal gibi. Dışarı cıktık merdivenlerdeki ve garajın önündeki karları kürekle temizledik. Kartopu oynadık(ben kazandım). Kar temizleme makinesi (belediyenin )gelince, garajın önündeki karları tekrar temizlemek zorunda kaldık. Harika bir yer. Kanada'yı seviyorum. 

12 Aralık

Dün gece biraz daha kar yağdı. Kar temizleme makinesi ile garajın önündeki karları tekrar temizledik. Burayı seviyorum. 

19 Aralık

Dün gece biraz daha kar yağdı. İşe gitmek için garajdan çıkamadım. Burası çok güzel bir yer fakat kürekle kar temizlemekten yoruldum. Kar temizleme makinesine Lanet olsun! 

22 Aralık

Bu beyaz boktan dün gece biraz daha yağdı. Kürekle kar atmaktan ellerim su topladı ve belim ağrımaya başladı. Kar temizleme makinesinin ben garajın önünü kürekle temizleyene kadar yolun köşesinde gizlendiğini düşünüyorum. Lanet olsun..!!! 

25 Aralık

S.... yılbaşısı. Yine yağdı. Eğer kar temizleme makinesini kullanan herifi bir elime geçirirsem yemin ederim gebertemem. Yollardaki lanet buzları eritmek için neden daha fazla tuz kullanmadığını anlamıyorum. 

27 Aralık

Allah'ın belası dün gece yine yağdı. Kar temizleme makinesinin en son gelişinden beri üç gündür karları kürekle atamadığım için eve hapsoldum. Hiç bir yere gidemiyorum. Hava durumunu sunan spiker bu gece 25 santim daha yağacağını söyledi. 25 cm karın kaç kürek edeceğini biliyor musun? 

28 Aralık

Kuş beyinli spiker yanılmış. 83 santim daha yağdı. Bu gidişle karlar yazdan önce erimez. Kar temizleme aracı kara saplandı ve hıyar oğlu hıyar sürücü benden küreğimi ödünç istedi. Karları temizlerken tam altı kürek kırdığımı ve sonuncusunu da onun kalın kafasında kırmaktan zevk duyacağımı söyledim. 

4 Ocak

Nihayet evden çıkabildim. Markete gittim ve yiyecek aldım. Dönüşte lanet geyiğin biri arabamın önüne atladı. Arabamda yaklaşık 3000 dolarlık hasar var. Bu Allah'ın cezası yaratıkların hepsini gebertmek lazım. Her yerde varlar. Umarım avcılar hepsinin kökünü kurutur. 

3 Mayıs

Arabayı şehirde bir tamirciye oturdum. Yollara dökülen bas belası tuzlar yüzünden arabamın kaportası çürümüş. 

10 Mayıs

Florida'ya taşındım.

# Kategoriler : Eğlence
# Etiketler : Etiket Yok
# Yorumlar : 0 Yorum Yorum Yaz

Adamın biri artık karısının eskisi kadar iyi duymadığından korkuyormuş ve karısının işitme cihazına ihtiyaç duyduğunu düşünüyormuş. Ona nasıl yaklaşması gerektiğinden emin değilmiş.
Bu durumu konuşmak icin aile doktorunu aramış; doktor adamın karısının ne kadar duyduğunu anlayabilmesi için basit bir yöntem önermiş: "Yapacağın şey su, karından 40 adım ileride dur, normal bir konuşma tonuyla bir şeyler söyle; eğer duymazsa 30 adım ilerisinde aynı şeyi tekrarla, sonra 20 adım; cevap alana kadar aynı şeyi tekrarla."
O akşam karısı mutfakta akşam yemeğini hazırlarken adam işlemi uygulamaya koymuş. 40 adım uzaklıktan karısına normal bir konuşma tonuyla seslenmiş: "Hayatım bu akşam yemekte ne var?"
Cevap yok Mutfağa biraz yaklaşmış. Mesafeyi 30 adıma indirmiş ve soruyu tekrarlamış:
"Hayatım bu akşam yemekte ne var?"
Gene cevap yok Mutfağa biraz daha yaklaşmış, mesafe 20 adım ve tekrar sormuş:
"Hayatım bu akşam yemekte ne var?"
Hala cevap yok Adam mutfağın kapısına gelmiş artık mesafe iyice azalmış ve soruyu tekrarlamış:
"Hayatım bu akşam yemekte ne var?"
Gene cevap alamamış Bu sefer karısına iyice yaklaşmıs ve aynı soruyu tekrar sormuş:
"Hayatım bu akşam yemekte ne var?"
"Hayatım beşinci kez söylüyorum, Tavuk"

Hikayenin ana fikri: Problem daima karşımızdaki kişilerde olmayabilir. Problemlerin sebebini birazda kendimizde aramalıyız...
# Kategoriler : Eğlence
# Etiketler : Etiket Yok
# Yorumlar : 0 Yorum Yorum Yaz

Bizim tarihte hiçbir şey icat etmemiş olduğumuzu söylemek hem ayıp hem günahtır. 

Biz az şey icat etmedik tarihte. İstanbul'a ilk elektriği vaktiyle Satie Şirketi getirdi. Uzak semtlerde elektrik alan tek-tük evlere her ay tahsildar göndermeyi gereksiz bulduğu için, bu evlere birer kumbara koymuştu. Yirmi dört saatte bir kumbaraya, o devrin halk dilinde "mandagözü" denilen, nal kadar yirmi beşliği attın mı, elektrik kendiliğinden yanardı. Yılda birkaç kez de Satie Şirketi'nin adamları bu evleri dolaşarak kumbaraları acar, paraları alırdı. İcerenköy'deki bir evin kumbarasından hiç bir şey çıkmıyordu. Şirket özel araştırmalarla evin elektrik kullandığını saptamıştı. Ancak kumbaraya hiç bir şey atmadan nasıl çalıştırıyordu elektriği, onu çözememişti. Sonunda ev sahibini şirkete çağırdılar:

- Hileni bize açıkla, sana bedava elektrik verelim. Yalnız bu üstün buluş ortalığa yayılmasın, dediler.

Ev sahibi gülümseyerek anlattı; gazoz şişelerinin kapaklarına su doldurarak bunları buzdolabında donduruyor, sonra da yuvarlak buzları yirmi beşlik niyetine elektrik kumbarasına atıyordu. Buzlar mekanizmayı çalıştırıyor, arkasından eriyip aktığı için, hiç bir iz bırakmıyordu. Elektrik fiziğinde Edison'dan sonra en büyük ve en yararlı keşif böylece bize ait oluyordu. Satie Şirketi, bu büyük mucidi ödüllendirerek, ona elektriği bedava verdi ve kumbaraların yapısını değiştirdi.
---------------------------------- 

Eski havagazı saatlerini ters çalıştırmak için bisiklet pompasıyla, gaz borularına hava basmak da, yine bize ait özel bir buluştur. Kaç metreküp havagazı harcamışsan, bisiklet pompasıyla ters yönde hava bastın mı, saatin yazdığı rakamlar geriye doğru silinir. Bu buluşun da sahibi, dalgınlıkla gereğinden fazla hava basarak, havagazı şirketinden alacaklı çıktığı için enselenmişti. Adı bu yüzden ünlü mucitler tarihine geçemedi. 

Muslukları su saatinin yazamayacağı kadar az açıp, iplik iplik akan suları yirmi dört saatte kovalara doldurmak da, yine o devrin ilginç buluşlarındandı. 

Bir süre elektrik saatlerinin rakamlarını mıknatısla geriye çevirmek de epey denenmiş, o nedenle saatlerin rakam gösteren mekanizması, mıknatısın oyununa gelmesin diye, kurşundan yapılmaya başlanmıştı. Bütün bunlar hep bizim yaratıcı beyinselliğimizin ürünleridir.
---------------------------------- 

Son yıllarda ise daha ince buluşlara yönelinmiştir. Örneğin dışarıya gidecek isçilerin sağlık muayenesinde sağlam raporu almalarını sağlamak için, mikroskop kontrolünden geçmiş fındık büyüklüğündeki temiz kakalar beş liradan kiraya verilmektedir. Çiş şişelerinin kirası iki buçuk, tansiyon düşürücü sarımsaklı su ise tutturabildiğinedir. Tababetteki bu aşamalar o kadar üst düzeydedir ki, henüz dünyamıza mal olamamıştır. 

Kırmızıbiberin içine kiremit tozu karıştırmak, kuru üzümle harmanlanmış küçük keçi boku ihraç etmek, zeytinyağı yerine kellik yapan parafini dayanmak hep yerli buluşlardır. Viski şişelerinden enjeksiyonla viskiyi çekip yerine çay suyu doldurmak, dışarıdan ithal edilen ayakkabıların sol teklerini İzmir, sağ teklerini İstanbul gümrüğüne getirterek, sonra da kimsenin sahip çıkmadığı bu yüzlerce tek ayakkabıyı ihalelerde ucuza kapatıp, arkasından birleştirerek piyasaya sürmek tarihsel ve anıtsal zeka mucizelerimiz arasındadır. 

Bize özgü fikir özgürlüğü yasaklı demokrasimiz bile, bu tür bir buluşun sonucudur. 

Kim demiş ki biz tarihte hiç bir şey icat etmedik? Bunu iddia etmek hem ayıp, hem günahtır...
Çetin ALTAN
(1978 yılında yazılmış bir yazı "Zurnada Peşrev Olmaz" dan)

# Kategoriler : Eğlence
# Etiketler : Etiket Yok
# Yorumlar : 0 Yorum Yorum Yaz

3 FENERLİ...
Polis 3 fenerliyi kaçakçılıktan yakalamış. Polisler: 'Sizi uluslararası suçtan tutukluyorum' demiş. 

Fenerliler de: 'Abi biz fenerliyiz, bizim uluslararası ne işimiz olur' demiş.

 

YAMYAMLAR...

Bir bankada 5 tane yamyam, programcı olarak görevlendirilirler.. Müdürleri onlara hitaben: 
"Şimdi burada çalışabilirsiniz. Burada iyi para kazanabilirsiniz. Ama yemek yemek için bankanın kafeteryasına gideceksiniz ve diğer çalışanları rahat bırakacaksınız" der. 

Yamyamlar hiç bir çalışanı rahatsız etmeyeceklerine söz verirler. 4 hafta sonra müdürleri gelir: 
"Çok iyi çalışıyorsunuz. Yalnız katınızdaki temizlikçi kız kayıp. Ona ne olduğunu biliyor musunuz?" diye sorar. 

Yamyamların hepsi "hayır" derler ve bu işle hiç bir ilgilerinin olmadığını söylerler. Müdür gidince yamyamların şefi yamyamlara döner: 
"Aranızdan hangi maymun temizlikçi kızı yedi?" diye sorar. 

En arkadaki yamyam alçak bir sesle cevap verir: 
"Ben yedim" 

Bunun üzerine şef şöyle cevap verir. 
"Ulan aptal! Biz 4 haftadır grup müdürleri, bölüm müdürleri, proje yöneticilerini yiyip duruyoruz ki kimse farkına varmasın diye, nasıl olsa onların bir işe yaradıkları yok senin durup dururken temizlikçi kızı yemen şart mıydı?!.."

 

İŞÇİ - İŞVEREN...

Toplu sözleşme pazarlığından yeni çıkmış sendika başkanı, salonda toplanmışÂ¸ işçilere ateşli bir söylev çekmektedir: 
"Yoldaşlar! Yönetimle yeni bir sözleşme yaptık... Bundan böyle haftanın dört günü daha çalışmayacağız!" 

Kalabalık ," Yaşasınnnn!" diye bağırır.
"Çalışma saatimiz beşte değil dörtte bitecektir!"...
"Yaaşşaaaaaaaa!"........ 
"Çalışmaya dokuzda değil onbirde başlıyacaaağııızzzz!".. 
"Helaaaalllll!"......
"Maaşlarımız %150 artacaaaktıııırrr !"..... 
"Vaaaaaoooaaaaaaaavvvvv !"....... 
"Yalnızca çarşambaları çalışaacağıızzzz !"

Bu sözün ardından derin bir sessizlik olur.... Derken arkalardan bir ses duyulur..... 
" Her çarşamba mı? "

 

BORÇ...

Temel'le Dursun para çekmek için bankada, gişe önünde beklerken bankaya birden silahlı dört kişi girmiş... 

Soygunculardan ikisi silahlarını gişe memurlarına, ikisi de, gişe önünde sırada bekleyen müşterilere yöneltmiş... Soyguncuların başı, 'Bu bir soygundur ve asla şaka değildir' diye sert bir sesle bağırdıktan sonra, aynı ses tonuyla gişe memurlarına ellerini havaya kaldırmalarını, gişe önünde bekleyen müşterilere de yüzükoyun yere yatmalarını ve saatleriyle ceplerindeki tüm paralarını çıkarıp, yanlarına koymalarını bildirmiş...

Temel'le Dursun da yere uzanıp, saatlerini ve ceplerindeki tüm paralarını çıkarıp yanlarına koyarken, Temel Dursun'a yüz liralık bir banknot uzatmış ve sessizce; 
'Geçen ay senden borç aldığım yüz lirayı bir türlü fırsat bulup ödeyememiştim' demiş, 'Hazır cüzdanımı çıkarmışken vereyim Dursun...'

 

DİŞ AĞRISI...

İki arkadaş halı saha maçından çıktıktan sonra dertleşiyormuş... Birincisi dişlerinden şikayet etmiş; 
'Yarın sabah hayatımda ilk defa protez taktırmak için diş hekimi Dr. Temel'den randevu aldım...' 

Öteki, 'Tesadüfe bak' demiş ve kendi protezlerini iki yıl önce ayni doktorun taktığını söylemiş...
'Öyle mi' demiş birincisi, 'Nasıl iyi mi bari?...'
'Valla' demiş arkadaşı, 'Geçen gün yine tam bu sahada top oynuyoruz... Aramızda iki metre var yok, adamın biri topa bir çaktı, inanır mısın top en az 200 kilometre hızla tam karnımda patladı, yere yıkıldığımı hatırlıyorum...' 

Birinci adam şaşırmış: 
'İyi de bunun ağzındaki protezlerle, sorduğum doktorla ne ilgisi var?...'
'İnan bana' demiş arkadaşı, 'Son iki yıldır ilk defa tam o an dişlerimin ağrısını unutabildim...'

 

SOHBET...

Uçağın havalanmasını beklerken adamın yanında oturan diğer yolcu, adama dönmüş ve:
-Biliyor musunuz, bir yerde okumuştum eğer yolculuk esnasında yanınızdaki ile sohbet ederseniz, seyahat süresi daha kısa geliyormuş insana.

Kucağındaki kitabi okumak üzere yeni açmış adam, kitabı yavaşça kapatmış ve adama;
-Hangi konuda sohbet etmek istersiniz?
-Bilmem ki, nükleer enerji konusunda konuşmak ister misiniz? 
-Olabilir, bu ilginç bir konu olabilir ancak nükleer enerji konusuna girmeden önce size başka bir soru sorayım.

Bir at, bir inek ve bir keçi, üçü de ot yiyerek beslenmelerine rağmen, keçi misket şeklinde, inek sıvı şeklinde, at ise kurutulmuş ot şeklinde dışkılar. Sizce neden?

Sohbet etmek isteyen adam, hayretle bakmış;
-Hiçbir şey aklıma gelmiyor, bilmiyorum. 

Kitabını okumak isteyen adam;
-Hiç bir bok hakkında bilgin yoksa ne demeye nükleer enerji konusunda sohbet etmek istedin?

 

GAZETECİLER...

Ülkede kriz gerçekleşmiş, iki genç Türk gazeteci atmışlar kendilerini yurtdışına... Bir iki hafta barlarda zaman geçirip, hayatın tadını çıkartmışlar. Sonra iş aramak için kapıları çalmaya başlamışlar. 

Bir gün, iki gün, bir hafta, iki derken, ümitleri iyice kırılmaya başlamış. O sırada bir ilanı görünce gözleri parlamış. Çiftlikte çalışacak işçi aranıyor' Koşarak gitmişler. 

Çiftlik sahibi, tepeden tırnağa süzmüş bizimkileri, sonra ellerine birer kürek tutuşturmuş, büyükçe bir ahırın kapısına götürmüş. Günde üç öğün yemek, saati 5 Euro karşılığında, ahırdaki gübreyi, 50 metre ilerideki kuyuya taşımalarını istemiş. Yatacak yer de vermiş. 

Umutsuzluktan umuda ulaşan bizim Genç Türkler bir haftalık işi iki günde bitirivermişler. Ahır pırıl pırıl olmuş. Çiftlik sahibi ağzı kulaklarında, bizimkilerin çalışmalarından son derece memnun, çiftlikte sürekli iş önermiş. Bizimkiler, bir daha sokaklara düşmemek için kabul etmişler. 

Adam, bu sefer onları tavuk çiftliğine götürmüş. Makinenin başına gelmişler, anlatmış olayı. Düğmeye basın, yürüyen bant çalışmaya başlar. Önünüzde iki kutu var, irileri sağ taraftakine, küçükleri sol taraftakine koyup, kutuları bantlayıp, ait oldukları kolilere yerleştireceksiniz." İş bu kadar basit, anlatmış ve gitmiş. 

Geçmişler bizimkiler birer tarafa basmışlar düğmeye, bant hareket etmiş, önlerine bir yumurta gelmiş, almışlar ellerine, bakmışlar, bakmışlar, "iyi mi, kötü mü, büyük mü, küçük mü" tartışmaya başlamışlar. Bu arada bant akmaya devam etmiş ve yumurtalar, bantın ucundan çöp tenekesine düşmeye başlamış. Çiftlik sahibi tesadüfen gelmiş yanlarına bakmış, onlarca yumurta boşa gidiyor, bizimkiler hala ellerinde bir yumurta tartışıyor. Durdurmuş bantı, "Ne yapıyorsunuz?" demiş kızgınlıkla... Gençler şaşkın bakınca, Siz Türkiye'de ne is yapıyordunuz?" diye sormuş. 
"Gazeteciydik!" 

"Belli" demiş adam, "Bok atmayı çok iyi beceriyorsunuz ama, iyiyle kötüyü ayırt etmeyi bir türlü beceremiyorsunuz!"

 

SEVGİLİLER GÜNÜ...

Sevgililer Günü kadın sabah uyanır uyanmaz; ''Kocacııııım'' demiş... ''Rüyamda ne gördüm biliyor musun, akşam eve geldiğinde çok güzel paketlenmiş bir kutuyla geliyorsun. Ben de paketi heyecan içinde açıyorum ve içinden ne çıkıyor biliyor musun?... BİR İNCİ KOLYE!... Sence bunun anlamı ne olabilir?

Adam gülümsemiş: ''Bu akşam öğrenirsin sevgilim...'' Ve adam akşam eve gelmiş, elinde gayet güzel paketlenmiş bir kutu... Kadın gözlerine inanamamış; ''Kocacıııııımmmm sen bir harikasın!..'' diye paketi alelacele açmış... Ve kutunun içinden ne çıkmış dersiniz?
RÜYA TABİRLERİ KİTABI...

 

DÜNYA BANKASI DANIŞMANI...

Çoban'ın biri dere kenarında koyunlarını otlatıyormuş. Tam o anda, yanına bir Cherokee Jeep yanaşmış. Brioni gömlek, Cerruti ayakkabılar giyen, Ray-Ban gözlüklü ve YSL kravatlı bir sürücü aşağıya inmiş ve çobana sormuş. 
'Eğer kaç tane koyunun olduğunu bilirsem bana onlardan bir tanesini verir misin?' 

Çoban bir adama bir de koyunlarına bakmış, 
"Tamam" diye cevap vermiş. 

Genç adam arabasını park etmiş, telefonunu bilgisayarına bağlamış bir NASA sitesine girmiş, GPS'ini kullanarak yeri taramış, bir database ve logaritma ile doldurulmuş 60 excel tablosunu açmış ve 150 sayfalık bir rapor basmış. Çobana dönmüş, 

"Tam olarak 1586 adet koyunun var" demiş. 

Çoban, 
"Doğru" diye cevap vermiş, "Koyununu alabilirsin." 

Genç adam koyunu almış ve jeep'inin arkasına koymuş. Bu sefer çoban genç adama dönmüş, 
"Eğer senin ne iş yaptığını bilirsem koyunumu geri verir misin?" diye sormuş. 

Adam, 
"Evet neden olmasın" diye yanıtlamış. 
"Sen Dünya Bankası'nda Danışmansın" demiş çoban. 

Adam sormuş, 
"Nasıl oldu da bildin?". 

Çoban "Çok basit" diye cevap vermiş. " Buraya çağrılmadan geldin, bu bir... İkincisi benim bildiğim bir şeyi bana söylemek için benden bir koyunumu istedin. Üçüncüsü yaptığın hiçbir şeyden anlamıyorsun çünkü köpeğimi aldın!"

 

CAN YÜCEL'DEN...

Yazılarında "göt" kelimesini açık açık kullandığı için mahkemeye verilen Can Yücel, mahkemedeki sözlü savunmasını 'Ne diyeyim hakim bey, bizim köyde göte göt derler' diye bitirir, ancak öncesinde bir de fıkra anlatır mahkemede. (C. Yücel bu davadan beraat etmiştir.)
Fıkra:

Bir köyde ateşli bir hasta vardır, kasabaya doktora getirir hastayı köylüler. Koca devletin koca doktoruna. Doktor hastaya fitil verir ve köye döndükleri gibi hastaya fitili anüsten vermelerini söyler köylülere. Köylüler tabi 'tamam doktor bey' diyip köye giderler. 

Köydeki herkese sorarlar, en bilgelere bile, ama kimse anüs ne demektir bilemez. Bu nedenle bir turlu ilacı da veremezler hastaya. Hastanın durumu da gitgide kötüleşmektedir. Bunun üzerine koylu, doktora, koca devletin koca doktoruna telefon etmeye karar verir ama kimse buna yanaşmaz. Ne cüret di mi doktoru arayacak bi köylü. 

Neyse durumun vahameti üzerine muhtar aramayı kabul eder. Bütün koylu toplanır santrale, muhtar arar, "biz ne yapacaamızı bilemedik dohtor bey" felan der işte. Karşıdan doktor bi şeyler söyler. Muhtar döner arkasına: "makattan verin dedi dohtor" der. Yine tüm köye sorarlar, komşu köylere birilerini yollayıp sordururlar felan, ama makat ne bilen yoktur yine. 

Hasta ise gitti gidecek, ateşler içinde kıvranıyo baya. İhtiyar meclisi toplanır. Son çare, doktorun bir kez daha aranmasına karar verilir. Yine kimse aramak istemez doktoru. Nihayetinde yine biri kandırılır, telefonun başına geçer, ama bi yandan söylenmektedir: "çok kızacak dohtor çok!" diye. Sonunda telefonu açar, durumu anlatır, doktor bi şeyler söyler yine. Telefondaki köylü, yüzü allak bullak, arkasını döner: "çok kızacak demiştim; götüne sokun dedi".

 

FARKLI ÇÖZÜM...

Bir akıl hastanesini ziyareti sırasında, adamın biri sorar: 'Bir insanin akıl hastanesine yatıp yatmayacağını nasıl belirliyorsunuz' 

Doktor: 'Bir küveti su ile dolduruyoruz. Sonra hastaya üç şey 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: '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."

 

MİMAR SİNAN... 
Edirne'deki Selimiye cami yapımında Mimar Sinan'ın caminin ortasında oturmuş nargile içerken gören işçiler homurdanarak: 
-Ulan biz burada çalışıyoruz adam orda oturmuş keyif yapıyo! derken Sinan olaya girer: 
-Ses caminin her yerine eşit olarak dağılıyo mu diye hesaplıyorum !! 

# Kategoriler : Eğlence
# Etiketler : Etiket Yok
# Yorumlar : 0 Yorum Yorum Yaz

Lazın Amerika'da oğlu olmuş, adını ne koymuş?
- Basic 

Karadenizdeki ayakkabıların içinde ne yazıyormuş?
- Önce parmaklar 

Karadenizdeki şişelerin altında ne yazar?
- Öbür taraftan açınız. 

Laza "güzel mi olmak istersin, çirkin mi" diye sormuşlar: 
- Güzellik geçicidir. 

Laz duş yaptıktan sonra ne yapar? 
- Islak elbiselerini çıkarır. 

Beş laz bir ineği nasıl sağar? 
- Biri memesinden tutar, diğer dördü ineği aşağı yukarı çeker. 

Laz isçilere neden 10 dk.'dan fazla mola vermezler? 
- Daha uzun mola verirlerse ne iş yaptıklarını unuturlar. 

Laz kola otomatiğine gitmiş, bir teklik atıp kola almış. Biraz sonra tekrar gelip bir kola daha almış, az sonra bir teklik daha atıp kola almış. Daha sonra cebindeki bütün metelikler bitince: 
- Arkadaşlar hemen cebinizdeki bütün bozuklukları bana verin. 
- İyi de, neden? 
- Bugün şansım çok yaver gideyu. 

Laza karayollarını boyama izni vermişler. Laz başlamış çalışmaya. İlk gün tam 200 metre boyamış, ikinci gün 100 metre, üçüncü gün 50 metre, ve dördüncü gün sadece 10 metre boyayınca patronu lazı çağırmış: 
- Oğlum hayırdır iyi çalışıyordun no oldu? 
- Ben yine iyi çalişayrum. 
- Dün 50 metre boyamışsın, bugün 10 metre.. 
- Eee.. haliyle ilk günler kovaya gidip gelmek kolaydı, sonra vakit almaya başladı.

Asker Temel'e tren istasyonunu kullanılamaz hale getirmesi söylenince ne yapmış ?
-Gişeden bütün biletleri alıp imha etmiş. 

Temel buzdolabında içi boş şişeler bulunduruyormuş niçin?
-Hiç bir şey içmek istemeyen misafirleri için. 

Temel yere bir daire çizip bu dairenin içinde horon tepmeye başlamış. Niçin? 
-Kendi çapında eğlenmek için. 

Temel sigarasını bir metre uzunluğundaki ağızlığa takıp içiyormuş. Niçin? 
-Doktoru sigaradan uzak durmasını söylediği için. 

Temel her gece yatmadan önce ayaklarına böcek ilacı sıkıyormuş. Niçin? 
-Ayaklarında karıncalanma olduğu için. 

Temel, yaşlı dedesine gönderdiği mektubu büyük harflerle ve iri iri yazmış. Niçin?
-Dedesinin kulakları ağır işittiği için. 

Temel hamile karısının çok su içmesine izin vermiyormuş. Niçin? 
-Bebek yüzme bilmiyordur diye... 

Temel, her yemekten sonra cebine bir kaşık koyuyormuş. Niçin? 
-Doktoru yemeklerden sonra bir kaşık almasını söylediği için. 

Tavandan sarkan kordonun ucunda titreyerek sallanan kararmış şey nedir?
-Acemi elektrikçi Temel. 

Temel arkadaşının alnına konan sineği tabancayla öldürdükten sonra ne demiş?
-Bi sizden bi bizden.. 

Temel bir İngiliz bebeği evlatlık edinmiş. Neden? 
-Büyüdüğü zaman kendisine İngilizce öğretsin diye.. 

Temel, Dolmakalemiyle mektup yazarken birden çok hızlı yazmaya başlamış. Neden?
-Dolma kalemin mürekkebi bitmek üzereymiş. 

Temel doktorunun muayenehanesine kocaman bir fıçı ile gitmiş. Niçin? 
-Doktoru altı ay sonra idrarınla birlikte gel demiş... 

Temel, yeni aldığı ayakkabısını bir hafta giymemiş. Neden? 
-Satıcı bir hafta kadar ayağınızı sıkabilir dediği için.

# Kategoriler : Eğlence
# Etiketler : Etiket Yok
# Yorumlar : 0 Yorum Yorum Yaz

1700'lü yıllarda yaşayan İngiliz Denizci James Cook, sosyete adalarını ve Yeni Zelanda'yı keşfedip, haritalarını çizdiği 1769 yılında, Avustralya'nın doğu kıyılarını da ortaya çıkardı... Kaptan Cook, bitki ordusunun zenginliğinden ötürü 'Botany Bay' (botanik koyu) adını verdiği koyda, Avustralyalı yerlileri ilk gören yabancı oldu. 

Yerlilerle el kol hareketleri ile güçlükle anlaşabilen James Cook, karınlarındaki ceplerde yavrularını taşıyan ve arka ayakları üzerinde zıplayarak hareket eden uzun kuyruklu hayvanları görünce, yine el kol hareketleri ve çeşitli işaretlerle bunların adlarının ne olduğunu sordu. Yerlilerin 'kanguru' demesinden sonra da bu hayvanları dünyaya 'kanguru' olarak tanıttı... 

Aradan 50 yıla yakin bir sure geçtikten sonra, 1800'lerin başında,'kanguru' sözcüğünün gerçek anlamı anlaşıldı... 'Kanguru', Avustralyalı yerlilerin dilinde; 'Ne demek istiyorsun yabancı?' anlamına geliyordu.

# Kategoriler : Eğlence
# Etiketler : Etiket Yok
# Yorumlar : 0 Yorum Yorum Yaz

Bir gün padişah Vehbi Efendi'yi yanına çağırır ve: "Bana öyle bir şiir yaz ki bir mısrasını okuyunca içimden seni öldürmek, bir sonrakini okuyunca ise ödüllendirmek gelsin" der. Aşağıdaki şiir bu olayın üzerine yazılmıştır...


Azm-i hamam edelim sürtüştürem ben sana, 
Keçe ile sabunu rahat etsin cism-u can 

Lal-i şarap içirem, ıslatıp da geçirem, 
Parmağına yüzüğü hatem-i zer-i dirahşan 

Diz çökerek önüne ılık ılık akıtam, 
Bir gümüş ibrik ile destine ab-i revan 

Sen giderken ben ardından sokayım, 
Ard eteğini beline olmasın çamur aman 

Kulaklarından tutam, dibine kadar sokam, 
Sahtiyeden çizmeyi olasın yola revan 

Öyle bir sokayım ki kalmasın dışarıda hiç, 
Düşmanın bağrına hançeri nagehan 

Eğer arzu edersen ben ağzına vereyim, 
Yeter ki sen kulundan lokum iste her zaman 

Sen her sabah gelesin ben VEHBİ'ye veresin, 
Esselamu aleyküm ve aleyküm selam

# Kategoriler : Eğlence
# Etiketler : Etiket Yok
# Yorumlar : 0 Yorum Yorum Yaz

(Salaklığın sınırı var mı diye merak ederiz ya; Bob Fenster'in "Salaklığın Tarihi" kitabından örnekler verince, olmadığını anlayacaksınız...) 

* Arizonalı bir adam kelepçelerle oynarken kendini kelepçeledi ve anahtarı bulamadı... Kendisini kurtarmak için çilingir çağırmak yerine polisi arayınca başı belaya girdi... Onu kelepçeden kurtaran polisler, ödenmemiş bir kefalet borcu bulunduğunu belirleyince onu yeniden kelepçelediler...

* Gillette şirketi 1902 yılında güvenli jilet satmaya başladığında yüzlerce erkek satın aldı... Sonra da bu jiletlerin sakallarını kesmediğini söyleyerek onları çöpe attılar... Gillette yetkilileri, mutsuz müşterilerin tıraş olmadan önce jiletin sarıldığı kağıdı çıkarmadıklarını fark ettiler...

* Chevrolet, yeni model arabası için "Nova" ismini buldu ama sonra arabayı Latin Amerika'da satamayacakları anlaşıldı... Çünkü "Nova", İspanyolca'da "gitmez" anlamına geliyordu...

* 1932 yılında Los Angeles olimpiyatlarında Fransız atlet Jules Noel'in disk atmada kırdığı olimpiyat rekoru sayılmadı... Çünkü atışı izlemesi gereken bütün hakemler, sırıkla yüksek atlama yarışmasını izlemek için arkalarını dönmüşlerdi...

* 1840'da ABD başkanlığına seçilen William Henry Harrison, çok soğuk bir günde Washington'da açık havada düzenlenen göreve başlama töreninde şapka ve palto giymeyi reddederek yaptığı uzun konuşma sonucu zatürree oldu... Yeni başkan sadece bir ay görev yaptıktan sonra öldü...

* Meksika'daki bir sağlıklı yaşam merkezinin sahibi, vasiyetine mezarlığın sigara içilmeyen bölümünde gömülmek istediğini ısrarla ekletmeye çalıştı.

* 1971'de toprak kaymalarını incelemek isteyen Japon bilim adamları, büyük bir yağmur fırtınası efekti yapmak için bir tepeyi yangın hortumlarıyla adamakıllı suladılar. Bu yüzden tepenin çökmesi sonucu meydana gelen heyelanda, dört bilim adamıyla, 11 izleyici hayatını kaybetti. 

* Fransız ordusu, askerlerin mayın tarlalarında yürüyebilmelerini sağlayan patlamaya dayanıklı botlar icat etti. Fakat botlar o kadar ağır ve içinde yürünmesi o kadar zordu ki, askerler mayınlarla havaya uçmadan önce pusuya yatan düşman askerleri tarafından vuruluyorlardı. 

* 1985'de New Orleans'lı cankurtaranlar o yıl şehrin havuzlarında kimsenin boğulmamasını kutlamak için bir parti verdiler. Partide konuklardan biri boğuldu. 

* 1975'de İngiliz bir çift televizyonda en sevdikleri programı izlerken erkek yarım saat süren bir gülme krizi sonucu kalp krizi geçirerek öldü... Eşi, cenazeden sonra programın yapımcılarına bir mektup yazarak, kocasını hayatının son dakikalarında bu kadar mutlu ettikleri için teşekkür etti. 

* 1983'de mağazada hırsızlık yaparken yakalanan San Diego'lu bir kadın polislere eğer onu bırakmazlarsa morarana kadar nefesini tutacağını söyledi. Polisler kadını bırakmadılar, o da gerçekten ölünceye kadar nefesini tuttu.

# Kategoriler : Eğlence
# Etiketler : Etiket Yok
# Yorumlar : 0 Yorum Yorum Yaz

Aşağıdaki olay, Tarım ve Köyişleri Bakanlığı'ndan bir bürokratın anlattığı yaşanmış bir hikayedir.! 

Bir dönem Tarım Bakanlığı, İl Müdürlükleri'ne bir yazı yazar ve "İlinizin bulunduğu bölgedeki karga, yaban domuzu, üveyik gibi tarımsal üretime zarar veren yabani hayvanların sayısını çıkartın bize yollayın" der. Der ve komedi bu noktada başlar. Sayım işleminin devamını Referans Gazetesinin başkent kulisinden aktarıyoruz:

İl müdürlerini alır bir düşünce... Adı üstünde zararlı ve yabani hayvan bunlar. Nasıl sayacaksın?

Sonunda kendi aralarında 'istişare' ederek bir formül bulurlar. Bölge büyüklüğüne göre her il müdürü bir rakam yazıp bakanlığa yollar. Kimi 30, kimi 20 yaban domuzu olduğunu bildirir. Aradan 1 yıl geçer, Bakanlık'tan bir yazı daha gelir: 

"Bölgenizdeki yaban domuzlarının son durumu nedir? Şayet sayıları 150'yi aşarsa 'sürek avı' başlatın."

Sürek avı başlaması için gerekli bürokratik işlemler ve nasıl ekipler oluşturulacağı, vurulan domuzların kuyruklarının kesilerek ispatlanması gerektiği gibi formaliteler sıralanır. İl müdürleri yeni sayıları, 5'er, 10'ar artırıp bildirirler. İş, yıllarca böyle devam eder gider.

Bürokratımızın tayini bir gün Tunceli Tarım İl Müdürlüğü'ne çıkar. Göreve başlamasının ardından yine bakanlığın aynı yazısı gelir. Hemen, bir sene önce gönderilen yazıyı çıkartır ki ne görsün. Domuz sayısı 149... Domuzu 1 tane arttırsa sürek avı başlamak zorunda kalacak. Hayvanların kuyrukları, ödenek falan dert...

Kendi kendine, ben bu sayıyı 50'ye düşüreyim, kimse fark etmez, der ve yazıyı gönderir.

Bir ay sonra Bakanlık'tan bir yazı gelir. (Geçen yıl bölgenizde yaban domuzu sayısı 149 idi. Siz 50 olduğunu yazmışsınız. Ne oldu 99 yaban domuzuna) diye sorulmaktadır. Bürokrat oturur ve düşünür, bir formül bulup Bakanlığa yazar:

(Evet geçen yıl sayı 149'du. Ancak köylüler resmi olmayan yollardan sürek avı başlattılar, hiçbirini de vuramadılar. Domuzlar sınır ilimiz olan Erzincan'a geçti) der. Bürokrat, "Hayvanları vurduk" dese, bakanlık kuyruklarını isteyecek. 

Bakanlık bunun üzerine Erzincan il müdürüne bir yazı yazar:

'Bölgenizde 100 yaban domuzu olduğunu yazıyorsunuz. Ancak Tunceli İl Müdürlüğü 99 adet domuzun bölgenize geçtiğini bildirdi. O hayvanları bulun. Sayı 150'yi aştığı için de hemen ekipleri toplayarak sürek avı yapın' der.

Erzincan İl Müdürü düşünür ve Bakanlığa şöyle bir yazı yazar:

Evet doğrudur. Tunceli'nin 99 domuzu sınırımızdan girdi. Ancak hızlarını alamayarak sınırımızı aşıp Erzurum il hudutlarına geçtiler' deyip işin içinden sıyrılır. Bakanlık bu defa Erzurum İl Müdürlüğü'nden hayvanların bulunup sürek avı başlatılmasını istemiş. Erzurum İl Müdürü de Erzincan il müdürünü arayıp olayı sorar, akıl danışır ve Bakanlığa şunu yazar:

'Doğru. 99 domuz bölgemize girdi, peşlerine düştük, ancak Ağrı İl Sınırı'na girdiler'

Bakanlık bu kez Ağrı il müdürlüğüne yazar. Ağrı il müdürü de Erzurum il müdürünü arar. Ve o da bakanlığa; 'Evet doğru bizim sınırdan girdi ama ülke sınırlarını aşıp Ermenistan'a geçti' diyerek olaya Tarım Bakanlığı nezdinde son verir. Olay böylece kapanır...

# Kategoriler : Eğlence
# Etiketler : Etiket Yok
# Yorumlar : 0 Yorum Yorum Yaz

Aslında İngiltere ile 1984 yılında oynayacağımız o maça kadar inanın 1 ay sürekli yan top çalıştık. Ancak o gün yediğimiz 8 golden 3'ü yan toptandı. Adamların nasıl gol atacağını biliyor ama çaresini bulamıyorduk. Hayatımda oynadığım en tuhaf maçtı. Düşünün sahada 22 kişi var ve 20 tanesi bana bakıyordu. Çünkü maç hep benim kalemin önünde oynandı. Top sanki duvara çarpıyordu bana geri geliyordu. Maçtaki tek şutumuzu Erdal Keser atmıştı. Belki bin maç yapsak 8 olmazdı. Ama oldu. 40'inci dakikada beni çıkarın diye bağırdım. Hoca başka alana değişiklik yaptı ben sahada kaldım 8 golü de ben yedim. Maç sonu TRT spikeri geldi 'Ne hissediyorsun' dedi. Adamın suratına baktım 'Ne hissedeyim ki' dedim.. 

Wembley'deki 5-0'lik maç BİR DE 5 gol yediğim bir İngiltere maçı daha var. Abdülkerim, Lineker'i, Raşit Çetiner de Hoddle'i tutuyor. Bir korner sırasında, Abdülkerim ceza sahasında resmen 'Lineker'i gördünüz mü beyler?' diye sordu. Raşit de, 'Az önce buralardaydı' yanıtını verdi. Maç mı, makara mı belli değildi. Tabii 8 gollük maçtan sonra bu 5'lik karşılaşma ciddiye alınmadı. Ama bizim bu maça bir gidişimiz var, inanılmaz. Abdülkerim Wembley'deki ilk idmana giderken bir kaç futbolcu ile birlikte yarış yaptılar. Wembley'e ayak basan ilk biz olalım dediler..Abdülkerim sanki Neil Armstrong gibiydi.. 'Aya ilk ben ayak basacağım' diyordu. 

Bu da ikinci 8-0'in öyküsü. KALECİ Fatih ile Milli Takım'da oda arkadaşıydık. İngilizler'den 3 maçta 21 gol yiyince (Bir 8 de Fatih yemişti) gazeteler 'Fatih ile Yaşar öyle iyi arkadaşlar ki, yedikleri (!)içtikleri ayrı gitmez' diye yazdı. İkinci 8-0'lik maçta kalede o vardı. Çünkü ilk 2 maçta 13 gol yediğim için oynamayacağımı biliyordum. Fatih sürekli beni sıkıştırıyor ve 'Abi ne olur, 8 olur mu?' diye soruyordu. Ben de, '1-2 olur fazla olmaz' diyordum. O kadar çok sordu ki, bir gün dellendim,'Yeter be. 7 olur, 9 olur ama 8 olmaz. O bana has!' deyip sıyrıldım. Maç 8 olunca, Fatih, 'Abi be! Senin yapacağın tahmin bu kadar olur' dedi, gülüştük. 

8-0'lık bir İngiltere maçında 5. ya da 6. golü yedikten sonra TRT spikerinin dedikleri: "Evet sayın izleyiciler, İngilizlerin bir atağını daha gol yiyerek savuşturduk" maçın 90.dakikası ve İngilizler bir gol daha atıyorlar ve spiker yine patlatıyor "Evet sayın izleyiciler, maç bitti daha gol yiyoruz...

# Kategoriler : Eğlence
# Etiketler : Etiket Yok
# Yorumlar : 0 Yorum Yorum Yaz

Yıl 1965: 

Bir hissi kabl-el vuku mu idi o yöne yürümem bilmiyorum. Karşıma aniden çıkınca ziyadesiyle şaşakaldım. Nasıl bir eda takınacağıma hüküm veremedim, adeta vecde geldim. Buna mukabil, bir müddet sonra kendime gelir gibi oldum. Yüzünde beni fevkalade rahatlatan bir tebessüm vardı. Üstümü başımı toparladım, kendimden emin bir sesle, 'Akşam-ı şerifleriniz hayırlı olsun efendim' dedim.

Yıl 1975: 

O yöne yürümemin içimden gelen hisle bir ilgili var mıydı bilmiyorum. Karşıma aniden çıkınca fevkalade şaşırdım. Nasıl davranacağıma karar veremedim, heyecandan adeta dizlerimin bağı çözüldü. Vel hasıl, bir sure sonra kendime gelir gibi oldum. Yüzünde beni son derece rahatlatan bir tebessüm vardı. Üstümü başımı toparladım, kendimden emin bir sesle, 'Hayırlı aksamlar hanımefendi' dedim. 

Yıl 1985:

O tarafa yürümemin içimdeki sesle bir ilgisi var mıydı bilmiyorum. Karşıma aniden çıkınca oldukça şaşırdım. Ne yapacağıma karar veremedim, heyecandan bacaklarım bile titredi. Neyse, bir süre sonra toparlandım. Yüzünde beni son derece rahatlatan bir gülümseme vardı. Üstümü toparlayıp net bir sesle, 'iyi aksamlar' dedim.

Yıl 1995: 

Beni o yöne altıncı hissim mi götürdü bilmiyorum. Bir anda karşıma çıkınca baya şaşırdım. Kal geldi yani, adeta kafadan koptum, iptal oldum. Neyse ayrıntıları geçelim, baya heyecan yaptım yani ama topladım karizmayı yerden sonra. Baktım o da bana iş atıyor, yürü be dedim, kim tutar seni? Baktım manita dünden razı, söyle bir arkama kaykıldım, kendimden emin bir sesle, ' Selam bebek' dedim.

Yıl 2006:

Abi oraya ne diye gittiysem I don't know yani. Onu bi gördüm, oha falan oldum. Bu bizi kasar ve aşar dedim. Enjoy durumları yani. Anyway, ilk başta şaftım kaydı ama concon muyum ben dedim kendi kendime. Baktım hatun da bize kesik, yürü kim tutar seni dedim ve kaptım yavruyu. 

Yıl 2026:

Sir, I don't know why? Şey, nasıl derler, hatun beatiful idi yani. Anyway, Than I take her, yani götürdüm.

# Kategoriler : Eğlence
# Etiketler : Etiket Yok
# Yorumlar : 0 Yorum Yorum Yaz

2000 yılında ALMANYA 'da yapılan bir ankette sorulan " Ülkenizde yaşayan yabancıları çok buluyor musunuz?" sorusuna verilen cevapların yüzdesi;
%20 Ja
%10 Nein
%70 S. ktir lan.
# Kategoriler : Eğlence
# Etiketler : Etiket Yok
# Yorumlar : 0 Yorum Yorum Yaz

1960'lı yıllarda ABD ile Sovyetler Birliği uzaya insanlı araç gönderen ilk ülke olma yarışı içindeydiler. Teknolojileri birbirine çok yakınmış. Bu nedenle iki ülkenin yürüttüğü proje hemen hemen aynı zamanda bitecekmiş. Bilim adamları zamana karşı bir yarış içindeymişler. Fakat yoğun çalışmalar sırasında Amerikalı bilim adamları, akıllarına daha önce hiç gelmeyen bir sorunla karsılaşmışlar. 

Yerçekimsiz ortamda astronotların not tutmak için kullandığı tükenmez kalemlerin mürekkebi, kalemin üstünde birikiyor ve yazı yazılamıyormuş. O yıllarda bilgisayarlar bu kadar küçük boyutlarda olmadığından, kağıda not almak kaçınılmazmış. Bu sorunu gidermek için, projeyi geciktirmek pahasına, NASA binlerce dolar harcayıp uzayda yazabilen bir kalem geliştirmiş.
Diğer yanda, neredeyse aynı zamanlarda Rus bilim adamları da aynı sorunu farketmiş. Ancak onlar sorunu çok daha çabuk ve ucuza çözmüşler. Yörüngeye çıkacak olan Yuri Gagarin'in eline bir kurşun kalem tutuşturmuşlar.

Böylece uzaya insan gönderen ilk ülke Sovyetler Birliği olmuş. NASA, bu onuru elde edememenin böylesi aptalca bir sebepten kaynaklandığını kamuoyuna açıklamaya korkmuş. Bu tarihi ayıp yıllardır gizli tutuluyormuş...

# Kategoriler : Eğlence
# Etiketler : Etiket Yok
# Yorumlar : 0 Yorum Yorum Yaz

M.Ö. 2000 Al, bu kökü ye.
M.S. 1000 O kök kötü. Gel, bu duayı oku.
M.S. 1850 O dua batıl inanç. Al, bu iksiri iç.
M.S. 1940 O iksir yılan yağı. Al, bu hapı yut.
M.S. 1985 O hap etkisiz. Gel, bu antibiyotiği al.
M.S. 2000 O antibiyotik artık işe yaramıyor. Al, bu kökü ye...
# Kategoriler : Eğlence
# Etiketler : Etiket Yok
# Yorumlar : 0 Yorum Yorum Yaz

İzmir'den trene binen yaşlı teyze kondüktöre Ege şivesiyle "Menimen'e gelence beni haber et yavriim, unutma" der. Gecenin ilerleyen saatlerinde Menemen'i geçer geçmez yaşlı teyzenin Menemen'de ineceği kondüktörün aklına gelir hemen makiniste gidip haber verir. Makinist de "Gecenin bu saatinde teyzeyi buralarda indiremeyeceğimize göre geri geri gideceğiz, soran olursa 'tren makas değiştiriyor' deriz" diye bir çözüm bulur.

Bir yarım saat geri geri giderek Menemen'e gelinir ve kondüktör teyzeye gidip haber verir: "Hadi teyze Menemen'e geldik". Teyzem "Sağol yavriim " deyip çantasından hapını çıkarır ve içer.

Üstün Dökmen'den...

# Kategoriler : Eğlence
# Etiketler : Etiket Yok
# Yorumlar : 0 Yorum Yorum Yaz

Seinfeld dizisinden Jery Seinfeld'in tek kişilik gösterisinden bazı seçmece şakalar:

İki çeşit iyilik var:
Büyük iyilik, küçük iyilik. 
İyiliğin büyüklüğünü birinin size "bana bir iyilik yapar mısın" diye sorduktan sonra ne kadar beklediği ile ölçebilirsiniz.
Küçük iyilik, küçük bekleme:
"Bir iyilik yapar mısın? Şu kalemi uzatsana."
Hiç bekleme yok.
Büyük iyiliklerde: (Burada biraz bekliyor) "Bana bir iyilik yapabilir misin?"



Kadının biri telesekreterime buğulu bir sesle bir mesaj bıraktı.
Kadın ne derse desin, eğer buğulu bir sesle söylediyse, şöyle...
"Kansersiniz."
"Gerçekten mi?"
Kulağa çok hoş geliyor.
Hostes eğilip kulağıma şöyle diyebilir:
"Kemerinizi bağlar mısınız?
Bir dağa çarpmak üzereyiz."
Ben de şöyle derdim, "Peki uçak gövdesinden kopan parçaların arasında bir şeyler yapmak ister misin?
Ya da kara kutunun üstünde bir kaç fıstık yesek?
Orada görüşürüz.



İyi bir anlaşma yapmak zor. Profesyonel anlaşma yapanlara bakarsak:
Maskeli Süvari, Süpermen, Yarasa Adam, Örümcek Adam, Plastik Adam.
Hepsinin farklı kişilikleri var. Yüzlerinde maskeler, gizli kimlikler.
İnsanların kim olduklarını bilmelerini istemiyorlar. 
Cezayı ağırlaştıran sebep.
"Süpermen, hayatımı kurtardığın için teşekkürler ama duvarımın içinden geçmek zorunda mıydın?
Burada kirada kalıyorum. Depozit alıyorlar. Şimdi ne yapacağım peki?"



Uçaktayım. Geç kaldık.
Pilot diyor ki, "Biraz zaman kazanacağız." 
İlginç, değil mi?
Aniden zaman kazanıyorlar.
Bu yüzden saatlerinizi sıfırlamanız gerekiyor.
Elbette, zaman kazanacağız derken çok açık ki, uçağın hızını arttırıyorlar.
Benim sorunum ise, daha hızlı gidebiliyorsan neden tüm uçuş boyunca gidebildiğin kadar hızlı gitmiyorsun?
Hadi ama. Burada, yukarıda polis yok.
Kökle. Bas biraz gaza.
Uçuyoruz.



Florida bu insanlar için yeterince sıcak ve bunaltıcı değil mi?
Onlar sıcağa bayılıyorlar.
İnsanoğlunun güneşe inmesine karar verilirse bence bu yaşlı, emekli adamlar bunun altından kalkabilecek tek insanlarmış gibi geliyor bana.
Orada oturacaklar kızılağaç banklarının üstünde, bezleri kafalarında ve şöyle diyecekler:
"Burada ter atmaya çalışıyorum."



Ne zaman birisi bir doktor tavsiye etse, o en iyisidir.
"Bu adam en iyisi."
Hepsi en iyi olamaz.
Bu kadar çok en iyi olamaz.
Birileri bu sınıfların en kötü derecesi ile mezun oluyor.
Bu doktorlar nerede?
Herhangi bir yerde birisi arkadaşına şöyle der mi?
"Benim doktorumu görmelisin.
O en kötüsü.
Evet. En kötüsü.
Bu konunun en kötüsü.
Ne rahatsızlığın varsa, onu gördükten sonra daha kötü olacak.
O aslında-- O bir kasap.
Adam bir kasap."
Bir de şu var, "Beni tanıdığını söylemeyi unutma."
Neden? Ne farkeder ki?
O bir doktor.
Ne yapa--?
"Demek Bob'u tanıyorsun.
O zaman, sana gerçek ilaçları vereyim.
Diğer herkese Tic Tacs(şekerleme) veriyorum."



Ben yemek seçenlerden değilim.
Hiç:
"Oh, bu az pişmiş. Oh, bu çok tuzlu." yapmam.
Sadece ye ve kapa çeneni.
Her yerde, ne varsa yerim.
Otel koridorlarında oda servisi tepsilerinde bırakılmış ekmekleri bile yedim.
Yedim. Şaka değil.
İşte benim hayatım.
Bilmiyorum, birisi bırakmış.
Neden birisi ekmeği zehirleyip sabahın ikisinde gelecek bir komedyen için onu koridorda bıraksın?
Neden yapsınlar?
Bazen bir restorana gidersiniz, hesabı küçük bir kitabın içine koyarlar.
Nedir bu, faturanın hikayesi mi?
"Bir zamanlar, çok aç insanlar vardı." 
Bu ne?
Küçük sarı püskül sarkar.
Restorandan mezun mu oluyorum?



Neden bağlanmak bir erkek için bu kadar büyük bir problem?
Bence bazı nedenlerden ötürü hayatın otobanında giderken beraber olduğu kadın bir çıkış yolu.
Ama o çıkmak istemiyor.
Gitmeye devam etmek istiyor.
Kadın ise, " Bak. Benzin, yemek, kalacak yer. Bu bizim çıkışımız.
Mutlu olmamız için gerekli her şey.
Dışarı çıkalım, burada, şimdi!"
der gibi.
Ama adam üstünde " Bir sonraki çıkış, 27 mil" yazılı tabelaya bakar ve düşünür, 
"Yetişebilirim."



Biliyor musunuz, bir çok sebepten dolayı yetişkinlikten hoşlanıyorum.
İlk sebebini söyleyeyim size :
Bir yetişkin olarak, kurabiye istersem, kurabiye alırım, tamam mı?
Üç kurabiyem ya da dört kurabiyem ya da onbir kurabiyem olabilir, istersem.
Çoğu zaman, isteyerek iştahımı kesebilirim.
Sadece kesmek için.
Ve ondan hemen sonra annemi arayıp ona yaptığımı söylerim.
" Alo, anne? Evet, az önce tüm iştahımı kestim.



Ne zaman şu suçlularla, terörislerle, psikopatlarla ilgili haberleri görsem düşünürüm.
Farkettiniz mi yüzlerini gazeteyle, ceketle, şapkayla falan kapatırlar.
Neden çekiniyorlar ki?
Bu adamların endişelenecek neleri olabilir?
Yani temiz isimleri karalanarak kovulacaklarından mı endişeleniyorlar?
Ne yani, büyük bir terfi falan alacaklar da onu mu kaybedecekler?
Patronları televizyonda görüp de:
"Bu bizim satış bölümünden Johnson değil mi?"
Saat kulesine çıkmış, tek tek herkesi avlıyor.
"Sanırım bu, yeni şubemizin başına getireceğimiz türden biri değil."
Bence tahsilatta olmalı.
Bu konuda yetenekli."




İnsanlar intikam fikrine bayılırlar.
Hiç "En iyi intikam iyi yaşamaktır." lafını duydunuz mu?
Ben de kullanırım. 
Ama birinden intikam almanın en iyi yolu, kendi hayatında mutlu ve başarılı ol anlamında değil.
Kulağa hoş geliyor.  
Ama Küçük Emrah'ta işe yaramaz.
Hani şu ailesinin dağıldığı, annesinin kötü yollara düştüğü.
Gidip de:
"Emrah, annene tecavüz etmiş olabilirler ama sende artık çok para var.
Yeni bir araba, harika bir ev, oturma odası...
Bu o heriflere gününü gösterecektir."




İnsanlar sürekli sizden birşeyler çalar. Onları durduramazsınız.
Ama herkesin küçük kişisel güvenlik sistemi vardır
Aptalların yakalanacağına inandığımız şeyler.
Plaja gider, denize girersiniz.
Cüzdanınızı ayakkabınızın içine koyarsınız.
Kim bilecek ki?
Ne çeşit bir şeytani zeka bu güvenlik sistemini aşabilir ki?
"Bağcıklarını bağladım.
Onu geçemezler."
"Cüzdanı ayakkabının parmak ucuna doğru ittim.
Oraya kimse bakmaz.
Topuğu kontrol eder ve giderler."




Bozulan bir deri ceketim var. Neden nem deriyi bozar?
Anlayamıyorum.
İnekler devamlı dışarda değiller mi?
Anlamıyorum. Yağmur yağdığında, inekler çiftçiye gidip:
" İçeri al bizi. Hepimiz deri giyiyoruz!
Kapıyı aç. Tüm kıyafetimiz bozulacak."
" Süet mi?"
" Ben süetim.
Tüm bu üstümdeki süet. Bunu temizletemem de.
Tek elbisem de bu."



Trafikte hep şerit uzmanları olur.
Bu tür insanlari bilir misiniz?
Sürekli şerit seçimlerini sorgularlar. Asla emin olamazlar:
"Bu hayatımın en iyi şeridi mi acaba?"
Hep biraz öndedirler.
"Oraya girebilir miyim?
Önünüze geçebilir miyim?"
Evet, buraya gel ahbap.
Biz burada uçuyoruz.
Burası gizli şerit, kimse bilmiyor.
Trafikteki psikolojik sınavların en zorlusu tamamen durma noktasıdır.
En ufak bir kıpırtı bile yok.
Pencereden bakarsınız ve cikleti açıkça görürsünüz.
Ama biliyoruz ki gelecekte trafik çok daha kötü olacak.
Ne olacak? Geri geri mi gitmeye başlayacak? Bu mümkün mü?
O gün diyeceğiz ki,
"Trafik artık iyice kötü oldu.
Çok kötü.
Çıkmaya ve diğer yönden gitmeye çalışacağım."




Kadınlar birlikte oldukları erkeğin işini sevmek zorundadırlar.
İşi beğenmezlerse, erkeği de beğenmezler.
Erkekler bunu bilir.
İşte bu yüzden işlerimize yapmacık isimler veririz.
"Şu anda, bölgesel yönetim süpervizörüyüm.
Geliştirmedeyim, araştırmadayım, danışmadayım."
Diğer taraftan, biz erkekler, bir kadını fiziksel olarak çekici bulmazsak işiyle ilgilenmeyiz, değil mi?
Erkekler pek umursamaz.
Şöyle yaparlar: "Mezbahada mı çalışıyorsun gerçekten? İlginç.
Büyük bir satırın var, kafalarını kesiyorsun. Harika.
Bak. Duşunu alınca hamburgerlerimizi alıp sinemaya gitmeye ne dersin?"




Süpermarkette kuyruktayım.
Önümde iki kadın var.
Birininki 8 dolar tuttu. Diğeri 3 dolar.
Elbette, ikisi de çekle ödemeyi tercih etti.
Doğrusu, önünüzde çek yazan bir kadınsa fazla beklemeyeceksiniz demektir.
Kadınların çeklerle çok hızlı olduğunu farkettim.
Çünkü çok fazla çek yazıyorlar.
Anahtarları mesela, hiç bulamazlar.
Nerede olduklarını bilmezler.
Ama çek defteri, bilirler.
Çek defterini hiç el yordamıyla aramazlar.
Çek defteri kılıfından çıkar.
"Kime yazıyorum?
İşte kimliğim."
Bir erkek için, bir çekte erkeksi olmayan birşey vardır.
Tam olarak ne olduğunu bilmiyorum. 
Sanırım, çek bir erkek için, annesinden bir not gibidir.
"Param yok, ama bu kişilerle temas kurarsan eminim sana para verirler.
Bu seferlik bana güvenirsen.
Param yok, ama şunlar var.
Şunların üzerine yazdım.
Bunun bir değeri var mı?"



Seinfeld. Orta boy bir araba için rezervasyonum vardı, onun da küçük boy için.
Tamam, bakalım neler var?
Üzgünüm. Elimizde şu an hiç orta boy araç yok.
Rezervasyon yaptırmıştım. Hala duruyor mu?
Evet, duruyor. Maalesef, elimizde hiç araba kalmadı.
Ama rezervasyon arabayı burada tutar. Bu yüzden rezervasyon sisteminiz var.
- Neden rezervasyon sistemimiz olduğunu biliyorum.
- Bence bilmiyorsunuz.
Bilseydiniz, şu an bir arabam olurdu. Rezervasyon almayı biliyorsunuz.
Sadece rezervasyonu tutmayı bilmiyorsunuz.
Ve bu rezervasyonun en önemli kısmı: Tutma.



Araba alarmlarını tasarlarken sanki arabanın sinirli, histerik bir insanmış gibi davranması istenmiş.
Yanına kim yaklaşırsa yaklaşsın, kim rahatsız ederse etsin, o:
Işıklar yanıp sönmeye, tamamen deli gibi davranmaya başlıyor.
Herkesin bu kadar çok ilgiyi üstüne çekmek istemedikleri akıllarına gelmemiş mi?
Daha nazik bir araba alarmınız olsa daha iyi olmaz mıydı?
Belki de, bilirsiniz, birisi arabanıza zorla girmeye çalışırken, o da:
(Öksürüyor...)
"Özür dilerim?"
Ben böyle bir araba alarmı isterdim.



İntihar eden insanları anlamıyorum İntihar girişiminde bulunan kişiler bir şekilde ölmezlerse, bunu bir daha denemiyorlar.
Neden?
Neden tekrar intiharı denemiyorlar?
Ne değişiyor? Hayatları daha iyi mi oluyor?
Hayır. Aslında daha kötü oluyor çünkü başarısız oldukları bir konu daha olduğunu farkediyorlar.
Bu insanların hayatta başarılı olmamasının ilk nedeni bu.
Çünkü çok kolay vazgeçiyorlar. 
Haplar işe yaramıyorsa bir de ipi dene.
Garajdaki araba çalışmıyorsa tamirci bul.
Ne demek istediğimi anlıyorsunuz değil mi?
İnsanın belirlediği amaca ulaşması kadar memnun edici birşey yoktur.



Orkestra şefinin önemini gerçekten anlamıyorum.
Yanlış anlamayın ama, o herif ne işe yarıyor?
Keman çalabilmek için, gerçekten birisinin yüzünüze bir çubuk sallaması mı gerekiyor?
Bu size gerçekten yardımcı oluyor mu?
Ona başlangıçta ihtiyacımız olduğunu kabullenebilirim, tamam mı?
Tık, tık, tık. "Başla." Tamam.
Buna neden ihtiyacınız olduğunu anlıyorum.
Ama başladıktan sonra, artık her şey ilerlerken  ona ne diye ihtiyacımız olsun ki?
Çellistin etrafa bakıp ta: "Kafam karıştı. Ne yapacağımı bilmiyorum."
Ve şef te şöyle yapar: "Bunu yap. İşte böyle..."
"Tamam, teşekkür ederim. Çok teşekkür ederim."



İşsizlik, zor şey.
İşsiz kaldıktan sonra, bir işe girseniz bile her hafta işsizlik parasını çekinizden kesiyorlar ve size o küçük kutu içerisinde gösteriyorlar.
Her maaş çekinizi aldığınızda, üstünde "işsiz" kelimesinin geçmesi size ne faydası olabilir ki?
Kafanızdan atamazsınız!
İşi daha yeni almışsınız!
Şimdiden sizi atmayı düşünüyorlar.
İşsiz kalmış bir arkadaşım var.
İşsizlik sigortasından para alıyor.
Bu adam, bu parayı almaya devam etmek için hayatında hiç bu kadar çalışmadı.
Her hafta oraya gidiyor, sıraya giriyor, görüşmeler yapıyor ve iş aradığı ile ilgili bir sürü yalan uyduruyor.
İşten kaçmak için harcadığı efor ve enerjiyi bilselerdi, eminim ona, zam yaparlardı. Kesinlikle.
Adam inanılmaz bir iş çıkarıyor çalışmamak için.



Bebeği olan bir arkadaşım var.
"Bebeği görmen lazım."
"Gelmeli ve bebeği görmelisin."
Hiç kimse sizden gelip te, büyükbabanızı görmenizi istemez, değil mi?
"Büyük babamı görmelisin. Onu görmen gerek."
"Çok şirin."
"70 kilo, 250 gram. Bu yaşta onlara bayılıyorum."
"1000 aylık."
"80'lerinin ortası, "büyük" insanlar için çok güzel bir zaman."
"80'lerin ortasında, onları görmen lazım."
"Bugün banyoya kendi başına gitti."
Bebekleri olan insanları görmenin zor yanı onların heves, istek düzeyine gelmek zorunda olmanız.
Ne demek istediğimi anlıyor musunuz?
Her zaman çok heyecanlılardır.
"Ne düşünüyorsun?"
Bir kez olsun şöyle bir çift ile tanışmak istiyorum:
"Aslında, onunla ilgili olarak o kadar da mutlu değiliz."
"Bence, gerçekten büyük bir hata yaptık. Bir akvaryum almalıydık."
"İster misin? Biz istemiyoruz bile. Sana verelim mi?"



Sonra uçağa binersiniz.|Pilot kesinlikle kabin içi ses sistemini kullanıyordur.
Bu adamlar pilot oldukları için çok|heyecanlıdır, kendilerine bile|tahammül edemezler.
"Az sonra bunu 20,000'e çıkaracağım."
"Sonra Pittsburg'da duracağım."
"Sonra Chicago'dan geçip"
"15,000'e indireceğim."
Tüm rotayı, tüm hareketlerini anlatır.
Arkada biz de: "Evet, hoş."
"Ne halt edersen et. Ben anlamam."
"Ama sonunda bilette yazan yere git."
Ona ben ne yapacaklarımı anlatıyor muyum?
Kokpitin kapısını küt diye açıp:|"Şimdi fıstık yiyorum."
"Evet, arkada işte bunu yapıyoruz."
"Sanırım ağızının payını aldın."
"Hepsini yemeyeceğim,|birazını bırakacağım."
"Hepsini bitirmeyi düşünmüyorum,|çünkü büyük bir paket."



Çocuklar "Wait!" demezler.|Şöyle derler:
"Wait up! Hey, wait up!"
Çünkü küçükken hayat yukarıdadır,| gelecek yukarıdadır.|(your life is up, future is up)
İstediğiniz herşey yukarıdadır.|(everything you want is up.)
Bekle, dur, kapa çeneni|("Wait up, hold up, shut up.")
"Anne, bitti! Yatmak istemiyorum"|("Mamma, clean up", "Let me stay up.")
Yetişkinler içinse|herşey tam tersidir.
Herşey aşağıdadır. "Sakin ol, |Ağır ol, Buraya gel."|("Just calm down", "Slow down",
Otur, koy onu yerine|("Sit down", "Put that down")



Bizim için geliştirdikleri şu|çekirdeksiz karpuz beni çok etkiliyor.
Başardılar.|Artık çekirdeksiz karpuzumuz var.
Oldukça şaşırtıcı.
Merak ediyorum, çekirdeksiz|karpuz için ne ekiyorlar peki?
Karpuzlar tohumlanıyor, değil mi?|Birşeyler ekmeleri gerekiyor.
Nasıl oluyor peki?
Ve ne çeşit bilim adamları|bu tip işlerle uğraşıyor?
Bu şeylerin geliştirilmesinin 15 yıl aldığını okudum.
Laboratuvarlarda, gen kaynaklayarak|ya da, ne bileyim, ne yapıyorlarsa işte...
Yani- diğer bilim adamları AIDS,|kanser, kalp krizi üzerine çalışırken
bu herifler:|"Hayır. Ben kendimi kavun-karpuza adıyorum."
"Bence bu çok daha önemli."
Elbette binlerce insan gereksiz yere|ölüyor ama bu... onları durduracak."
"Hiç ıslak bir çekirdeği yerden almayı|denediniz mi? Neredeyse imkansızdır."
"Bence parayı kesinlikle bu|çalışmalara adamalıyız."



Bir keresinde sağdıç (best man) olmuştum.|Çok hoştu.
Çok güzel bir isim bence... |'Sağdıç' (Best man)
Ama bir de şu var.
Düşündüm ki bir damat ve|bir 'oldukça hoş' biri var
Fazlasıyla yeterli.
Eğer ben 'best man'(en iyi) isem, neden onunla evleniyor?
Smokin giymek zorunda kalmıştım ki bence|kadınlar tarafından icad edilmiş birşeydir.
"Pekala, madem erkeklerin hepsi aynı,|o halde hepsini aynı giydirelim."
Smokin aynı zamanda gelin için|düğün güvenliği aracı anlamına da gelir.
... eğer damat fikir değiştirirse,|herkes bir adım atıp yerine geçebilir.
ve tören devam eder.
Bu yüzden:" David Williams'ı sadakatle bağlı|kalacağınız eşiniz olarak kabul ediyor musunuz?" yerine...
"BU ADAMI kabul ediyor musunuz?" derler.



Olimpiyatlar en gözde spor olayımdır.
gerçi gümüş madalyayı bir türlü|anlayamam ama...
Eğer bir atlet olsaydım, sonuncu olmayı|gümüş madalyaya tercih ederdim.
Düşünsenize...|Altın madalyayı kazanırsanız iyi hissedersiniz.
Bronz kazansanız:|"En azından birşey kazandım." dersiniz.
Ama eğer gümüş kazandıysanız:
"Tebrikler! Neredeyse kazanıyordun."
"Geri kalan tüm 'kaybedenlerin' içinde,|en iyisi sensin."
"Sen bir numaralı... kaybedensin."
"Senin önünde... kaybeden biri yok."
Çok farkla da kaybetmezler.|Şu kısa yarışlarda...
Saniyenin üçyüzde biri|saniyenin ikiyüzde biri...
Hayatlarının geri kalan kısmında
bununla nasıl yaşıyorlar?
Çünkü olayı anlatmak zorunda kalacaklar.
Herkes hikayeyi duymak isteyecektir.
"Vay! Tebrikler! Gümüş madalya!"
"Sendeledin mi? Silah sesini mi duymadın?|Hadi, ne olduğunu anlat."
Saniyenin yüzde biriyle kaybettim.
Herif şunu düşünüyordur:
"Sivilcem olsaydı kazanırdım!"



Söyle birşey görmüştüm, aslında bir araştırma:
Kalabalık önünde konuşma|ortalama bir insanın|birinci derece korkusuymuş.
Bana şaşırtıcı geldi.
İki numarada ölüm vardı.
Ölüm iki numarada mı?
Bu demek oluyor ki, eğer sıradan biriyseniz,|bir cenaze töreninde
konuşmayı yapmaktansa tabutta|olmayı tercih edeceksinizdir.



Serbest düşüş kesinlikle|yaptığım en korkutucu şeydi.
Size serbest düşüş hakkında birşey sorayım:
Serbest düşüşte kaskın anlamı nedir?
Bir işe yarar mı?
Uçaktan atlıyorsunuz ve|paraşütünüz açılmıyor,
bu durumda kask korunmak için|sizi giymiş durumda oluyor.
Sonra da kask,|diğer kasklarla konuşuyor:
"İyi ki oradaydı yoksa doğrudan|yere çakılacaktım."
"Sakın altında bir insan bağlı olmadan|uçaktan atlama."
"En temel güvenlik işte bu."
İnsan ırkının zeki olmadığına dair|birçok kanıt bulabiliriz.
Kask benim kendi favorimdir.
Gerçek şu ki,|kaskı icat etmek zorunda kaldık...
Neden kaskı icat ettik?
Çünkü kafamızı parçalayan|birçok hareket yapıyoruz.
Duruma şöyle bir bakmışız...
Bu hareketlerden sakınmak yerine
ufak plastik bir şapka icat etmişiz.
Böylece kafa parçalayan yaşam tarzımıza|devam edebildik.
Kasktan daha ahmakça olan şey,|kask yasası,
Neredeyse çalışmayan bir beyni korumanın|anlamı nedir ki?
içinde olduğu kafanın kırılmasını|engellemeye çalışmıyor bile.
# Kategoriler : Eğlence
# Etiketler : Etiket Yok
# Yorumlar : 0 Yorum Yorum Yaz

- Bir zamanlar TV'de sunuculuk yapanların kullanmaları (ya da kullanmamaları) gereken kalıplar varmış. Herhangi bir durumda söylenecek ya da yapılacak klişe sözler ve mimikler genellikle belliymiş; bir cümleden ya da durumdan sonra gelecek olan kelime bilinirmiş. (Beyaz perde, meşin yuvarlak, yeşil sahalar, şirin kentimiz, vs....) Bu kalıpların dışına çıkmak kimi zamanlar işsiz kalmak anlamına bile gelebiliyormuş. (Tıpkı günümüzde de bazı insanların yaşamın her alanında kendilerini kendi koymadıkları kalıplarla sınırlandırıp, kendi kalıplarını geliştirenlere saldırmaları gibi...) Bant yayınlarda bu durum pek bir sorun yaratmazmış; nihayetinde "kalıba uymayan" söz ya da davranış bir makas darbesiyle elenebilirmiş... Ama canlı yayınlarda böyle bir şans olmadığı için bu tür yayınları sunanlar yayın öncesinde ve süresince stresten ölüp ölüp dirilirlermiş... Kimileri ise bu kalıpları zaman zaman bilinçli olarak delerlermiş. (Cesaretin tanımı kalıplara karşı çıkmak olsa gerek..Yoksa hesaplanmış ve kontrollü riskleri üstlenmek değil...)

- Bir keresinde spor sunucusu Aydın KÖKER, Eskişehir Atatürk Stadının yemyeşil çimlendirildiği bir dönemde, sahanın öbek öbek karla kaplı görüntüsünü canlı yayında değişik bir şekilde betimleme "gafletine" düşmüş:-"Sevgili seyirciler. Türkiye Kupası maçı için yine karşınızdayım. Sahaya bakıyorum, yoğurtlu ıspanak gibi..."Canlı yayın merkezine bomba atılmış gibi olmuş doğal olarak. KÖKER'in bir başka "hatası" : Bir zamanlar toplum polisleri beyaz kasklar giyerlermiş. (Hayal meyal hatırlıyorum) Bu polislere kafalarındaki beyaz kasklardan dolayı ve iyi niyetle bir lakap takılmış; bunlara fruko denirmiş. (Bunu hatırlamıyorum) İşte bu polislerin görev yaptığı bir maçta olaylar çıkmış. Aydın KÖKER olayı canlı olarak radyodan aktarıyor:

"Tribünlerde rakip taraftarlar arasında arbede yaşanıyor, sayın seyirciler. Şimdi frukolar olaylara müdahale ediyorlar..."

Yine Aydın KÖKER; bu kez dil sürçmesi: Rahmetli, GS - Atletico Madrid maçını anlatıyor. 0-0 devam eden maçın son dakikalarında rakip takımda Salcedo oyuna giriyor ve ayağına gelen ilk topu bizimkilerin kalesine takıyor... Tabi büyük üzüntü var herkeste... Hakem son düdüğünü calip maçı bitiriyor. Aydın KÖKER son düdük olayını şöyle betimliyor:
"Sayın seyirciler. Bu iş buraya kadar. Hakem DÜDÜĞÜNE baktı ve SAATİNİ çaldı. Galatasarayımız kupaya veda ediyor böylece..."Bunun üzerine KÖKER'in yanında bulunan ve o zamanlar çömez olan Ümit AKTAN üstadını uyarma gereksinimini duyuyor. Omuzuna hafifçe dokunup bir yandan eliyle saati gösteriyor; diğer taraftan da diğer eliyle düdük işareti yapıyor, bu kavramları karıştırdığını anlatmak istiyor. KÖKER bunun üzerine gülüyor, başparmağıyla "tamam anladım" şeklinde bir işaret yapıyor ve tekrar mikrofona eğiliyor:
"Sevgili dinleyiciler. 90 dakikadır birlikteyiz. Soluk soluğa bir mücadele izledik. Biz de tükendik doğal olarak. O nedenle dilimiz bize ihanet içinde. Düzeltiyor ve tekrarlıyorum. Romen hakem DÜDÜĞÜNE baktı ve SAATİNİ çaldı. Hoşça kalın..."

- Buna benzer bir dil sürçmesini İlker YASİN yaşamış. Hakemliğini Sadık DEDA'nın yaptığı bir maç sona erer ve YASİN kapanış cümlesini kurar:

"Sevgili seyirciler. Galatasaray - Eskişehirspor maçı Sadık DÜDÜĞÜN dedasıyla sona erdi..."

- Bir keresinde de Necati KARAKAYA radyodan Boluspor - Samsunspor maçını anlatıyormuş. Ancak forma numaraları 7 olan ve forma renkleri de birbirlerinden apayrı olan rakip futbolcuları habire birbirine karıştırıyor. Samsunspor'un 7 numaralı oyuncusu İsmet ile Boluspor'un 7 numarası Oliveria'yı birbirine karıştırıp; "Samsunsporlu Oliveria"nın röveşatasına ya da "Bolusporlu İsmet'in ara pasına övgüler düzüyor. Ankara'daki canlı yayın merkezinde ise KARAKAYA'nin yanlışının farkına varıp da düzeltmesini bekliyorlar. Ancak sunucudan düzeltme gelmeyince, üstelik aynı şekilde karıştırma devam edince, kısacık bir sure için mikrofonunun sesini kesip, kendisini sertçe uyarıyorlar. KARAKAYA'da jeton düşüyor; ancak hemen kafasından bir mazeret uydurup dinleyicilere sesleniyor:

"Sayın dinleyiciler. Samsunsporlu 7 numara ile Bolusporlu 7 numara İKİZ KARDEŞ gibi birbirlerine benziyorlar. Biz de zaman zaman karıştırıyoruz, özür dileriz...."Bu anons üzerine canlı yayın merkezindekiler gülmekten katılıyorlar. KARAKAYA'nın can havliyle ve aceleden - düşünmeden ortaya attığı mazeret herkesi yerlere yıkıyor. Neden mi?... Samsunsporlu 7 numara İsmet; ince-uzun bir vücuda, Çerkez peyniri gibi bembeyaz bir tene ve sapsarı saçlara sahip. Hatta herifin bıyıkları bile sarı...Bolusporlu 7 numaralı Oliveria ise tipik bir Brezilyalı. Orta uzunlukta bir boya ve kapkara saçlara sahip. Ve daha da vahimi; herif zenci....

- Bazı kelimeler vardır ki; diliniz asla dönmez. Özellikle yabancı kökenli kelimelerde ve isimlerde bu durum benim başıma çok fazla gelir. Eğer o an çevrenizdeki insanlar arasında ham tipler varsa bunu acımasızca kullanırlar ve sizi incitirler. Bu nedenle çok mecbur kalmadıkça bu tür kelimeleri kullanmamaya çalışırım. Ama bazen kaçış olmaz. Mesela bir toplantı sırasında, üzerinde tartışılan yazılı metni paragraf paragraf okumakla görevlendirilmişseniz, vay halinize... Hele metni kaleme almış olan "genç ve hain arkadaş" Türkçe karşılığı olan pekçok kavramın gavurcasını kullanmışsa... Firavun ciddiyeti içerisinde sizi dinleyenlerin karşısında dil cambazlığı yapmaktan yorgun düşersiniz... Neyse ki canlı yayın sunucusu falan değilim... 

Abidin AYDOĞDU bir akŞam Alman liginden önemli bir karsılaşmayı Ankara'dan anlatacakmış. Hamburg - Bayern Munich maçıi. Hamburg'un 6 numaralı Hieronymustch isminde bir futbolcusu varmış. Ancak zavallı AYDOĞDU'nun dili bu herifin ismine bir türlü dönmüyor. Almanca bilen bütün tipler stüdyoya gelip kendisine yardımcı olmaya çalışıyorlar; ancak nafile... Hece-hece söyletmeye çalışıyorlar: Iye - Iyero - Iyeronim.. Buraya kadar tamam; ancak sonra olay bozuluyor; "Horolunumuz" gibi bir şeyler çıkıyor ağzından; bir türlü Iyeronim'dan öteye geçiremiyorlar AYDOĞDU'yu... Maç da başlamak üzere; artık boşveriyorlar. Sadece topun bu herifin ayağına çok az gelmesini ümit ediyorlar. Ancak talihsiz bedeviyi çölde kutup ayısı öpermiş ya: Tüm sezon boyunca son derece vasat bir oyun sergilemiş olan sözkonusu oyuncu bu maçta adeta yıldızlaşıyor; bir gol atıyor, bir gol attırıyor ve sahada da basmadık yer bırakmıyor, hakemlerle tartışıyor, gollerden sonra ilginç sevinç gösterileri falan yapıyor. Ama Abidin Bey Hamburg'u o akşam 10 kişi oynatıyor. Top "Horolonumuz"e geldiğinde, ki çok fazla geliyor, şöyle cümleler kuruyor: "Aynı yerden, aynı kanattan, muhteşem bir atak daha başlıyor sayın seyirciler..." ya da " Bu adam muhteşem, harika top çeviriyor..."

- Canlı yayında bu kez Bülent KARPAT var. Maçın başlangıç saatinden önce yayın başlamış ve KARPAT da maç saatine kadar geçen süreyi doldurmak için konuştukça konuşuyor. Bir ara kendince ilginç bir konu yakalıyor; kendisini konuya iyice kaptırıyor; harala-gürele konuşurken maçın başlangıç anını kaçırıyor. Birden gözü hakeme gidiyor; adam saatini kontrol edip düdüğünü çalınca KARPAT panik oluyor. Fakat kötü talih; o anda olayı ifade edecek kavramı birden zihninde canlandıramıyor ve ağzından şöyle bir cümle çıkıyor:

"Hakem düüüüt ve maç başladı, sayın seyirciler..."

- Bu kez TV'den bir canlı yayın yapılıyor. Ankara 19 Mayıs Stadyumunda Ankaragücü - Beşiktaş maçı yayımlanıyor. Sunucu; Okan UYSALER. Maç son derece vasat bir tempoda devam ederken birden Ankaragücü kalesinde ilginç bir enstantane gelişiyor. UYSALER durumun farkına varıyor ve hemen elindeki telsizle maçı izleyen kameramana talimat veriyor:

"Kale. Kale. Çabuk kaleyi yakından göster..."
Ve hemen arkasından ekranlarda masmavi gökyüzü altında pırıl pırıl parlayan Ankara Kalesi beliriyor. Kameraman maçtan sonra kamerasını arkadaşlarına teslim edip hemen ortadan yok oluyor. Çünkü Okan UYSALER elinde bir sopayla adamı arıyor...

- 1976 yılında Şampiyonlar Kupası'nda Trabzonspor ilk turda İzlanda ekibini eliyor. Tabi bu olay o günkü şartlarda büyük bir coşku yaratıyor. Ancak coşkunun daha büyüğü ikinci tur kuraları çekilince yaşanıyor. Trabzonspor'un ikinci turdaki rakibi Liverpool oluyor. Keegan, Souness, Heighway, Mc Dermott, Clemence, Hueghs ve saz arkadaşları... İngiliz ekibi, beraberinde gazeteciler ve taraftarları ile birlikte Trabzon'a gelip Özgür Otel'e yerleşiyorlar. Karadenizli kardeşlerimiz bütün gece boyunca şehir merkezindeki otelin önünde tulum ve kemence çalarak gavurları uyutmuyorlar... Maçı BBC radyosu da canlı olarak yayınlayacağından İngiliz sunucu için sahada uygun bir yerde "yayın kabini" bulunması gerekiyor. Avni Aker'deki tek kabinde TRT ekibi görev yapacağından, gavurlara mahcup olmamak için hemen kentteki bir marangoza bir kabin siparişi veriliyor. ( Marangozun lakabı "Kusursuz Cevat" Adamın küsuratla hiç alakası olmadığından bu lakap verilmiş kendisine. Örneğin 1,95 X 3,05 ölçülerinde bir dolap sipariş ediyorsunuz. Adam küsuratları kafasına Gore eleyip 2 X 3 ölçüsünde bir dolap yapıyormuş.) Neyse, maçın başlamasına 12 saat kalmış. İngiliz spiker sahada kendisine yer beğeniyor; kulübe hazır olduğunda konulmak üzere. Fakat kötü haber tez geliyor. Kusursuz Cevat kulübenin kimin tarafından kullanılacağını duyunca; "Ben düşmana kulübe yapmam" diyerekten vazgeçmiş Yeni bir sipariş için zaman da kalmamış; tam bir skandal. TRT'nin maçtan sorumlu görevlisi olan Ümit AKTAN'ın kıçı tutuşuyor; TRT Bölge Müdürü'nün yanına koşuyor. Karadenizli bölge müdürü AKTAN'ı sakinleştiriyor:

"Siz merak etmeyin Ümit Bey. BBC muhabiri için stada bir kulübe konacak. Portatif bir nakil yoluyla halledecek arkadaşlar. Ancak siz stada biraz erken gidin de bir kontrol ediverin, eksik falan var mı diye..." 
Bu teminat üzerine rahatlayan Ümit AKTAN yemeğini gönül rahatlığıyla yiyor ve maç saatinden 3 saat önce stada geliyor. Ve donup kalıyor. Neden mi? İngiliz sunucunun maçı anlatmak için bizzat seçtiği yerde cilalanıp temizlenmiş bir "Telefon Kulübesi" pırıl pırıl parlayaraktan durmaktaymış. Katlanır kapısı olan ve içindeki ankesör sökülmüş bir telefon kulübesi....(Kitapta devamı yazmıyor...)

- 1981 yılında TRT'de renkli yayın projesi yaşama geçiriliyor. İlk renkli yayın programı yapılacak; ancak ne tür bir yayın olacağı konusunda yetkililer bir türlü anlaşamıyorlar. Kimisi sanat müziği olsun diyor; kimisi yabancı klip; kimisi ise Türkçe pop. Sonunda Türk Halk Müziği Konseri üzerinde anlaşılıyor. Beklenenin aksine hiç kimse böyle bir görev için çok fazla istekli görünmüyor. Hem canlı yayın hem de çok özel bir program olacağından, en küçük bir aksilikte katılımcının bütün yıldızı sönecektir çünkü. Sonuçta bu tarihi görev için çilekeş radyo sanatçılarından birisi seçiliyor. (İsmi lazım değil) Kurban Bayramı arifesinde herkesin koyunları okşayıp yem verdiği gibi, program öncesinde herkes adamcağıza çok iyi davranıyor; için için ise adama üzülüyorlar. Danny de VITO'nun alnında bile saç çıkmış ikizi olan sözkonusu şahısa herkes moral ve cesaret aşılamaya çalışıyor. Çekim yapılacak günün öncesinde Genel Müdürlükte yetkililerin karşısına çıkarılıyor ve kendisine şöyle söyleniyor:

"Yarın gece çok önemli bir olaya imza atacaksınız. Renkli yayın olacağı için bizim korolardaki gibi klasik kıyafete gerek yok. Biraz daha renkli ve çarpıcı bir şey giyebilirsiniz..."Adama "penguen gibi giyinme" demek istiyorlar yani... Adamcağız mesajı iyi alıyor ve ertesi gün stüdyoya geldiğinde ortalık yıkılıyor. Bir politbüro üyesi kadar ciddi bir ifadeye sahip şahsın üzerinde mor ceket, pembe gömlek, kırmızı kravat ve yeşil pantolon bulunuyor çünkü. Ancak artık yapacak bi şey yoktur. Herbiri gökkuşağının farklı renklerine boyanmış büyüklü - küçüklü silindir küpler arasında ilk renkli canlı yayına çıkıyor...

- TRT Haber Dairesinde görev yapan Tevfik FİKRET isminde bir görevli varmış. Bu adamcağız bir akşam nöbetçiyken dönemin Ankara Valisi Namık Kemal ŞENTÜRK Haber Dairesini aramış. O zamanlar Haber Dairesi çok önemli ve özellikli bir Daire olduğu için Vali burayı sekreter falan da kullanmadan doğrudan SIK SIK ararmış. O yüzden kendisini ayrıntılı olarak tanıtmaya gerek duymadan telefona çıkan FİKRET'e konuşmuş:

"Ben Namık KEMAL... Kiminle görüşüyorum?..."
"Ben de Tevfik FİKRET efendim. Buyurun, emredin..."
Bunun üzerine telefon çat diye kapanmış. Bir süre sonra da Haber Dairesine gelen bi kaç polis Dairede tek başına bulunan Tevfik FİKRET'i alıp götürür. İsminin gerçekten Tevfik FİKRET olduğu ve dolayısıyla Valiyle dalga geçmediği anlaşılıncaya kadar da karakolda bekletilir....

# Kategoriler : Eğlence
# Etiketler : Etiket Yok
# Yorumlar : 0 Yorum Yorum Yaz

Selamlar...
Bu örnekte kullanacağımız araçlar:
1 adet PostgreSql veritabanı.
1 adet java sınıfı
2 adet jsp sayfası
Bir tutam jar dosyası
Amacımız kişilerin resimlerini veritabanında tutmak ve istendiğinde ekrana basmak.
PostgreSql'de bir tablo oluşturalım. Ben 'KISI_RESIM' dedim adına, siz başka bir isim de verebilirsiniz. Ama kişilere ait resimlerin tutulacağı bir tablo olduğunu göz önünde bulundurursak, GLOBAL_YATIRIM_GOSTERGELERI falan gibi bir isim de vermemek lazım.:)
Tablomuzda iki adet alan olsun. Birincisi KISI_ID, ikincisi de RESIM. Birinci alan(KISI_ID) varchar(50), ikinci alan(RESIM) da BYTEA olsun.
Postgresql kurulumu, tablo oluşturma ile ilgili bilgi için daha evvelki görüntülü anlatımlara bakabilirsiniz.
Buraya kadar sorunsuz geldiğinizi farzedersek devam edebiliriz.
Java sınıfımızın içinde resimYukle metodu ve onun ihtiyacı olan yan metotlar olacak.
ResimIslemleri.java
private boolean resmiIsle(String pResimYolu, String strKisiId)
{         
Connection baglanti = null ; 
String sqlINSERT = " INSERT INTO KISI_RESIM (KISI_ID, RESIM) values (?, ?) " ; 
String sqlDELETE = " DELETE FROM KISI_RESIM WHERE KISI_ID = "   strKisiId ; 
FileInputStream fis = null ; 
PreparedStatement ps = null ; 
Statement stmt = null ; 
int intIslenenKayitSayisi = 0 ; 
boolean iseHataVar = true ; 
try 
{       
    if (!strKisiId.equals("")) 
    { 
        Properties prop = new Properties(); 
        prop.put("user","kullanici"); 
        prop.put("password","sifre");         
        Class.forName("org.postgresql.Driver"); 
        baglanti = DriverManager.getConnection("jdbc:postgresql://localhost:5432/TEST_DB", prop); 
        baglanti.setAutoCommit(false) ; 
        File file = new File(pResimYolu) ; 
        fis = new FileInputStream(file) ; 
        stmt = baglanti.createStatement() ; 
        intIslenenKayitSayisi = stmt.executeUpdate(sqlDELETE) ; 
        if (intIslenenKayitSayisi&amp;gt;0) 
            System.out.println("strKisiId:"   strKisiId); 
        ps = baglanti.prepareStatement(sqlINSERT) ; 
        ps.setLong(1, Long.parseLong(strKisiId)) ; 
        ps.setBinaryStream(2, fis, (int)file.length()) ; 
        ps.executeUpdate() ; 
        iseHataVar = false ; 
    } 
catch(Exception e) 
    System.out.println("GenelIslemler.resmiIsle()"   e.getMessage()); 
    iseHataVar = true ; 
finally 
    try 
    { 
        if(fis != null) 
        { 
            fis.close() ; 
        }
        if (iseHataVar)
        {
            baglanti.rollback() ;
        }
        else
        {
            baglanti.commit() ;
        }
        if (ps != null)
        {
            ps.close() ;
            ps = null ;
        }
        if (baglanti != null)
        {
            baglanti.close() ;
            baglanti = null ;
        }           
    }
    catch(Exception e)
    {
        System.out.println("resmiIsle"   e.getMessage()) ;
    }
}
return !iseHataVar ;
}//private boolean resmiIsle(String pResimYolu, String strKisiId)
 
JSP sayfalarımızdan birisi geriye gif döndüren bir jsp sayfası(ResmiBas.jsp). Ajax örneğimizdeki sayfa da geriye XML döndürüyordu hatırlarsak. Bu sayfa da GIF döndürüyor. Diğer JSP sayfamız da kişiye ait bilgilerin ve resminin basıldığı sayfa(ResimEkleGoster.jsp).
ResmiBas.jsp    
java.sql.Connection baglanti = null ;
ServletOutputStream o = null ;
ResultSet rs = null ;
byte[] imgBytes = null ;
PreparedStatement ps = null ;    
response.setContentType("image/gif") ;
String strKisiId = "" ;
if (request.getParameter("pKisiId") != null)
{
strKisiId = request.getParameter("pKisiId") ;
}   
try
{   
if (!strKisiId.equals(""))            
{
   Properties prop = new Properties();
   prop.put("user","kullanici");
   prop.put("password","sifre");        
   Class.forName("org.postgresql.Driver");
   baglanti = DriverManager.getConnection("jdbc:postgresql://localhost:5432/TEST_DB", prop);
   ps = baglanti.prepareStatement("SELECT RESIM FROM KISI_RESIM WHERE KISI_ID = "   strKisiId) ;
   rs = ps.executeQuery() ;
   if (rs != null)
   {
       while(rs.next())
       {
           imgBytes = rs.getBytes(1);
           o = response.getOutputStream();
       }
       rs.close() ;
   }        
   ps.close();
   baglanti.close() ;
   if (imgBytes != null)
   {
          o.write(imgBytes);
   }
   out.clear();
   out = pageContext.pushBody();
}
}
catch(Exception ex)
{
System.out.println(ex.toString());
}
 
ResmiYukleGoster.jsp
if (!strKisiId.equals(""))            
{
   Properties prop = new Properties();
   prop.put("user","kullanici");
   prop.put("password","sifre");        
   Class.forName("org.postgresql.Driver");
   baglanti = DriverManager.getConnection("jdbc:postgresql://localhost:5432/kullanici", prop);
   ps = baglanti.prepareStatement("SELECT RESIM FROM KISI_RESIM WHERE KISI_ID = "   strKisiId) ;
   rs = ps.executeQuery() ;
   if (rs != null)
   {
       while(rs.next())
       {
           imgBytes = rs.getBytes(1);
           o = response.getOutputStream();
       }
       rs.close() ;
   }        
   ps.close();
   baglanti.close() ;
   if (imgBytes != null)
   {
          o.write(imgBytes);
   }
   out.clear();
   out = pageContext.pushBody();
}
 
Resmin boyutlarını java sınıfı içerisinde ayarlamak(genişletmek, uzatmak) falan mümkün ama ben uğraşmadım. Ben 105x130'dan büyükse yüklememe yöntemini seçtim. İsterseniz siz, gelen resmi boyutlandırabilirsiniz. Ayrıca resmi önce diskte 'kisiResimler' adında bir dizin oluşturup oraya atıyorum sonra da ordan veritabanına yazıyorum. Siz işlem bittikten sonra diksten silebilirsiniz de. 
ResimYukleGoster.zip
ya da
 
İhtiyaç olacak Jar dosyaları
ya da
Saygılar...
# Kategoriler : Java Yazılım
# Etiketler : Etiket Yok
# Yorumlar : 0 Yorum Yorum Yaz

Selamlar...

Tek bir bilgisayarda farklı Java projelerini farklı portlardan aşağıdaki çalıştırabiliriz.
Öncelikle Apache Tomcat'i indiriyoruz. http://tomcat.apache.org/download-70.cgi 

Zip olan sürümünü indirirseniz kurulum yapmaniza da gerek kalmaz. 
Eğer yoksa Eclipse'i indirmemiz gerek. http://www.eclipse.org/downloads/ (Eclipse IDE for Java EE Developers)


İndirdiğimiz tomcat klasörünün adını apache-tomcat-7_8020 yapalım. Sonra aynı yere bundan bir tane daha kopyalayıp adını apache-tomcat-7_8010 yapalım.
Yani birisi 8010 portundan çalışacak, birisi de 8020'den.
Tabi bunun için bir ayar yapmamız lazım.
apache-tomcat-7_8010/conf/server.xml dosyasını açıyoruz notepad ile.    

1
<Server port="8005" shutdown="SHUTDOWN">

satırını    

1
<Server port="8015" shutdown="SHUTDOWN">

olarak değiştiriyoruz. 

 

 

1
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />

satırını

1
<Connector port="8010" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />

olarak değiştiriyoruz.

 

 

1
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />

 satırını    

1
<Connector port="8019" protocol="AJP/1.3" redirectPort="8443" />

olarak değiştiriyoruz.

Eclipse'te projelerimizi sağ tıklayıp yeni sunucu ekleme seçeneği ile her ikisine farklı tomcat sunucularını gösterirsek işlem tamamlanmış olur. 

 

Saygılar...

# Kategoriler : Java Yazılım
# Etiketler : Etiket Yok
# Yorumlar : 0 Yorum Yorum Yaz

Selamlar...
Java'da dosya yükleme işlemini aşağıdaki şekilde yapabiliriz.
// Önce kullanacağımız değişkenleri tanımlamakla başlıyoruz.
// Tek bir sayfada yapacağız işlemi
     
String tt = "" ;
String dosyaAdi = "" ;
String contentType = request.getContentType() ;
String dosyaYolu = "" ;
String yuklenecekDizin = "" ;
 
// Eğer sayfanın altındaki form postalandıysa contentType null değildir ve içinde "multipart/form-data" geçiyordur.
// Bu durumda if'in içine giriyoruz ve gelen dosyayı belirttiğimiz dizine yüklüyoruz.
// Ben yüklenecek dizini değişkenden aldım ve değerine de "C:" dedim.
// Bunu siz sayfadan da alabilirsiniz.
// Formun içinden bize gelen elemanlara bakıyoruz ve sadece dosya türünde olanı alıyoruz. 
// Başka tipte elemanlar da gelebilir. Onları almamalıyız.
 
// Eğer sayfanın ilk yüklenişi ise de o zaman else kısmına giriyoruz ve formumuzu oluşturuyoruz.
// Formumuzda neler var? Bir adet "File" elemanı, bir adet "Reset" butonu, bir adet de "Submit" butonu.
// Ben boş mu diye kontrol etmedim ama siz formu postalamadan evvel dosya seçilmemişse formu postalamayabilirsiniz.
// 
if ((contentType != null) &amp;amp;&amp;amp; (contentType.indexOf("multipart/form-data") &amp;gt;= 0)) 
{        
    DiskFileItemFactory diskFile = new DiskFileItemFactory() ;
    ServletFileUpload fu = new ServletFileUpload(diskFile) ;
    fu.setSizeMax(301401501);    //bayt    
    java.util.List&amp;lt;DiskFileItem&amp;gt; fileItems = new ArrayList&amp;lt;DiskFileItem&amp;gt;() ; 
    fileItems = fu.parseRequest(request);
    Iterator&amp;lt;DiskFileItem&amp;gt; itr = fileItems.iterator();    
    FileItem fi = null ;
    File olusacakDosya = null ;
    yuklenecekDizin = "C:" ;
    while(itr.hasNext()) 
    {
          fi = (FileItem)itr.next();    
          if(!fi.isFormField()) //isFormField() degilse File turunde bi elemandir gelen.
          {
              dosyaAdi = fi.getName();
              if (dosyaAdi != null) 
              {
                  dosyaAdi = FilenameUtils.getName(dosyaAdi);
              }
              else
              {
                  dosyaAdi = "" ;                      
              }
                dosyaYolu = yuklenecekDizin "/" dosyaAdi ;
            if (!dosyaAdi.equals(""))
            {
                olusacakDosya = new File(dosyaYolu) ;
                   fi.write(olusacakDosya) ;
            }
            else
            {        
                out.println("&amp;lt;span class=\"renkliKelime\"&amp;gt;Dosya adı boş. Yükleme başarısız!&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;") ;
                return ; 
            }
          }//if(!fi.isFormField())           
    }//while(itr.hasNext())
    out.println("&amp;lt;span class=\"renkliKelime\"&amp;gt;Dosya başarı ile karşıya yüklendi : &amp;lt;span style=\"color:#ff0000; font-weight:bold; \"&amp;gt;" dosyaYolu "&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;") ;        
}        
else
{
     tt = "&amp;lt;form method=\"post\" ACTION=\"DosyaYukle.jsp\" id=\"frmUpload\" name=\"frmUpload\" ENCTYPE=\"multipart/form-data\"&amp;gt;" ;
     tt = "&amp;lt;table id=\"tblUpload\" name=\"tblUpload\"&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td colspan=\"2\"&amp;gt;" ;
     tt = "&amp;lt;input type=\"file\" name=\"dosyaUpload\" id=\"dosyaUpload\"&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;" ;
     tt = "&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;input type=\"submit\" name=\"btnGonder\" id=\"btnGonder\" value=\"GÖNDER\"&amp;gt;&amp;lt;/td&amp;gt;" ;
     tt = "&amp;lt;td&amp;gt;&amp;lt;input type=\"reset\" name=\"btnTemizle\" id=\"btnTemizle\" value=\"TEMİZLE\"&amp;gt;" ;
     tt = "&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;" ;
    tt = "&amp;lt;/form&amp;gt;" ; 
    out.println(tt) ;
}
DosyaYukle.jsp:
ya da
İhtiyaç olacak JAR dosyaları
ya da
 
Saygılar...
# Kategoriler : Java Yazılım
# Etiketler : Etiket Yok
# Yorumlar : 0 Yorum Yorum Yaz

Selamlar...
Java-JSP ile bir zip dosyasını tarayıcımızdan seçip C dizinine bu zipi açan bir uygulama yazmıştım zamanında. 
Ekte ihtiyacınız olan JSP, JAVA ve JAR dosyaları mevcuttur.
ZipInputStream zipDosyasi = new ZipInputStream(inputStream) ;
ZipEntry zipIcindekiDosya = null ;
String strDosyaAdi = "" ;
int zipIcindekiDosyaSayisi = 0 ;
if (!pDizin.endsWith(DOSYAAYIRACI))
{
    pDizin  = DOSYAAYIRACI ;
}
if ((zipIcindekiDosya = zipDosyasi.getNextEntry()) != null)
{
    do
    {
        String entryName = zipIcindekiDosya.getName();
        if (!zipIcindekiDosya.isDirectory())
        {
            strDosyaAdi = pDizin   entryName;
            dosyayiOlustur(zipDosyasi, strDosyaAdi);//Dosya oluşturulurken dizin de oluşturuluyor.
            zipIcindekiDosyaSayisi   ;
        }
    }
    while ((zipIcindekiDosya = zipDosyasi.getNextEntry()) != null) ;
    System.out.println("Açılan zip dosyası sayısı : "   zipIcindekiDosyaSayisi) ;
}
else
{
    throw new IOException("Açılmak istenen dosya zip dosyası değil!") ;
}
 

Unzip.java ZipiAc.jsp
ya da
İhtiyaç olacak JAR dosyaları
ya da
Bu JAR dosyalarını projenizin olduğu dizindeki WebContent altındaki WEB-INF dizini içine atıp Eclipse üzerinde projenizi sağ tıklayıp yenilemeniz gerekmektedir.
 
Saygılar...
# Kategoriler : Java Yazılım
# Etiketler : Etiket Yok
# Yorumlar : 0 Yorum Yorum Yaz

Selamlar...

Tomcat'te sanal dizin oluşturmak mümkün. Hem 5.5 hem de 6.0'da aşağıdaki şekilde yapabilirsiniz.
Misal resimlerin olduğu bir dizin var ve diskin E:\Resimler dizininde olsun.
1. Tomcat'in kurulduğu dizinde conf klasörü altında Catalina/localhost klasörleri yoksa bunları oluşturmak lazım. 
2. Bu dizinin altına(Tomcat dizini/Catalina/localhostresimler.xml adında bir xml dosyası oluşturmak lazım.
3. XML'in içeriği de şu şekilde olacak:
<Context path=”/resimler” docBase=”E:/Resimler” debug=”0″ privileged=”true”>
</Context>

4. Tomcat'i yeniden başlatıyoruz.
5. İşlem tamam.

http://localhost:8080/resimler/deneme.gif
şeklinde yazarsak, E:\Resimler\deneme.gif resmine tarayıcıdan ulaşılabilir.

 

Saygılar...

# Kategoriler : Java Yazılım
# Etiketler : Etiket Yok
# Yorumlar : 0 Yorum Yorum Yaz

Selamlar... 
Java'ya yeni başlayanlara faydası olacağını düşündüğüm txt dosyası oluşturup kayıt yapan basit bir java uygulaması.
Buradan indirebilirsiniz.
Java'da PostgreSQL veritabanına kayıt yapma örneği olacak bundan sonraki örnek. Fakat bunun için Java-PostgreSQL ve Apache kurulumlarının anlatıldığı görüntülü bir ders hazırladım. Ön hazırlık mahiyetinde. 
Buradan indirebilirsiniz.
PostgreSQL'de basit bir veritabanı oluşturmayı görüntülü olarak anlattım. Daha sonra da bu veritabanına ekleme, listeleme örneği gelecek.
Buradan indirebilirsiniz.
Java, Apache ve PostgreSQL kullanarak veritabanına kayıt yapan basit bir uygulamanın görüntülü anlatımı.
Buradan indirebilirsiniz. 
 
Saygılar...
# Kategoriler : Java Yazılım
# Etiketler : Etiket Yok
# Yorumlar : 0 Yorum Yorum Yaz

Selamlar...
Microsoft'un çeviri hizmeti veren Bing Translator uygulamasını C# ile basit bir şekilde çağırabiliyoruz.
Ancak öncelikle bir Microsoft hesabımız olması gerekiyor.
Yoksa eğer şuradan oluşturabilirsiniz: https://signup.live.com/
Daha sonra https://datamarket.azure.com/home adresine girip
My Account -> Developer -> Register yolunu izleyerek uygulamanızı kaydediyorsunuz.
Bu şekilde size bir anahtar veriyor. Bu uygulama adı ve anahtarı kodumuzda kullanacağız.
Uygulamanızın adını kaydettikten sonra Bing çevirim API'sine abone oluyorsunuz. Ayda 2.000.000 karakter bedava.
Daha fazlası için ücret ödemek zorundasınız.
Onun için de şu adresi kullanacaksınız: https://datamarket.azure.com/dataset/bing/microsofttranslator/
Eğer buraya kadar anlatılanlarla bir yere varamadıysanız, şu adreste resimli anlatım da mevcut: http://blogs.msdn.com/b/translation/p/gettingstarted1.aspx
Çeviriyi yapan C# kodu da şu şekilde olmalı:
public static string metniCevir(string metin, string kaynakDil, string hedefDil)
{
    string clientID = "uygulama_adi";
    string clientSecret = "asdqwedasdasd2i546456eqxcvbcvbc45676c=";
    String strTranslatorAccessURI = "https://datamarket.accesscontrol.windows.net/v2/OAuth2-13";
    String strRequestDetails = string.Format("grant_type=client_credentials&client_id={0}&client_secret={1}&scope=http://api.microsofttranslator.com", HttpUtility.UrlEncode(clientID), HttpUtility.UrlEncode(clientSecret));
    System.Net.WebRequest webRequest = System.Net.WebRequest.Create(strTranslatorAccessURI);
    webRequest.ContentType = "application/x-www-form-urlencoded";
    webRequest.Method = "POST";
    byte[] bytes = System.Text.Encoding.ASCII.GetBytes(strRequestDetails);
    webRequest.ContentLength = bytes.Length;
    using (System.IO.Stream outputStream = webRequest.GetRequestStream())
    {
        outputStream.Write(bytes, 0, bytes.Length);
    }
    System.Xml.XmlDocument xTranslation = new System.Xml.XmlDocument();
    try
    {
        System.Net.WebResponse webResponse = webRequest.GetResponse();
        System.Runtime.Serialization.Json.DataContractJsonSerializer serializer = new System.Runtime.Serialization.Json.DataContractJsonSerializer(typeof(AdmAccessToken));
        //Get deserialized object from JSON stream 
        AdmAccessToken token = (AdmAccessToken)serializer.ReadObject(webResponse.GetResponseStream());
        string txtToTranslate = metin;
        string headerValue = "Bearer " + token.access_token;
        string uri = "http://api.microsofttranslator.com/v2/Http.svc/Translate?text=" + System.Web.HttpUtility.UrlEncode(txtToTranslate) + "&from=" + kaynakDil + "&to=" + hedefDil;
        System.Net.WebRequest translationWebRequest = System.Net.WebRequest.Create(uri);
        translationWebRequest.Headers.Add("Authorization", headerValue);
        System.Net.WebResponse response = null;
        response = translationWebRequest.GetResponse();
        System.IO.Stream stream = response.GetResponseStream();
        System.Text.Encoding encode = System.Text.Encoding.GetEncoding("utf-8");
        System.IO.StreamReader translatedStream = new System.IO.StreamReader(stream, encode);
        xTranslation.LoadXml(translatedStream.ReadToEnd());
    }
    catch (Exception ex)
    {
        Debug.WriteLine(ex.Message);
    }
    Debug.WriteLine("Your Translation is: " + xTranslation.InnerText);
    return xTranslation.InnerText;
}
 
 
 metniCevir("Merhaba dünya", "tr", "en");
 
Saygılar...
# Kategoriler : C# Yazılım
# Etiketler : Etiket Yok
# Yorumlar : 0 Yorum Yorum Yaz

Selamlar...
Java'da basit bir uygulama ile Excel dosyasındaki kayıtları Xml dosyasına aşağıdaki şekilde aktarabiliriz.
Kodları zip olarak indirmek isterseniz aşağıdaki adreslerden indirebilirsiniz:
http://www.divshare.com/download/8968631-92e (Java)
C#'ta nasıl yapıldığını burada anlatmıştık.
Java için de şu şekilde:
package com.zamkinos.genel;
 
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.Locale;
 
import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.Node;
 
import jxl.Cell;
import jxl.Sheet;
import jxl.Workbook;
import jxl.WorkbookSettings;
import jxl.read.biff.BiffException;
 
public class ExcelIslemleri
{
    public int intExcelKolon_1 = 0 ;
    public int intExcelKolon_2 = 0 ;
    public String strXmlOzellikAdi_1 = "" ;
    public String strXmlOzellikAdi_2 = "" ;
    public int intBaslangicSatir = 0 ;
    public int intBitisSatir = 0 ;
    public int intCalismaSayfasiNo = 1 ;
    
    public boolean excel2Xml(String pExcelYolu)
    {
        boolean iseBasarili = false ;
        FileInputStream fs = null ;
        WorkbookSettings wbS = null ;
        Workbook wb = null ;
        Sheet cs = null ;
        Cell satirHucreler[] = null;
        int i = 0 ;
        String strTR = "" ;
        String strENG = "" ;
        int intSayac = 1 ;
        Document xmlDokuman = null ;
        Node nodKelime = null ;
        Node nodKategori = null ;
        String strKategoriAdi = "" ;
        try
        {
            fs = new FileInputStream(new File(pExcelYolu)) ;
            wbS = new WorkbookSettings() ;
            wbS.setLocale(new Locale("tr", "TR")) ;
            wb = Workbook.getWorkbook(fs, wbS) ;
            cs = wb.getSheet(intCalismaSayfasiNo);
            xmlDokuman = DocumentHelper.parseText("<kok>") ;
            if (cs != null)
            {
                strKategoriAdi = GenelIslemler.TR2ENG(cs.getName()) ;
                nodKategori = XmlIslemleri.newCH(xmlDokuman.getRootElement(), strKategoriAdi) ;               
                for (i=intBaslangicSatir; i&lt;=intBitisSatir; i  )
                {
                    satirHucreler = cs.getRow(i) ;
                    if (satirHucreler != null)
                    {
                        strENG = satirHucreler[intExcelKolon_1].getContents() ;
                        strTR = satirHucreler[intExcelKolon_2].getContents() ;
                        nodKelime = XmlIslemleri.newCH(nodKategori, "Kelime") ;
                        XmlIslemleri.setNV((Element)nodKelime, strXmlOzellikAdi_1, strENG) ;
                        XmlIslemleri.setNV((Element)nodKelime, strXmlOzellikAdi_2, strTR) ;
                        XmlIslemleri.setNAV((Element)nodKelime, "ID", String.valueOf(intSayac)) ;
                        intSayac    ;
                    }
                }
                XmlIslemleri.xmleYaz(xmlDokuman, "J:/"   strKategoriAdi   ".xml") ;
                iseBasarili = true ;
            }
        }
        catch(Exception e)
        {
            System.out.println("ExcelIslemleri.excel2Xml()"   e.getMessage()) ;
        }
        finally
        {
            try
            {
                if (fs != null)
                    fs.close();
            }
            catch (IOException e)
            {
                e.printStackTrace();
            }
        }
        return iseBasarili ;
    }
    
 
    
    public void dosyayiOku(String pExcelDosyasi)
    {
        init(pExcelDosyasi);
    }
    
    public void init(String filePath)
    {
        FileInputStream fs = null;
        try
        {
            fs = new FileInputStream(new File(filePath));
            contentReading(fs);
        }
        catch (IOException e)
        {
            e.printStackTrace();
        }
        catch (Exception e)
        {
            e.printStackTrace();
        }
        finally
        {
            try {
                fs.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
    
    public void contentReading(InputStream fileInputStream) {
        WorkbookSettings ws = null;
        Workbook workbook = null;
        Sheet s = null;
        Cell rowData[] = null;
        int rowCount = '0';
        int columnCount = '0';
        int totalSheet = 0;
  
        try {
            ws = new WorkbookSettings();
            ws.setLocale(new Locale("en", "EN"));
            workbook = Workbook.getWorkbook(fileInputStream, ws);
  
            totalSheet = workbook.getNumberOfSheets();
            if(totalSheet &gt; 0) {
                System.out.println("Total Sheet Found:"   totalSheet);
                for(int j=0; j<totalsheet; j  )="" {="" name:="" workbook.getsheet(j).getname());="" }="" getting="" default="" i.e.="" 0="" s="workbook.getSheet(0);" cell="" getheadingfromxlsfile(s);="" sheet,="" will="" return="" you="" that="" are="" occupied="" with="" some="" data="" rows="" s.getrows());="" rowcount="s.getRows();" no="" of="" columns="" in="" sheet="" system.out.println(="" total="" column="" inside="" sheet:=""  ="" s.getcolumns());="" columncount="s.getColumns();" reading="" individual="" row="" content="" for="" (int="" i="0;">&lt; rowCount; i  ) {
                //Get Individual Row
                rowData = s.getRow(i);
                if (rowData[0].getContents().length() != 0) { // the first date column must not null
                    for (int j = 0; j &lt; columnCount; j  ) {
                        switch (j) {
                        case 0:
                            System.out.println("Employee Id:"   rowData[j].getContents());
                        case 1:
                            System.out.println("Employee Name:"   rowData[j].getContents());
                        case 2:
                            System.out.println("Employee Designation:"   rowData[j].getContents());
                        default:
                            break;
                        }
                    }
                }
            }
            workbook.close();           
        }
        catch (IOException e)
        {
            e.printStackTrace();
        }
        catch (BiffException e)
        {
            e.printStackTrace();
        }
    }
    
    public void getHeadingFromXlsFile(Sheet sheet)
    {
        int columnCount = sheet.getColumns();
        for (int i = 0; i &lt; columnCount; i  )
        {
            System.out.println(sheet.getCell(i, 0).getContents());
        }
    }
 
}
Saygılar...
# Kategoriler : Java Yazılım
# Etiketler : Etiket Yok
# Yorumlar : 0 Yorum Yorum Yaz

Selamlar... 
C#'ta basit bir uygulama ile Excel dosyasındaki kayıtları Xml dosyasına aşağıdaki şekilde aktarabiliriz.
Kodları zip olarak indirmek isterseniz aşağıdaki adreslerden indirebilirsiniz:
http://www.divshare.com/download/8968533-745 (C#)
C# kodu şu şekilde:
        private string strDosyaTurleri = "Excel 2000-2003 Dosyaları|*.xls|Excel 2007 Dosyaları|*.xlsx";
        private string dosyaAdi = "";
        public static object tMissing = Type.Missing;
 
        public Excel2Xml()
        {
            InitializeComponent();
        }
 
        private void btnDosyaAc_Click(object sender, EventArgs e)
        {
            dosyaAc();
        }
 
        private void dosyaAc()
        {
            dosyaAcmaPenceresi.InitialDirectory = "C:/";
            dosyaAcmaPenceresi.Filter = strDosyaTurleri;
            dosyaAcmaPenceresi.Title = "Bir dosya seçin";
            dosyaAcmaPenceresi.ShowDialog();
            dosyaAdi = dosyaAcmaPenceresi.FileName;
            lblDosyaYolu.Text = dosyaAdi;
        }
 
        private void brnExcel2XML_Click(object sender, EventArgs e)
        {
            string str1 = "";
            object nesneHucreIcerik = null ;
            Microsoft.Office.Interop.Excel.Workbook wb1 = null;
            Microsoft.Office.Interop.Excel.Worksheet ws1 = null;
            Microsoft.Office.Interop.Excel.Range rng = null;
            int intBaslangic = Int32.Parse(txtBaslangicSatir.Text);
            int intBitis = Int32.Parse(txtBitisSatir.Text);
            int intCalismaSayfasiNo = Int32.Parse(txtCalismaSayfasiNo.Text);
            int intSayac = 1;
            int i = 0;
            string strKategoriAdi = "";
 
            System.Xml.XmlDocument xmlDokuman = new System.Xml.XmlDocument();
            xmlDokuman.LoadXml("<kok>");
            System.Xml.XmlNode nodKok = xmlDokuman.SelectSingleNode("/KOK");
            System.Xml.XmlNode nodKategori = null;
            System.Xml.XmlNode nodKelime = null;
 
            if (System.IO.File.Exists(dosyaAdi) == true) //Eğer dosya varsa girsin.
            {
                if (iseKontrollerTamam())
                {
                    Microsoft.Office.Interop.Excel.Application nesneExcel = new Microsoft.Office.Interop.Excel.Application();
                    wb1 = nesneExcel.Workbooks.Open(dosyaAdi, tMissing, tMissing, tMissing, tMissing, <br>tMissing, tMissing, tMissing, tMissing, tMissing, tMissing, tMissing, tMissing, tMissing, tMissing);
                    ws1 = (Microsoft.Office.Interop.Excel.Worksheet)wb1.Worksheets.get_Item(intCalismaSayfasiNo);
                    strKategoriAdi = TR2ENG(ws1.Name);
                    nodKategori = XMLIslemleri.newCH(nodKok, strKategoriAdi);
                    for (i = intBaslangic; i &amp;amp;lt;= intBitis; i  )
                    {
                        nodKelime = XMLIslemleri.newCH(nodKategori, "Kelime");
                        XMLIslemleri.setNAV(nodKelime, "ID", intSayac.ToString());
                        rng = ws1.get_Range(txtExcelKolonAdi_1.Text   i, txtExcelKolonAdi_1.Text   i);
                        nesneHucreIcerik = rng.Value2;
                        if (nesneHucreIcerik != null)
                        {
                            str1 = rng.Value2.ToString();
                        }
                        XMLIslemleri.setNV(nodKelime, txtXmlOzellikAdi_1.Text, str1);
                        rng = ws1.get_Range(txtExcelKolonAdi_2.Text   i, txtExcelKolonAdi_2.Text   i);
                        nesneHucreIcerik = rng.Value2;
                        if (nesneHucreIcerik != null)
                        {
                            str1 = rng.Value2.ToString();
                        }
                        XMLIslemleri.setNV(nodKelime, txtXmlOzellikAdi_2.Text, str1);
                        intSayac  ;
                    }
                    if (!strKategoriAdi.Equals(""))
                        xmlDokuman.Save(HataKayit.uygulamaYolu()   "/"   strKategoriAdi   ".xml");
                    wb1.Close(true, tMissing, tMissing);
                    nesneExcel.Quit();
                    nesneyiSonlandir(ws1);
                    nesneyiSonlandir(wb1);
                    nesneyiSonlandir(nesneExcel);
                    MessageBox.Show("Islem tamamdir.");
                }
            }
        }
 
        private bool iseKontrollerTamam()
        {
            if (txtCalismaSayfasiNo.Equals(""))
                return false;
            else if (txtExcelKolonAdi_1.Equals(""))
                return false;
            else if (txtExcelKolonAdi_2.Equals(""))
                return false;
            else if (txtXmlOzellikAdi_1.Equals(""))
                return false;
            else if (txtXmlOzellikAdi_2.Equals(""))
                return false;
            else if (txtBitisSatir.Equals(""))
                return false;
            else if (txtBaslangicSatir.Equals(""))
                return false;
            else return true;
        }//private bool iseKontrollerTamam()
 
        private void nesneyiSonlandir(object pNesne)
        {
            try
            {
                System.Runtime.InteropServices.Marshal.ReleaseComObject(pNesne);
                pNesne = null;
            }
            catch (Exception ex)
            {
                pNesne = null;
                HataKayit.hataKontrolXml("Excel2XML.nesneyiSonlandir", ex.Message);
            }
            finally
            {
                GC.Collect();
            }
        }//private void nesneyiSonlandir(object pNesne)
 
        private string TR2ENG(string pStr)
        {
            pStr = pStr.ToUpper();
            pStr = pStr.Replace("Ğ", "G");
            pStr = pStr.Replace("Ü", "U");
            pStr = pStr.Replace("Ş", "S");
            pStr = pStr.Replace("İ", "I");
            pStr = pStr.Replace("Ö", "O");
            pStr = pStr.Replace("Ç", "C");
            pStr = pStr.Replace(" ", "_");
            return pStr;
        }
 
 
 Saygılar...
# Kategoriler : C# Yazılım
# Etiketler : Etiket Yok
# Yorumlar : 0 Yorum Yorum Yaz

Selamlar...
Bilgisayarınızda bazı dosyalardan birden fazla olduğunda bunları bulup silmeye ihtiyaç olabilir.
İşte böyle bir ihtiyaçtan dolayı MukerrerleriBulSil programını yazmıştım.
Kaynak kodları zip dosyasının içinde.
İstediğiniz gibi kullanabilirsiniz.
Çalışma mantığı şu şekilde:
Bilgisayarınızdaki sürücüler yükleniyor programın açılışında.
Herhangi bir sürücü veya dizin seçiyorsunuz. (Bilgisayarım'ı seçerseniz tüm sürücüleri tarar.)
Sonra aramak istediğiniz dosya uzantısını seçiyorsunuz.
Fazla uzun sürmesin diye dosya uzantısı seçtiriyorum.
Sonra dizindeki belirtilen uzantıdaki aynı isimdeki dosyaları bulup grid'in içine dolduruyor.
Bunlar illa aynı olmak zorunda değil tabi.
Listeden silmek istediklerinizi seçip, seçilenleri sil dediğinizde mükerrer dosyalar siliniyor.
Kodu aşağıdaki adresten indirebilirsiniz:
http://www.divshare.com/download/14049617-7a9
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
//using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Management;
using System.IO;
using System.Collections;
using System.Security.AccessControl;
using System.Security.Principal;
 
namespace MukerrerleriBulSil
{
    public partial class frmMukerrer : Form
    {
        public frmMukerrer()
        {
            InitializeComponent();
        }
 
        Hashtable htDosyaYolu;
        Hashtable htMukerrerler;
        long lngIdx;
        long lngDizinSayac;
        string strKolonDosyaAdi;
        string strKolonDosyaYolu;
        string strKolonSec;
        string strKolonDosyaBoyut;
        Hashtable htYerelDisk;
        int intDiskSayac;
        int intPgMaks = 49999;
        private void frmMukerrer_Load(object sender, EventArgs e)
        {
            htYerelDisk = new Hashtable();
            intDiskSayac = 0;
            strKolonDosyaYolu = "Dosya Yolu";
            strKolonDosyaAdi = "Dosya Adi";
            strKolonDosyaBoyut = "Boyut";
            strKolonSec = "Sec";
            lngIdx = 0;
            htMukerrerler = null;
            htDosyaYolu = null;
            //
            pgBar.Maximum = intPgMaks;
            dosyaUzantilariniYukle();
            PopulateDriveList();
            DataGridViewCheckBoxColumn ck = new DataGridViewCheckBoxColumn();
            ck.Name = strKolonSec;
            ck.Width = 50;
            gridMukerrerler.Columns.Insert(0, ck);
            gridMukerrerler.ReadOnly = false;
        }
 
        //This procedure populate the TreeView with the Drive list
        private void PopulateDriveList()
        {
            TreeNode nodeTreeNode;
            int imageIndex = 0;
            int selectIndex = 0;
 
            const int Removable = 2;
            const int LocalDisk = 3;
            const int Network = 4;
            const int CD = 5;
            //const int RAMDrive = 6;
 
            this.Cursor = Cursors.WaitCursor;
            //clear TreeView
            tvDizinler.Nodes.Clear();
            nodeTreeNode = new TreeNode("Bilgisayarim", 0, 0);
            tvDizinler.Nodes.Add(nodeTreeNode);
 
            //set node collection
            TreeNodeCollection nodeCollection = nodeTreeNode.Nodes;
 
            //Get Drive list
            ManagementObjectCollection queryCollection = getDrives();
            foreach (ManagementObject mo in queryCollection)
            {
                //foreach (PropertyData pd in mo.Properties)
                //    Console.WriteLine(pd.Name   " - "   pd.Value);
 
                switch (int.Parse(mo["DriveType"].ToString()))
                {
                    case Removable:            //removable drives
                        imageIndex = 5;
                        selectIndex = 5;
                        break;
                    case LocalDisk:            //Local drives
                        imageIndex = 6;
                        selectIndex = 6;
                        // Bilgisayarim secilmisse yerel diskleri tarayalim.
                        htYerelDisk.Add(intDiskSayac, mo["Name"].ToString()   "\\");
                        intDiskSayac  ;
                        break;
                    case CD:                //CD rom drives
                        imageIndex = 7;
                        selectIndex = 7;
                        break;
                    case Network:            //Network drives
                        imageIndex = 8;
                        selectIndex = 8;
                        break;
                    default:                //default to folder
                        imageIndex = 2;
                        selectIndex = 3;
                        break;
                }
                //create new drive node
                nodeTreeNode = new TreeNode(mo["Name"].ToString()   "\\", imageIndex, selectIndex);
 
                //add new node
                nodeCollection.Add(nodeTreeNode);
            }
            this.Cursor = Cursors.Default;
        }
 
        protected ManagementObjectCollection getDrives()
        {
            //get drive collection
            ManagementObjectSearcher query = new ManagementObjectSearcher("SELECT * From Win32_LogicalDisk ");
            ManagementObjectCollection queryCollection = query.Get();
 
            return queryCollection;
        }
 
        private void tvDizinler_Secildi(object sender, System.Windows.Forms.TreeViewEventArgs e)
        {
            //Populate folders and files when a folder is selected
            this.Cursor = Cursors.WaitCursor;
 
            //get current selected drive or folder
            TreeNode nodeCurrent = e.Node;
 
            // eger Bilgisayarim secilirse buraya 3 defa giriyor ve sectirmiyordu. bu kontrol onun icin.
            if (nodeCurrent.Index == 0)
            {
                this.Cursor = Cursors.Default;
                return;
            }
 
            //clear all sub-folders
            nodeCurrent.Nodes.Clear();
 
            if (nodeCurrent.SelectedImageIndex == 0)
            {
                //Selected My Computer - repopulate drive list
                PopulateDriveList();
            }
            else
            {
                //populate sub-folders and folder files
                PopulateDirectory(nodeCurrent, nodeCurrent.Nodes);
            }
            this.Cursor = Cursors.Default;
        }
 
        protected void PopulateDirectory(TreeNode nodeCurrent, TreeNodeCollection nodeCurrentCollection)
        {
            TreeNode nodeDir;
            int imageIndex = 2;        //unselected image index
            int selectIndex = 3;    //selected image index
            string stringFullPath = "";
            string stringPathName = "";
            string[] stringDirectories = null;
 
            if (nodeCurrent.SelectedImageIndex != 0)
            {//populate treeview with folders                
                try
                {//check path                    
                    if (Directory.Exists(getFullPath(nodeCurrent.FullPath)) == false)
                    {
                        MessageBox.Show("Directory or path "   nodeCurrent.ToString()   " does not exist.");
                    }
                    else
                    {
                        stringDirectories = Directory.GetDirectories(getFullPath(nodeCurrent.FullPath));
 
                        //loop throught all directories
                        foreach (string stringDir in stringDirectories)
                        {
                            stringFullPath = stringDir;
                            stringPathName = GetPathName(stringFullPath);
                            //create node for directories
                            nodeDir = new TreeNode(stringPathName.ToString(), imageIndex, selectIndex);
                            nodeCurrentCollection.Add(nodeDir);
                        }
                    }
                }
                catch (IOException)
                {
                    MessageBox.Show("Hata: Surucu hazir degil ya da dizin yok!");
                }
                catch (UnauthorizedAccessException)
                {
                    MessageBox.Show("Hata: Surucu veya dizine erisim yetkisi yok!");
                }
                catch (Exception e)
                {
                    MessageBox.Show("Hata: ("   e   ")");
                }
            }
        }
 
        protected string GetPathName(string strPath)
        {
            //Get Name of folder
            string[] stringSplit = strPath.Split('\\');
            int _maxIndex = stringSplit.Length;
            return stringSplit[_maxIndex - 1];
        }
 
        protected string getFullPath(string strPath)
        {
            string stringParse = strPath.Replace("Bilgisayarim\\", "");
            return stringParse;
        }
 
        private void btnSecilenDiziniTara_Click(object sender, EventArgs e)
        {
            if (tvDizinler.SelectedNode == null)
            {
                MessageBox.Show("Lutfen bir dizin seciniz!", "Surucu veya Dizin", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return;
            }
            if (cmbDosyaUzantisi.SelectedItem == null)
            {
                MessageBox.Show("Lutfen bir dosya uzantisi seciniz!", "Dosya Uzantisi", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return;
            }
            TreeNode tn = null;
            lngIdx = 0;
            lngDizinSayac = 0;
            pgBar.Value = 0;
            htDosyaYolu = new Hashtable();
            htMukerrerler = new Hashtable();
            tn = tvDizinler.SelectedNode;
            if (tn.Parent == null) //demek ki Bilgisayarim secilmis.
            {
                for (int i = 0; i &amp;amp;lt; htYerelDisk.Count; i  )
                    dizinleriBul(htYerelDisk[i].ToString());
            }
            else
            {
                dizinleriBul(tn.Text);
            }
            mukerrerleriBul();
            gridiDoldur();
        }
 
        private void gridiDoldur()
        {
            //    long lng1 = 0;
            //    htMukerrerler.Add(lng1, "deneme.txt@@|@@d:/deneme/deneme.txt");
            //    lng1 = 1;
            //    htMukerrerler.Add(lng1, "deneme2.txt@@|@@d:/deneme/deneme2.txt");
            //    lng1 = 2;
            //    htMukerrerler.Add(lng1, "deneme3.txt@@|@@d:/deneme/deneme3.txt");            
            gridMukerrerler.DataSource = dtDoldur();
            gridMukerrerler.Columns[strKolonDosyaAdi].Width = 100;
            gridMukerrerler.Columns[strKolonDosyaAdi].Resizable = DataGridViewTriState.False;
            gridMukerrerler.Columns[strKolonDosyaAdi].ReadOnly = true;
            gridMukerrerler.Columns[strKolonDosyaYolu].Width = 275;
            gridMukerrerler.Columns[strKolonDosyaYolu].Resizable = DataGridViewTriState.False;
            gridMukerrerler.Columns[strKolonDosyaYolu].ReadOnly = true;
            gridMukerrerler.Columns[strKolonDosyaBoyut].Width = 65;
            gridMukerrerler.Columns[strKolonDosyaBoyut].Resizable = DataGridViewTriState.False;
            gridMukerrerler.Columns[strKolonDosyaBoyut].ReadOnly = true;
            gridMukerrerler.DefaultCellStyle.Font = new Font("Tahoma", 8);
            gridMukerrerler.DefaultCellStyle.ForeColor = Color.Blue;
            gridMukerrerler.DefaultCellStyle.BackColor = Color.Beige;
        }
 
        private void dizinleriBul(string pSeciliDizin)
        {
            string[] diziDizinler = null;
            try
            {
                lngDizinSayac  ;
                if (lngDizinSayac &amp;amp;gt; intPgMaks)
                    pgBar.Value = intPgMaks - 1;
                else
                    pgBar.Value  = 1;
                lblTarama.Text = lngDizinSayac   " adet dizin tarandi.";
                dosyalariBul(pSeciliDizin);
                try
                {
                    diziDizinler = Directory.GetDirectories(pSeciliDizin);
                }
                catch (UnauthorizedAccessException)
                {
                    //dizineIzinVer(pSeciliDizin);
                    //diziDizinler = Directory.GetDirectories(pSeciliDizin);
                }
                if (diziDizinler.Length &amp;amp;gt; 0)
                {
                    for (int i = 0; i &amp;amp;lt; diziDizinler.Length; i  )
                    {
                        dizinleriBul(diziDizinler[i]);
                        Application.DoEvents();                        
                    }
                }
            }
            catch (Exception e)
            {
                ClsHataKayit.hataKontrolXml("dizinleriBul", e.Message);
            }
        }
 
        private void dosyalariBul(string pSeciliDizin)
        {
            int i = 0;
            try
            {
                string[] filePaths = Directory.GetFiles(pSeciliDizin, cmbDosyaUzantisi.SelectedItem.ToString(), <br>SearchOption.TopDirectoryOnly);
                for (i = 0; i &amp;amp;lt; filePaths.Length; i  )
                {
                    htDosyaYolu.Add(lngIdx, filePaths[i].ToString());
                    lngIdx  ;
                }
            }
            catch (UnauthorizedAccessException)
            {
                // HataKayit.hataKontrolXml("dosyalariBul", e.Message);
            }
        }
 
        private void dosyaUzantilariniYukle()
        {
            //OzelListe lst1 = null;
            //lst1 = new OzelListe("*.mp3", "1");
            //cmbDosyaUzantisi.Items.Add(lst1);
            System.Xml.XmlDocument xmlDokuman = new System.Xml.XmlDocument();
            System.Xml.XmlNodeList lst1 = null;
            xmlDokuman.Load("DosyaUzantilari.xml");
            lst1 = xmlDokuman.SelectNodes("/KOK/Dosya_Uzantisi");
            foreach (System.Xml.XmlNode nod1 in lst1)
            {
                cmbDosyaUzantisi.Items.Add(nod1.InnerText);
            }
        }
 
        private DataTable dtDoldur()
        {
            string[] diziStr = new string[] { "@@|@@" };
            DataTable dt = new DataTable("dtMukerrerler");
 
            //Create columns and add to DataTable;
            DataColumn dcDosyaAdi = new DataColumn(strKolonDosyaAdi);
            dt.Columns.Add(dcDosyaAdi); //ID column created and add to DataTable
 
            DataColumn dcDosyaYolu = new DataColumn(strKolonDosyaYolu);
            dt.Columns.Add(dcDosyaYolu); //LastName column created and add to DataTable
 
            DataColumn dcDosyaBoyut = new DataColumn(strKolonDosyaBoyut);
            dt.Columns.Add(dcDosyaBoyut); //LastName column created and add to DataTable
 
            //Now Add some data to the DataTable
            DataRow dr;
            for (long lng1 = 0; lng1 &amp;amp;lt; htMukerrerler.Count; lng1  )
            {
                dr = dt.NewRow();
                dr[strKolonDosyaAdi] = htMukerrerler[lng1].ToString().Split(diziStr, StringSplitOptions.RemoveEmptyEntries)[0];
                dr[strKolonDosyaYolu] = htMukerrerler[lng1].ToString().Split(diziStr, StringSplitOptions.RemoveEmptyEntries)[1];
                dr[strKolonDosyaBoyut] = htMukerrerler[lng1].ToString().Split(diziStr, StringSplitOptions.RemoveEmptyEntries)[2];
                dt.Rows.Add(dr);
            }
            return dt;
        }
 
        //private void gridMukerrerler_CellContentClick(object sender, DataGridViewCellEventArgs e)
        //{
        //    gridMukerrerler_CellClick(sender, e);
        //}
 
        //private void gridMukerrerler_CellContentDoubleClick(object sender, DataGridViewCellEventArgs e)
        //{
        //    gridMukerrerler_CellClick(sender, e);
        //}
 
        private void gridMukerrerler_CellClick(object sender, DataGridViewCellEventArgs e)
        {
            try
            {
                if (gridMukerrerler.CurrentCell.ReadOnly)
                {
                    gridMukerrerler.CurrentCell.Selected = false;
                }
                else
                {
                    if ((bool)gridMukerrerler.CurrentCell.EditedFormattedValue)
                        gridMukerrerler.Rows[gridMukerrerler.CurrentCell.RowIndex].DefaultCellStyle.BackColor = Color.Beige;
                    else
                        gridMukerrerler.Rows[gridMukerrerler.CurrentCell.RowIndex].DefaultCellStyle.BackColor = Color.DarkOrange;
                }
            }
            catch (Exception err)
            {
                ClsHataKayit.hataKontrolXml("gridMukerrerler_CellContentClick", err.Message);
            }
        }
 
        private void gridMukerrerler_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
        {
            gridMukerrerler_CellClick(sender, e);
        }
 
        private void mukerrerleriBul()
        {
            long lng1 = 0, lng2 = 0;
            long lngMukerrerler = 0;
            string strDosyaAdi1 = "", strDosyaAdi2 = "";
            string strDosyaYolu1 = "", strDosyaYolu2 = "";
            htMukerrerler = new Hashtable();
            System.IO.FileInfo fi = null;
            if (htDosyaYolu.Count &amp;amp;lt;= 0)
            {
                MessageBox.Show("Secilen dosya uzantisina ait dosya bulanamadi!", "Dosya Bulunamadi", MessageBoxButtons.OK, <br>MessageBoxIcon.Information);
                return;
            }
            for (lng1 = 0; lng1 &amp;amp;lt; htDosyaYolu.Count; lng1  )
            {
                strDosyaYolu1 = htDosyaYolu[lng1].ToString();
                strDosyaAdi1 = GetPathName(strDosyaYolu1);
                for (lng2 = 0; lng2 &amp;amp;lt; htDosyaYolu.Count; lng2  )
                {
                    strDosyaYolu2 = htDosyaYolu[lng2].ToString();
                    strDosyaAdi2 = GetPathName(strDosyaYolu2);
                    if (lng1 != lng2)
                    {
                        if (strDosyaAdi1.Equals(strDosyaAdi2))
                        {
                            if (!iseDizideVar(strDosyaAdi1   "@@|@@"   strDosyaYolu1))
                            {
                                //    if (!iseDizideVar(strDosyaAdi2   "@@|@@"   strDosyaYolu2))
                                //    {
                                //        htMukerrerler.Add(lngMukerrerler, strDosyaAdi2   "@@|@@"   strDosyaYolu2);
                                //    }
                                //}
                                //else
                                //{
                                fi = new System.IO.FileInfo(strDosyaYolu1);
                                htMukerrerler.Add(lngMukerrerler, strDosyaAdi1   "@@|@@"   strDosyaYolu1   "@@|@@"   fi.Length.ToString());
                                lngMukerrerler  ;
                            }
                        }
                    }
                }
                lblTarama.Text = lng1   " adet kayit islendi...";
                Application.DoEvents();
            }
            lblTarama.Text = lng1   " adet kayit islendi...";
            pgBar.Value = intPgMaks-1;
        }
 
        private bool iseDizideVar(string pStr)
        {
            bool iseVar = false;
            for (long lng1 = 0; lng1 &amp;amp;lt; htMukerrerler.Count; lng1  )
            {
                if (htMukerrerler[lng1].ToString().Equals(pStr))
                {
                    iseVar = true;
                    break;
                }
            }
            return iseVar;
        }
 
        private void dizineIzinVer(string pDizinYolu)
        {
            //try
            //{
            //    DirectoryInfo info = new DirectoryInfo(pDizinYolu);
            //    WindowsIdentity self = System.Security.Principal.WindowsIdentity.GetCurrent();
            //    DirectorySecurity ds = info.GetAccessControl();
            //    ds.AddAccessRule(new FileSystemAccessRule(self.Name, FileSystemRights.FullControl, InheritanceFlags.ObjectInherit |
            //                        InheritanceFlags.ContainerInherit, PropagationFlags.None, AccessControlType.Allow));
            //    info.SetAccessControl(ds);
            //}
            //catch (Exception e)
            //{
            //    HataKayit.hataKontrolXml("dizineIzinVer", e.Message);
            //}
        }
         
        private void MukerrerleriBulSil_Closing(object sender, System.ComponentModel.CancelEventArgs e)
        {
            if (MessageBox.Show("Çıkmak istediğinizden emin misiniz?", "MukerrerleriBulSil", MessageBoxButtons.YesNo, <br>MessageBoxIcon.Question) == DialogResult.No)
            {
                e.Cancel = true;
            }
        }
 
        private void btnCikis_Click(object sender, EventArgs e)
        {
            this.Close();
        }
 
        private void btnSecilenleriSil_Click(object sender, EventArgs e)
        {
            Hashtable htSilinecekler = new Hashtable();
            int i = 0, j=0;
            try
            {
                foreach (DataGridViewRow rw in gridMukerrerler.Rows)
                {
                    if ((bool)rw.Cells[strKolonSec].FormattedValue)
                    {
                        htSilinecekler.Add(i, rw.Cells[strKolonDosyaYolu].FormattedValue.ToString());
                        i  ;
                    }
                }
                for (j = 0; j &amp;amp;lt; htSilinecekler.Count; j  )
                {
                    File.Delete(htSilinecekler[j].ToString());
                    Application.DoEvents();
                }
                MessageBox.Show("Islem tamamlandi.("   j   ")", "Islem Tamam", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            catch (Exception er)
            {
                ClsHataKayit.hataKontrolXml("btnSecilenleriSil_Click", er.Message);
            }
        }
    }
}
 
 
Saygılar...
# Kategoriler : C# Yazılım
# Etiketler : Etiket Yok
# Yorumlar : 0 Yorum Yorum Yaz

Selamlar...
Zamanında herhangi bir txt içerikli dosyada(.srt, .txt, .xml,...vs) bazı karakterleri başka karakterlere çevirmeye yarayan ufak bir masaüstü pogramı yazmıştım C#'ta. Visual Studio 2008 kullanmıştım. Yazılışındaki amaç altyazı dosyalarındaki Türkçe karakterleri temizlemek.
Farklı işlere de yarayabilir belki.
Kaynak kodları http://www.mediafire.com/?w9xfy80q188e4 adresinden indirebilirsiniz. Ya da http://www.divshare.com/download/12593413-f72 adresinden.
Kullanımı çok kolay. Karakterler.xml adındaki XML dosyası içine değiştirmek istediğiniz karakterleri ekliyorsunuz.
Kodları aşağıdaki şekilde:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
 
namespace TurkceKarakterleriTemizle
{
    public partial class TurkceKarakterleriTemizle : Form
    {
        private string strDosyaTurleri = "";
        private System.Xml.XmlDocument xmlDokuman = null;
        private string strAltyaziIcerik = "";
        private string strDosyaYolu = "";
        MainMenu menuUst = null;
        public TurkceKarakterleriTemizle()
        {
            InitializeComponent();
            strDosyaTurleri = "Altyazi Dosyalari(.srt)|*.srt|Altyazi Dosyalari(.sub)|*.sub";
            strDosyaTurleri  = "|HTML Dosyalari|*.html|HTM Dosyalari|*.htm";
            strDosyaTurleri ="|JSP Dosyalari|*.jsp|XML Dosyalari|*.xml";
            strDosyaTurleri  = "|Excel Dosyalari|*.xls|ASP Dosyalari|*.asp";
            strDosyaTurleri  = "|TXT Dosyalari|*.txt";
            xmlDokuman = new System.Xml.XmlDocument();
            System.Collections.Hashtable htTurkceKarakterler = new System.Collections.Hashtable();
            xmlDokuman.Load(System.AppDomain.CurrentDomain.BaseDirectory   "/Karakterler.xml");
            lblAltyaziDosyasi.Text = "";
            btnTurkceyeCevir.Enabled = false;
////////////MENU BASLANGIC
            menuUst = new MainMenu();
            // en ust seviye.
            MenuItem m1 = new MenuItem("Dosya");
            menuUst.MenuItems.Add(m1);
            MenuItem m2 = new MenuItem("Islem");
            menuUst.MenuItems.Add(m2);
            // dosya menusunun alt menuleri
            MenuItem subm1 = new MenuItem("Ac");
            m1.MenuItems.Add(subm1);
            MenuItem subm2 = new MenuItem("Cikis");
            m1.MenuItems.Add(subm2);
            // islem menusunun alt menusu
            MenuItem subm3 = new MenuItem("Turkce'ye Cevir");
            m2.MenuItems.Add(subm3);
            // menu elemanlarina islem atama.
            subm1.Click  = new EventHandler(btnDosyaAc_Click);
            subm2.Click  = new EventHandler(btnCikis_Click);
            subm3.Click  = new EventHandler(btnTurkceyeCevir_Click);
            // menuyu form a ekleyelim..
            Menu = menuUst;
////////////MENU BITIS
        }
 
        private void btnCikis_Click(object sender, EventArgs e)
        {
            this.Close();
        }
 
        private void TurkceKarakterleriTemizle_Closing(object sender, System.ComponentModel.CancelEventArgs e)
        {
            if (MessageBox.Show("Çıkmak istediğinizden emin misiniz?", "TurkceKarakterleriTemizle",<br>&nbsp;MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No)
            {
                e.Cancel = true;
            }
        }
 
        private void txtYeYaz(string pDosyaAdi, string pIcerik)
        {
            System.IO.StreamWriter nesneSw = null ;
            string[] diziIcerik = null;
            int i=0;
            if (!pIcerik.Equals(""))
            {
                nesneSw = new System.IO.StreamWriter(pDosyaAdi, false, Encoding.GetEncoding(1254)); <br>//'Yanına true dersek üzerine yazmaya devam eder.
                diziIcerik = pIcerik.Split(new string[]{"@@SA@@"},StringSplitOptions.RemoveEmptyEntries);
                for (i = 0; i &amp;amp;amp;amp;lt; diziIcerik.Length; i  )
                {
                    nesneSw.Write(diziIcerik[i]); //'Yukarda değiştirdiğimiz içeriği dosyaya yazıyoruz.
                }
 
                lblTurkceyeCevir.Text  = Environment.NewLine   "Programin calistigi dizinde";
                lblTurkceyeCevir.Text  = Environment.NewLine   "ayni isimde dosya olusturuldu.";
                lblTurkceyeCevir.Text  = Environment.NewLine   "Filmin oldugu dizine kopyalanmalidir.";
                //MessageBox.Show("Dosya oluşturuldu.("   pDosyaAdi   ")", "Dosya Olustu!", MessageBoxButtons.OK);
                nesneSw.Close();
            }
        }
 
        private void btnDosyaAc_Click(object sender, EventArgs e)
        {
 
            OpenFileDialog dosyaAcmaPenceresi = new OpenFileDialog();
            lblTurkceyeCevir.Text = "";
            lblAltyaziDosyasi.Text = "";
            btnTurkceyeCevir.Enabled = false;
            dosyaAcmaPenceresi.Filter = strDosyaTurleri;
            dosyaAcmaPenceresi.InitialDirectory = "C:/";
            dosyaAcmaPenceresi.Title = "Bir dosya seçin";
            dosyaAcmaPenceresi.ShowDialog();
            System.IO.StreamReader nesneSr = null;
            strDosyaYolu = dosyaAcmaPenceresi.FileName;
            string strSatir = "";
            strAltyaziIcerik = "";
            if (System.IO.File.Exists(strDosyaYolu) == true)
            {
                nesneSr = new System.IO.StreamReader(strDosyaYolu, Encoding.Default); //'Dosyamızı nesnemize yükledik.
                while (nesneSr.Peek() != -1) //'Dosyadaki tüm karakterleri almaya yarayan kalıp bu sanırım.
                {
                    strSatir = nesneSr.ReadLine()   Environment.NewLine;
                    strSatir  = "@@SA@@";
                    strAltyaziIcerik  = strSatir;
                }
                nesneSr.Close(); //'Bunu kapatmazsak YazmaNesnesi yazamıyor. Zaten açılan her nesneyi kapatmakta fayda var.
                lblAltyaziDosyasi.ForeColor = Color.Wheat;
                lblAltyaziDosyasi.Text = "Dosya yuklendi.";
                btnTurkceyeCevir.Enabled = true;
            }
            else
            {
                MessageBox.Show("Dosya bulunamadı!", "Dosya Yok!", MessageBoxButtons.OK); //'Dosya yoksa uyarı versin.
            }
 
        }
 
        private void btnTurkceyeCevir_Click(object sender, EventArgs e)
        {
            System.Xml.XmlNodeList lst1 = xmlDokuman.SelectNodes("/KOK/KARAKTER");
            System.Xml.XmlNode nod1 = null;
            int i = 0;
            string[] diziDosyaAdi = null;
            string strDosyaAdi = "";
            for (i = 0; i &amp;amp;amp;amp;lt; lst1.Count; i  )
            {
                nod1 = lst1[i];
                strAltyaziIcerik = strAltyaziIcerik.Replace(nod1.SelectSingleNode("ESKI").InnerText,<br>&nbsp;nod1.SelectSingleNode("YENI").InnerText);
            }
            diziDosyaAdi = strDosyaYolu.Split('\\');
            for (i = 0; i &amp;amp;amp;amp;lt; diziDosyaAdi.Length; i  )
            {
                strDosyaAdi = diziDosyaAdi[i]; // son eleman dosya adidir.
            }
            lblTurkceyeCevir.ForeColor = Color.Wheat;
            lblTurkceyeCevir.Text = "Turkce karakterler temizlendi.";
            txtYeYaz(strDosyaAdi, strAltyaziIcerik);
        }
    }
}
 
Saygılar...
# Kategoriler : C# Yazılım
# Etiketler : Etiket Yok
# Yorumlar : 0 Yorum Yorum Yaz

Selamlar...
C#'ta uygulama geliştirirken her uygulama için kullandığım bir Veritabanı işlemleri sınıfı var.
Belki başkalarının da işine yarar diyerek paylaşıyorum.
Hem Stored Procedure, hem de normal sql sorgusunu çalıştıracak metotlar içeriyor.
 
VeritabaniIslemleri.CS
using System;
using System.Collections.Generic;
using System.Configuration;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
 
namespace WebPortal.Veritabani
{
    public class VeritabaniIslemleri : IDisposable
    {
        #region Private Members
        private SqlConnection _baglanti;
        private SqlCommand _sqlCommand;
        private SqlDataReader _sqlDataReader;
        private SqlDataAdapter _sqlDataAdapter;
        private DataSet _dataSet { get; set; }
        private SqlTransaction _sqlTransaction;
        private int _beklemeSuresiSaniye;
        #endregion Private Members
 
        #region Public Members
        /// <summary>
        /// 
        /// </summary>
        public SqlTransaction SqlTransaction
        {
            get { return _sqlTransaction; }
            set { _sqlTransaction = value; }
        }
 
        /// <summary>
        /// 
        /// </summary>
        public SqlCommand SqlCommand
        {
            get { return _sqlCommand; }
            set { _sqlCommand = value; }
        }
 
        /// <summary>
        /// 
        /// </summary>
        public SqlConnection Baglanti
        {
            get { return _baglanti; }
            set { _baglanti = value; }
        }
 
        /// <summary>
        /// 
        /// </summary>
        public int BeklemeSuresiSaniye
        {
            get { return _beklemeSuresiSaniye; }
            set { _beklemeSuresiSaniye = value; }
        }
        #endregion Public Members
 
        #region Constructor
        /// <summary>
        /// 
        /// </summary>
        public VeritabaniIslemleri(VeritabaniSecimleri vtSecim)
        {
            this._baglanti = new SqlConnection(getirBaglantiCumlesi(vtSecim));
            baglantiKontrol();
        }
 
        /// <summary>
        /// 
        /// </summary>
        public VeritabaniIslemleri(IsolationLevel isolationLevel, VeritabaniSecimleri vtSecim)
        {
            this._baglanti = new SqlConnection(getirBaglantiCumlesi(vtSecim));
            baglantiKontrol();
            this.SqlTransaction = this._baglanti.BeginTransaction(isolationLevel);
        }
        #endregion Constructor
 
        #region Private Methods
        private string getirBaglantiCumlesi(VeritabaniSecimleri vtSecim)
        {
            switch (vtSecim)
            {
                case VeritabaniSecimleri.Veritabani_1:
                    return ConfigurationManager.ConnectionStrings["Veritabani_1"].ConnectionString;
                case VeritabaniSecimleri.Veritabani_2:
                    return ConfigurationManager.ConnectionStrings["Veritabani_2"].ConnectionString;;
                default:
                    return ConfigurationManager.ConnectionStrings["Veritabani_1"].ConnectionString;
            }
        }
 
        private SqlConnection baglantiKontrol()
        {
            if (this._baglanti.State == ConnectionState.Closed || this._baglanti.State == ConnectionState.Broken)
            {
                this._baglanti.Open();
            }
            return this._baglanti;
        }
 
        private void sorguyuLogla(string strSql, int kullaniciId)
        {
            kapatBaglanti(this.SqlTransaction, this.SqlCommand);
            this._baglanti = new SqlConnection(getirBaglantiCumlesi(VeritabaniSecimleri.WebPortal));
            string sql = " INSERT INTO [dbo].[WEB_HATALISORGULOG](SorguTarihi, IslemKullaniciId, SorguCumlesi) ";
            sql += " VALUES(GETDATE()," + kullaniciId + ",'" + strSql.Replace("'", "''") + "') ";
            this.ExecuteInsertUpdateDelete(sql);
        }
 
        private bool disposed = false; // to detect redundant calls
 
        protected virtual void Dispose(bool disposing)
        {
            if (!disposed)
            {
                if (disposing)
                {
                    if (this._baglanti != null)
                    { this._baglanti.Dispose(); }
                    if (this.SqlCommand != null)
                    { this.SqlCommand.Dispose(); }
                    if (this._dataSet != null)
                    { this._dataSet.Dispose(); }
                    if (this._sqlDataReader != null)
                    { this._sqlDataReader.Dispose(); }
                    if (this._sqlDataAdapter != null)
                    { this._sqlDataAdapter.Dispose(); }
                    if (this.SqlTransaction != null)
                    { this.SqlTransaction.Dispose(); }
                }
                disposed = true;
            }
        }
        #endregion Private Methods
 
        #region Public Methods
        /// <summary>
        /// 
        /// </summary>
        /// <returns></returns>
        public SqlConnection kapatBaglanti(SqlTransaction trn, SqlCommand cmd)
        {
            if (this._baglanti.State == ConnectionState.Open)
            {
                this._baglanti.Close();
            }
            if (trn != null)
            {
                trn.Dispose();
            }
            if (cmd != null)
            {
                cmd.Dispose();
                cmd = null;
            }
            return this._baglanti;
        }
 
        /// <summary>
        /// 
        /// </summary>
        /// <param name="spIsim"></param>
        /// <param name="spParametre"></param>
        /// <returns></returns>
        public DataTable ReturnDataTable(string spIsim, SqlParameter spParametre)
        {
            try
            {
                baglantiKontrol(); // Aciksa zaten tekrar acmiyor...
                this.SqlCommand = new SqlCommand()
                {
                    Connection = this._baglanti,
                    CommandType = CommandType.StoredProcedure,
                    CommandText = spIsim
                };
                if (this.SqlTransaction != null)
                {
                    this.SqlCommand.Transaction = this.SqlTransaction;
                }
                if (spParametre != null)
                    this.SqlCommand.Parameters.Add(spParametre);
 
                this._sqlDataAdapter = new SqlDataAdapter(this.SqlCommand);
                DataTable dt = new DataTable();
                this._sqlDataAdapter.Fill(dt);
                return dt;
            }
            catch (Exception Ex)
            {
                throw Ex;
            }
            finally
            {
                kapatBaglanti(this.SqlTransaction, this.SqlCommand);
            }
        }
 
        /// <summary>
        /// 
        /// </summary>
        /// <param name="spIsim"></param>
        /// <param name="spParametreleri"></param>
        /// <returns></returns>
        public DataTable ReturnDataTable(string spIsim, List<SqlParameter> spParametreleri)
        {
            try
            {
                baglantiKontrol(); // Aciksa zaten tekrar acmiyor...
                this.SqlCommand = new SqlCommand()
                {
                    Connection = this._baglanti,
                    CommandType = CommandType.StoredProcedure,
                    CommandText = spIsim
                };
                foreach (SqlParameter param in spParametreleri)
                {
                    this.SqlCommand.Parameters.Add(param);
                }
                this._sqlDataAdapter = new SqlDataAdapter(this.SqlCommand);
                DataTable dt = new DataTable();
                this._sqlDataAdapter.Fill(dt);
                return dt;
            }
            catch (Exception Ex)
            {
                throw Ex;
            }
            finally
            {
                kapatBaglanti(this.SqlTransaction, this.SqlCommand);
            }
        }
 
        /// <summary>
        /// 
        /// </summary>
        /// <param name="spIsim"></param>
        /// <param name="spParametreleri"></param>
        /// <returns></returns>
        public DataSet ReturnDataSet(string spIsim, SqlParameter spParametre)
        {
            try
            {
                baglantiKontrol(); // Aciksa zaten tekrar acmiyor...
                this.SqlCommand = new SqlCommand()
                {
                    Connection = this._baglanti,
                    CommandType = CommandType.StoredProcedure,
                    CommandText = spIsim
                };
                if (spParametre != null)
                    this.SqlCommand.Parameters.Add(spParametre);
 
                this._sqlDataAdapter = new SqlDataAdapter(this.SqlCommand);
 
                this._dataSet = new DataSet();
                this._dataSet.Reset();
                this._sqlDataAdapter.Fill(this._dataSet);
                return this._dataSet;
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                kapatBaglanti(this.SqlTransaction, this.SqlCommand);
            }
        }
 
        /// <summary>
        /// 
        /// </summary>
        /// <param name="spIsim"></param>
        /// <param name="spParametreleri"></param>
        /// <returns></returns>
        public DataSet ReturnDataSet(string spIsim, List<SqlParameter> spParametreleri)
        {
            try
            {
                baglantiKontrol(); // Aciksa zaten tekrar acmiyor...
                this.SqlCommand = new SqlCommand()
                {
                    Connection = this._baglanti,
                    CommandType = CommandType.StoredProcedure,
                    CommandText = spIsim
                };
                foreach (SqlParameter param in spParametreleri)
                {
                    this.SqlCommand.Parameters.Add(param);
                }
                this._sqlDataAdapter = new SqlDataAdapter(this.SqlCommand);
 
                this._dataSet = new DataSet();
                this._dataSet.Reset();
                this._sqlDataAdapter.Fill(this._dataSet);
                return this._dataSet;
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                kapatBaglanti(this.SqlTransaction, this.SqlCommand);
            }
        }
 
        /// <summary>
        /// Baglantiyi cagiran metot kapatacak...
        /// </summary>
        /// <param name="spIsim"></param>
        /// <param name="spParametre"></param>
        /// <returns></returns>
        public int ExecuteInsertUpdateDelete(string spIsim, SqlParameter spParametre)
        {
            int etkilenenKayitSayisi = 0;
            try
            {
                baglantiKontrol();
                this.SqlCommand = new SqlCommand()
                {
                    Connection = this._baglanti,
                    CommandType = CommandType.StoredProcedure,
                    CommandText = spIsim,
                    Transaction = this.SqlTransaction
                };
                this.SqlCommand.Parameters.Add(spParametre);
                etkilenenKayitSayisi = this.SqlCommand.ExecuteNonQuery();
                if (etkilenenKayitSayisi == 0)
                {
                    string strParametreler = spParametre.ParameterName + "|" + spParametre.Value;
                    throw new Exception("Ekleme/Guncelleme/Silme islemi tamamlanamadi.(" + strParametreler + ")");
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                //this.SqlCommand.Dispose();
                //this.SqlCommand = null;
                //kapatBaglanti();
            }
            return etkilenenKayitSayisi;
        }
 
        /// <summary>
        /// Baglantiyi cagiran metot kapatacak...
        /// </summary>
        /// <param name="spIsim"></param>
        /// <param name="spParametreleri"></param>
        /// <returns></returns>
        public int ExecuteInsertUpdateDelete(string spIsim, List<SqlParameter> spParametreleri)
        {
            int etkilenenKayitSayisi = 0;
            try
            {
                baglantiKontrol();
                this.SqlCommand = new SqlCommand()
                {
                    Connection = this._baglanti,
                    CommandType = CommandType.StoredProcedure,
                    CommandText = spIsim,
                    Transaction = this.SqlTransaction
                };
                foreach (SqlParameter param in spParametreleri)
                {
                    this.SqlCommand.Parameters.Add(param);
                }
                etkilenenKayitSayisi = this.SqlCommand.ExecuteNonQuery();
                if (etkilenenKayitSayisi == 0)
                {
                    string strParametreler = String.Join("#", spParametreleri.Select(o => (o.ParameterName + "|" + o.Value)));
                    throw new Exception("Ekleme/Guncelleme/Silme islemi tamamlanamadi.(" + strParametreler + ")");
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                //this.SqlCommand.Dispose();
                //this.SqlCommand = null;
                //kapatBaglanti();
            }
            return etkilenenKayitSayisi;
        }
 
        /// <summary>
        /// 
        /// </summary>
        /// <param name="strSql"></param>
        /// <returns></returns>
        public DataSet ReturnDataSet(string strSql)
        {
            try
            {
                baglantiKontrol(); // Aciksa zaten tekrar acmiyor...
                this._sqlDataAdapter = new SqlDataAdapter(strSql, this._baglanti);
                this._dataSet = new DataSet();
                this._dataSet.Reset();
                this._sqlDataAdapter.Fill(this._dataSet);
                return this._dataSet;
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                kapatBaglanti(this.SqlTransaction, this.SqlCommand);
            }
        }
 
        /// <summary>
        /// 
        /// </summary>
        /// <param name="strSql"></param>
        /// <returns></returns>
        public DataTable ReturnDataTable(string strSql, int kullaniciId)
        {
            this.SqlCommand = new SqlCommand();
            try
            {
                baglantiKontrol(); // Aciksa zaten tekrar acmiyor...
                this.SqlCommand.Connection = this._baglanti; // acBaglanti();
                this.SqlCommand.CommandText = strSql;
                if (this.BeklemeSuresiSaniye > 0)
                {
                    this.SqlCommand.CommandTimeout = this.BeklemeSuresiSaniye;
                }
                this._sqlDataAdapter = new SqlDataAdapter(this.SqlCommand);
                DataTable dt = new DataTable();
                this._sqlDataAdapter.Fill(dt);
                return dt;
            }
            catch (Exception Ex)
            {
                sorguyuLogla(strSql, kullaniciId);
                throw Ex;
            }
            finally
            {
                kapatBaglanti(this.SqlTransaction, this.SqlCommand);
            }
        }
 
        /// <summary>
        /// Baglantiyi cagiran metot kapatacak...
        /// </summary>
        /// <param name="strSql"></param>
        public int ExecuteInsertUpdateDelete(string strSql)
        {
            int etkilenenKayitSayisi = 0;
            try
            {
                baglantiKontrol(); // Aciksa zaten tekrar acmiyor...
                this.SqlCommand = new SqlCommand()
                {
                    Connection = this._baglanti,
                    CommandType = CommandType.Text,
                    CommandText = strSql
                };
                etkilenenKayitSayisi = this.SqlCommand.ExecuteNonQuery();
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                //this.SqlCommand.Dispose();
                //this.SqlCommand = null;
                //kapatBaglanti();
            }
            return etkilenenKayitSayisi;
        }
 
        /// <summary>
        /// Baglantiyi cagiran metot kapatacak...
        /// </summary>
        /// <param name="strSql"></param>
        /// <returns></returns>
        public SqlDataReader ReturnDataReader(string strSql)
        {
            try
            {
                baglantiKontrol(); // Aciksa zaten tekrar acmiyor...
                this.SqlCommand = new SqlCommand()
                {
                    Connection = this._baglanti,
                    CommandType = CommandType.Text,
                    CommandText = strSql
                };
                this._sqlDataReader = this.SqlCommand.ExecuteReader();
                return this._sqlDataReader;
 
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                //this.SqlCommand.Dispose();
                //this.SqlCommand = null;
                //kapatBaglanti();
            }
        }
 
        /// <summary>
        /// 
        /// </summary>
        public void Dispose()
        {
            Dispose(true);
            GC.SuppressFinalize(this);
        }
 
        #endregion Public Methods
    }
     
        /// <summary>
    /// 
    /// </summary>
    [Serializable]
    public enum VeritabaniSecimleri : byte
    {
        /// <summary>
        /// Hiçbiri
        /// </summary>
        Hicbiri = 0,
 
        /// <summary>
        /// Birinci veritabani.
        /// </summary>
        Veritabani_1 = 1,
 
        /// <summary>
        /// Ikinci veritabani.
        /// </summary>
        Veritabani_2 = 2,
    }
}
 
Select sorgularını aşağıdaki şekilde kullanabiliriz:
DataTable dtParametre = null;
using (VeritabaniIslemleri vtIslem = new VeritabaniIslemleri(VeritabaniSecimleri.Veritabani_1))
{
SqlParameter parametre = new SqlParameter() { ParameterName = "@ParametreAdi", Value = parametreAdi, Direction = ParameterDirection.Input, DbType = DbType.String };
dtParametre = vtIslem.ReturnDataTable("GETIRPARAMETRE", parametre);
}
 
ya da 
DataTable dt1;
using (VeritabaniIslemleri vtIslem = new VeritabaniIslemleri(VeritabaniSecimleri.Veritabani_2))
vtIslem.BeklemeSuresiSaniye = 120;
dt1= vtIslem.ReturnDataTable(strSql, kullanici.Id);
}
 
Güncelleme/Silme/Ekleme sorgularını da aşağıdaki şekilde kullanabiliriz:
VeritabaniIslemleri vtIslem = new VeritabaniIslemleri(IsolationLevel.ReadUncommitted, VeritabaniSecimleri.Veritabani_2); ;
try
{
// Herhangi bir guncelleme isleminde hata olusursa Exception bloguna gidecegi icin, ya tum islemler gerceklesecek,
// ya da hic biri gerceklesmeyecek.
List<SqlParameter> lstParametreler = new List<SqlParameter>();
lstParametreler.Add(new SqlParameter() { ParameterName = "@Id", Value = Id, Direction = ParameterDirection.Input, DbType = DbType.Int32 });
lstParametreler.Add(new SqlParameter() { ParameterName = "@Id", Value = Id, Direction = ParameterDirection.Input, DbType = DbType.Int32 });
int etkilenenKayitSayisi = vtIslem.ExecuteInsertUpdateDelete("MUSTERIGUNCELLE", lstParametreler);
lstParametreler = new List<SqlParameter>();
lstParametreler.Add(new SqlParameter() { ParameterName = "@Id", Value = Id, Direction = ParameterDirection.Input, DbType = DbType.Int32 });
etkilenenKayitSayisi = vtIslem.ExecuteInsertUpdateDelete("ADRESGUNCELLE", lstParametreler);
vtIslem.SqlTransaction.Commit();
}
catch (Exception ex)
{
vtIslem.SqlTransaction.Rollback();
throw new Exception("İşlem tamamlanamadı!(" + ex.Message + ")");
}
finally
{
vtIslem.kapatBaglanti(vtIslem.SqlTransaction, vtIslem.SqlCommand);
}
 
Saygılar...
# Kategoriler : C# Sql Server Yazılım
# Etiketler : Etiket Yok
# Yorumlar : 0 Yorum Yorum Yaz

Selamlar...

SQL Server'dan e-posta gönderebilmek için aşağıdaki şekilde ayar yapmamız gerekiyor.

Daha sonra bir veritabanı işi oluşturup, bu ayarları kullanarak e-posta gönderebileceğiz.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Saygılar...

# Kategoriler : Sql Server Veritabanı
# Etiketler : Etiket Yok
# Yorumlar : 0 Yorum Yorum Yaz

Selamlar...
Veritabanında e-posta ayarlarını yapmıştık. İlgili yazıya buradan ulaşılabilir. 
Peki bu ayarları nasıl kullanacağız?
Gerçek bir örnek verelim.
Bir firmada çalışıyorsunuz ve o gün doğum günü olan bir çalışan varsa tebrik mesajı atılması gerekiyor.
Adi, Soyadi, Aktif ve DogumTarihi alanlarından oluşan bir PERSONEL tablomuz olsun.
Her gün çalışacak bir veritabanı işi yazalım.
Bu iş o gün doğum günü olanları bulup otomatik doğum günü tebrik mesajı yollayacak.
Burada kritik noktalardan birisi <img src="cid:DogumGunu.jpg" /> ifadesi. Resmin yolunu parametre kısmında veriyoruz. Mesajın içerisinde ise id'sini veriyoruz. Diğer türlü resim gözükmeyebiliyor.
Bir diğer dikkat edilmesi gereken kısım da, isimlerin sonuna eklediğimiz ek. Bütün isimlerin sonuna aynı ek ifadesini eklemek çok hoş olmuyor. Ahmet Yıldız'in, Nurettin Küpür'in,...vs yerine uygun eki buluyoruz.
 
DECLARE @tableHTML NVARCHAR(MAX) ;
DECLARE @gununTarihi DATE ;
DECLARE @personelCursor CURSOR ;
DECLARE @personelAdiSoyadi NVARCHAR(100) = '';
DECLARE @adSoyadTumu NVARCHAR(250) = '';
DECLARE @ekKismi NVARCHAR(3) = '';
DECLARE @sonHarf NVARCHAR(1) = '';
DECLARE @toplamUzunluk INT = 0;
DECLARE @strGecici NVARCHAR(250) = '';
 
SET @gununTarihi = CONVERT(DATE, GETDATE(), 103) 
SET @personelCursor = CURSOR FAST_FORWARD 
    FOR SELECT p.Adi + ' ' + p.Soyadi As PersonelAdiSoyadi
        FROM   dbo.PERSONEL p 
        Where DATEPART(MONTH, p.DogumTarihi) = DATEPART(MONTH, @gununTarihi)
        And DATEPART(DAY, p.DogumTarihi) = DATEPART(DAY, @gununTarihi)
        And p.Aktif = 1
 
    OPEN @personelCursor 
         
    FETCH NEXT FROM @personelCursor INTO @personelAdiSoyadi
 
    WHILE @@FETCH_STATUS = 0 
      BEGIN
        SET @adSoyadTumu = @adSoyadTumu + ', ' + @personelAdiSoyadi
        FETCH NEXT FROM @personelCursor INTO @personelAdiSoyadi
      END
    CLOSE @personelCursor
    DEALLOCATE @personelCursor 
    IF (@adSoyadTumu <> '')
        BEGIN
        Set @adSoyadTumu = SUBSTRING(@adSoyadTumu, 3, LEN(@adSoyadTumu)-2);
        Set @toplamUzunluk = LEN(@adSoyadTumu);
        Set @sonHarf = SUBSTRING(@adSoyadTumu, @toplamUzunluk, 1);
        If (UPPER(@sonHarf) = 'A' Or UPPER(@sonHarf) = 'I') 
            Begin
                Set @ekKismi = 'nın';
            End
        Else If (UPPER(@sonHarf) = 'E' Or UPPER(@sonHarf) = 'İ') 
            Begin
                Set @ekKismi = 'nin';
            End
        Else If (UPPER(@sonHarf) = 'O' Or UPPER(@sonHarf) = 'U') 
            Begin
                Set @ekKismi = 'nun';
            End
        Else If (UPPER(@sonHarf) = 'Ö' Or UPPER(@sonHarf) = 'Ü') 
            Begin
                Set @ekKismi = 'nün';
            End
        Else
            Begin
                Set @strGecici = @adSoyadTumu;
                SET @toplamUzunluk = LEN(@strGecici); 
                WHILE (@toplamUzunluk > 1)
                   BEGIN   
                         SELECT
                            @strGecici = LEFT(@strGecici, @toplamUzunluk - 1); 
                            SET @toplamUzunluk = LEN(@strGecici); 
                            Set @sonHarf = SUBSTRING(@strGecici, @toplamUzunluk, 1);
                            If (UPPER(@sonHarf) = 'A' Or UPPER(@sonHarf) = 'I') 
                                Begin
                                    Set @ekKismi = 'ın';
                                    Break;
                                End
                            Else If (UPPER(@sonHarf) = 'E' Or UPPER(@sonHarf) = 'İ') 
                                Begin
                                    Set @ekKismi = 'in';
                                    Break;
                                End
                            Else If (UPPER(@sonHarf) = 'O' Or UPPER(@sonHarf) = 'U') 
                                Begin
                                    Set @ekKismi = 'un';
                                    Break;
                                End
                            Else If (UPPER(@sonHarf) = 'Ö' Or UPPER(@sonHarf) = 'Ü') 
                                Begin
                                    Set @ekKismi = 'ün';
                                    Break;
                                End
                   END
            End
        SET @tableHTML =
            N'<html><head></head><body>' +
            N'    <table style="width: 100%;">' +
            N'        <tr><td style="text-align:center"><img src="cid:DogumGunu.jpg" /></td></tr>' +
            N'        <tr><td style="text-align:center; font-family:''Monotype Corsiva''; font-size:x-large">' +
            N'            Bugün ' + @adSoyadTumu + '''' + @ekKismi + ' doğum günü...<br />' +
            N'            Doğum gününüzü kutlar,<br />' +
            N'            sevdiklerinizle birlikte<br />' +
            N'          daha nice mutlu yıllar geçirmenizi dileriz...' +
            N'            </td></tr>' +
            N'        <tr><td style="text-align:center; font-size:28.0pt;font-family:''Impact'',sans-serif; color:maroon">' +
            N'            <i>~ İnsan Kaynakları ~</i>' +
            N'            </td></tr>' +
            N'    </table>' +
            N'</body></html>' ;
     
            EXEC msdb.dbo.sp_send_dbmail
            @profile_name = 'otomatik',
            @recipients = 'tumfirma@firmaadi.com.tr',
            @blind_copy_recipients = 'sizinadresiniz@firmaadi.com.tr',
            @body = @tableHTML,
            @body_format = 'HTML',
            @file_attachments = 'c:/VTResim/DogumGunu.jpg',
            @subject = 'Doğum Günü' ;
    END
GO
 

Bu Sql'i her gün çalışacak bir işin için eklemek de çok basit.

 

  

 

 

 

 

 

Saygılar...

# Kategoriler : Sql Server Veritabanı
# Etiketler : Etiket Yok
# Yorumlar : 0 Yorum Yorum Yaz

Selamlar...
Başlığı biraz daha açmak gerekebilir.
Misal MUSTERI isimli bir tablonuz var. Bu tabloyla bağlantılı, aralarında FOREIGN KEY ilişkisi olmayan bir çok tablonuz daha olsun.
MUSTERI tablosundaki bir MusteriNo değeri değiştiğinde ilişkili tablolarda da gerekli güncellemeyi yapmak lazım haliyle.
Peki hangi tabloda bu değer var nasıl buluruz kolayca?
İşte aşağıdaki şekilde bulabiliriz:
DECLARE @kolonAdi NVARCHAR(20);
DECLARE @tabloAdi NVARCHAR(50);
DECLARE @arananDeger NVARCHAR(50);
DECLARE @dinamikSql NVARCHAR(1000);
DECLARE @tabloCursor CURSOR
  
SET @kolonAdi = 'MusteriNo';
SET @arananDeger = '123456789';
  
SET @tabloCursor = CURSOR FAST_FORWARD
FOR SELECT table_name from INFORMATION_SCHEMA.COLUMNS
       WHERE TABLE_CATALOG = '[VeritabaniAdi]'
       AND COLUMN_NAME = @kolonAdi
       AND table_name LIKE '[IstegeBagliTabloOnEki]%'
  
       OPEN @tabloCursor
       FETCH NEXT FROM @tabloCursor INTO @tabloAdi
             WHILE @@FETCH_STATUS = 0
               BEGIN
                    SET @dinamikSql = ' SELECT ''' + @tabloAdi  + ''', tbl.* FROM [' + @tabloAdi + '] tbl'
                    SET @dinamikSql = @dinamikSql + ' WHERE tbl.[' + @kolonAdi + '] = ''' + @arananDeger + ''' ' ;
                          EXEC (@dinamikSql)
                    FETCH NEXT FROM @tabloCursor INTO @tabloAdi
               END
       CLOSE @tabloCursor;
       DEALLOCATE @tabloCursor;
GO
 
Burada diğer tablolarda da alanın adının MusteriNo olduğunu varsaydık.
Dilerseniz kolon adını LIKE ile aratıp içerisinde belirleyeceğimiz ifade geçen kolonları da aratabiliriz.
Bundan sonrası ihtiyaç ve hayal gücünüze kalmış.
 
Saygılar...
# Kategoriler : Sql Server Veritabanı
# Etiketler : Etiket Yok
# Yorumlar : 0 Yorum Yorum Yaz

Selamlar...
Sql Server'da indeksler zamanla parçalanıyor. Bu da okuma ve yazma hızını etkiliyor.   
Bunlara arada sırada bakım yapmak gerekiyor. Ancak bakımın da bazı kriterleri var. 
Misal, hergün indekslere rebuild işlemi uygulamak ve ayrıca tüm indekslere bunu uygulamak da doğru değil.
İnternette araştırdığım kadarıyla genel yaklaşım, indeks'in ortalama bozulma oranı ve sayfa sayısına göre uygun bir çözüm bulmak yönünde. 
Sadece indeks oranı yeterli değil, ReBuild ya da ReOrganize için. Kayıt sayısı da önemli. Kayıt sayısı az olan tablolarda mesela bu değer büyük. 
Ancak  sayfa sayısı 1.000 küçükse işlem yapmaya çok da gerek olmayabilir. (https://technet.microsoft.com/en-us/library/cc966523.aspx)
http://www.turgaysahtiyan.com adresinde bir store prosedür buldum. Parçalanma oranına göre Rebuild ya da ReOrganize yapıyor. Gayet temiz ve iş gören bir script.
Aslında bu işin otoritesi Ola Hallengren diye biri sanırım. İnternette herkes onun hazırladığı bakım scriptinden bahsediyor. 
Hatta http://sqlskills.com/ sitesinden bir yönetici ile yazıştım birkaç soru sormak için, o bile direkt bunu söyledi.
Her şeyi yapıyor, fakat çok karışık. (https://ola.hallengren.com/sql-server-index-and-statistics-maintenance.html). O yüzden ilk script üzerinden gitmeyi tercih ettim.
Bu scripte istatistik, kayıt sayısı kontrolü ve sonuç raporu ile ilgili eklemeler yaptim.
İstatistik de performansı etkileyen bir unsur bazı durumlarda. Bir sorgu çalışmadan evvel SQL Server, kaç kayıt döneceğini hesaplamak için kullanıyor. 
Ona göre tabloyu okuyor. Aslında ReBuild işlemi ilgili indekse ait istatistiği de güncelliyor, fakat burada şunlar aklımıza geliyor:
1- ReOrganize yaptığımız indekslere ait istatistikleri güncellememiz gerekmiyor mu?
2- Rebuild sadece indekslere ait istatistikleri güncelliyor, ya tabloya ait indeks olmayan kolonlara ait istatistikler ne olacak?
Bu sorulara farklı kaynaklardan bulduğum cevapları harmanlayarak scriptte düzenlemeler yaptım.
Öncelikle bozulma oranının yanında sayfa sayısı da önemli olduğundan sayfa sayısı 1.000'den düşük olanlarda indekslere herhangi bir işlem yapmıyorum.
- İndeks ReBuild işleminden sonra istatistikleri güncellemekle ilgili herhangi bir işleme gerek yok.
- İndeks ReOrganize işleminden sonra istatistikleri güncelliyorum.
- Her iki işleme de tabi tutulmamış indeksler için de sadece istatistikleri güncelliyorum.
- İndekslerle ilgili işlem bittikten sonra da içerisinde kayıt olan tüm tabloları dolaşarak, sadece kolon istatistiklerini güncelliyorum.
- Tüm işlemler bittikten sonra da yetkili kişiye e-posta yolluyorum.
Bu işlem çok miktarda RAM tüketiyor. Sql Server'ın ilginç bir özelliği de RAM'i kullandıktan sonra işi bitse de bırakmıyor. Ancak RAM'e ihtiyaç duyan bir
iş çalışırsa işletim sistemi bırakmaya zorluyor. Ancak RAM'in bu şekilde yüksek gözükmesi herhangi bir performans sorununun işareti değil. 
SQL Server sadece alıkoyuyor, kullanmıyor aslında işi bitince.
Bunun haftada bir çalışması yeterli gibi görünüyor başlangıçta. Zaten bir süre sonra işlediği kayıt sayısında azalma olmasını bekleriz en azından indekslerde.
Ancak istatistikleri her hafta güncellemek işlem zamanını çok artırıyor. 
Sql Server veritabanının ayarı da AUTO_CREATE_STATISTICS->on ve AUTO_UPDATE_STATISTICS->on ise istatistikleri her hafta güncellemek çok da elzem değil gibi.
Bu sebeple scripte ayın başı olup olmadığını kontrol etme şartı ekledim.
Eğer script ayın ilk haftası çalışıyorsa istatistikleri de güncelliyor, değilse sadece indekslerle ilgileniyor.
 
IF OBJECT_ID('INDEKS_ISTATISTIK_BAKIMI', 'P') IS NOT NULL
  DROP PROCEDURE INDEKS_ISTATISTIK_BAKIMI 
GO 
 
CREATE PROC [INDEKS_ISTATISTIK_BAKIMI] @DBName VARCHAR(100) 
AS
  BEGIN
      SET NOCOUNT ON; 
      DECLARE @OBJECT_ID            INT, 
              @INDEX_NAME           SYSNAME, 
              @SCHEMA_NAME          SYSNAME, 
              @OBJECT_NAME          SYSNAME, 
              @AVG_FRAG             FLOAT, 
              @FRAG_COUNT           BIGINT, 
              @sqlCommand           NVARCHAR(MAX), 
              @sqlCommandIndex      NVARCHAR(MAX), 
              @sqlCommandStats      NVARCHAR(MAX), 
              @rebuildCount         INT, 
              @reOrganizeCount      INT,
              @indexStatsCount      INT, 
              @kolonStatsCount      INT, 
              @reOrganizeStatsCount INT, 
              @tableName            SYSNAME, 
              @schemaName           SYSNAME, 
              @msgContent           NVARCHAR(MAX),
              @msgHeader            NVARCHAR(MAX),
              @dStart               DATETIME,
              @dFinish              DATETIME,
              @ayinKacinciHaftasi   INT
      CREATE TABLE #tempIM 
        ( 
           [ID]             [INT] IDENTITY(1, 1) NOT NULL PRIMARY KEY, 
           [INDEX_NAME]     SYSNAME NULL, 
           [OBJECT_ID]      INT NULL, 
           [SCHEMA_NAME]    SYSNAME NULL, 
           [OBJECT_NAME]    SYSNAME NULL, 
           [AVG_FRAG]       FLOAT,
           [FRAG_COUNT]     BIGINT
        ) 
      SELECT @rebuildCount = 0, 
             @reOrganizeCount = 0,
             @indexStatsCount = 0,
             @reOrganizeStatsCount = 0,
             @kolonStatsCount = 0;
      SELECT @msgContent = '',
             @sqlCommand = '',
             @sqlCommandIndex = '',
             @sqlCommandStats = '';  
      SET @ayinKacinciHaftasi = (SELECT DATEPART(DAY, DATEDIFF(DAY, 0, GETDATE())/7 * 7) / 7 + 1);
      SELECT @msgHeader = '<html><head><style type="text/css">table.tblMesaj {font-family: verdana,arial,sans-serif;font-size:11px;color:#333333;border-width: 1px;border-color: #666666;border-collapse: collapse;}' ;
      SET @msgHeader = @msgHeader + 'table.tblMesaj th {border-width: 1px;padding: 8px;border-style: solid;border-color: #666666;background-color: #dedede;}' ;  
      SET @msgHeader = @msgHeader + 'table.tblMesaj td {border-width: 1px;padding: 8px;border-style: solid;border-color: #666666;background-color: #ffffff;}</style></head><body>' ;
      SET @msgHeader = @msgHeader + '<table class="tblMesaj"><tr><th colspan="2">İNDEKS - İSTATİSTİK BAKIMI SONUÇLARI</th></tr>' ;
      SET @dStart = GETDATE();
       
      SELECT @sqlCommand = 'USE ' + @DBName + '; INSERT INTO #tempIM (OBJECT_ID, INDEX_NAME, SCHEMA_NAME, OBJECT_NAME, AVG_FRAG, FRAG_COUNT) ';
      SET @sqlCommand = @sqlCommand + ' SELECT ps.object_id, i.name as IndexName, OBJECT_SCHEMA_NAME(ps.object_id) as ObjectSchemaName, OBJECT_NAME (ps.object_id) as ObjectName, ';
      SET @sqlCommand = @sqlCommand + ' ps.avg_fragmentation_in_percent, ps.fragment_count FROM sys.dm_db_index_physical_stats (NULL, NULL, NULL , NULL, ''LIMITED'') ps INNER JOIN sys.indexes i ';
      SET @sqlCommand = @sqlCommand + ' ON i.object_id = ps.object_id and i.index_id = ps.index_id WHERE ps.index_id > 0 and ps.database_id = DB_ID(''' + @DBName + ''') ORDER BY avg_fragmentation_in_percent desc ' ;     
      EXEC(@sqlCommand) ; 
      
      SELECT @sqlCommandIndex = 'USE ' + @DBName + '; ';
      DECLARE c CURSOR FAST_FORWARD FOR
        SELECT OBJECT_ID, 
               INDEX_NAME, 
               SCHEMA_NAME, 
               OBJECT_NAME, 
               AVG_FRAG,
               FRAG_COUNT
        FROM   #tempIM 
      OPEN c 
      FETCH NEXT FROM c INTO @OBJECT_ID, @INDEX_NAME, @SCHEMA_NAME, @OBJECT_NAME, @AVG_FRAG, @FRAG_COUNT 
      WHILE @@FETCH_STATUS = 0 
        BEGIN
            -- Reorganize veya Rebuild İşlemi.
            IF @AVG_FRAG > 30 AND @FRAG_COUNT > 1000 
              BEGIN
                  SET @sqlCommandIndex = @sqlCommandIndex + ' ALTER INDEX [' + @INDEX_NAME + '] ON [' + @SCHEMA_NAME + '].[' + @OBJECT_NAME + '] REBUILD WITH (ONLINE = ON);' ; 
                  SET @rebuildCount = @rebuildCount + 1 ;
              END
            ELSE -- Rebuild index istatistikleri de guncelliyor. Ancak reorganize istatistikleri guncellemiyor.
                IF @AVG_FRAG <= 30 AND @AVG_FRAG > 5 AND @FRAG_COUNT > 1000 
                    BEGIN
                          SET @sqlCommandIndex = @sqlCommandIndex + ' ALTER INDEX [' + @INDEX_NAME + '] ON [' + @SCHEMA_NAME + '].[' + @OBJECT_NAME + '] REORGANIZE;'
                          SET @sqlCommandStats = @sqlCommandStats + ' UPDATE STATISTICS [' + @SCHEMA_NAME + '].[' + @OBJECT_NAME + '] [' + @INDEX_NAME + '] WITH FULLSCAN, NORECOMPUTE;' ;  
                          SET @reOrganizeCount = @reOrganizeCount + 1 ; 
                          SET @reOrganizeStatsCount = @reOrganizeStatsCount + 1 ; 
                    END
                ELSE -- Kalanlari da ekleyelim. 
                    BEGIN
                          SET @sqlCommandStats = @sqlCommandStats + ' UPDATE STATISTICS [' + @SCHEMA_NAME + '].[' + @OBJECT_NAME + '] [' + @INDEX_NAME + '] WITH FULLSCAN, NORECOMPUTE;'; 
                          SET @indexStatsCount = @indexStatsCount + 1 
                    END
            FETCH NEXT FROM c INTO @OBJECT_ID, @INDEX_NAME, @SCHEMA_NAME, @OBJECT_NAME, @AVG_FRAG, @FRAG_COUNT  
        END
      CLOSE c 
      DEALLOCATE c 
      DROP TABLE #tempIM 
      EXEC (@sqlCommandIndex); 
      --PRINT 'indeksler tamamdır.';
-- Son olarak da indeksler haricindeki kolonlarin istatistiklerini guncelleyelim.
      IF (@ayinKacinciHaftasi = 1)
        BEGIN
          CREATE TABLE #tempIST 
            ( 
               [ID]             [INT] IDENTITY(1, 1) NOT NULL PRIMARY KEY, 
               [TABLE_NAME]     SYSNAME NULL, 
               [SCHEMA_NAME]    SYSNAME NULL
            ) 
           
          SELECT @sqlCommand = 'USE ' + @DBName + '; INSERT INTO #tempIST (TABLE_NAME, SCHEMA_NAME) ';
          SET @sqlCommand = @sqlCommand + ' SELECT t.NAME, s.Name FROM sys.tables t INNER JOIN sys.indexes i ON t.OBJECT_ID = i.object_id ';
          SET @sqlCommand = @sqlCommand + ' INNER JOIN sys.partitions p ON i.object_id = p.OBJECT_ID AND i.index_id = p.index_id ';
          SET @sqlCommand = @sqlCommand + ' INNER JOIN sys.allocation_units a ON p.partition_id = a.container_id ';
          SET @sqlCommand = @sqlCommand + ' LEFT OUTER JOIN sys.schemas s ON t.schema_id = s.schema_id ';
          SET @sqlCommand = @sqlCommand + ' WHERE t.NAME NOT LIKE ''dt%'' AND t.is_ms_shipped = 0 AND i.OBJECT_ID > 255 AND a.used_pages > 0 GROUP BY t.Name, s.Name' ;
          EXEC(@sqlCommand) ; 
           
          SELECT @sqlCommandStats = 'USE ' + @DBName + '; ' + @sqlCommandStats;
          DECLARE c2 CURSOR FAST_FORWARD FOR
            SELECT TABLE_NAME, SCHEMA_NAME FROM #tempIST
          OPEN c2 
          FETCH NEXT FROM c2 INTO @tableName, @schemaName 
          WHILE @@FETCH_STATUS = 0 
            BEGIN
                SET @sqlCommandStats = @sqlCommandStats + ' UPDATE STATISTICS [' + @schemaName + '].[' + @tableName + '] WITH FULLSCAN, COLUMNS;'; 
                SET @kolonStatsCount = @kolonStatsCount + 1 ;
                FETCH NEXT FROM c2 INTO @tableName, @schemaName   
            END
          CLOSE c2; 
          DEALLOCATE c2; 
          DROP TABLE #tempIST;
          EXEC (@sqlCommandStats);
          --PRINT 'kolonlar tamamdır.';
        END
         
      SELECT 'İşlem başarılı' AS RESULT ;
       
      SET @dFinish = GETDATE();
      SET @msgContent = @msgHeader + '<tr><td>Başlangıç zamanı</td><td>' + CAST(@dStart AS nvarchar(30)) + '</td></tr>'
                        + '<tr><td>Bitiş zamanı</td><td>' + CAST(@dFinish AS nvarchar(30)) + '</td></tr>'
                        + '<tr><td>Rebuild işlemine tabi tutulmuş indeks sayısı</td><td>' + CAST(@rebuildCount AS VARCHAR(5)) + '</td></tr>'
                        + '<tr><td>Reorganize işlemine tabi tutulmuş indeks sayısı</td><td>' + CAST(@reOrganizeCount AS VARCHAR(5)) + '</td></tr>'
                        + '<tr><td>Reorganize işlemine tabi tutulmuş indekslere ait güncellenen istatistik sayısı</td><td>' + CAST(@reOrganizeStatsCount AS VARCHAR(5)) + '</td></tr>'
                        + '<tr><td>Rebuild/Reorganize işlemine tabi tutulmamış indekslere ait güncellenen istatistik sayısı</td><td>' + CAST(@indexStatsCount AS VARCHAR(5)) + '</td></tr>'
                        + '<tr><td>İndeks olmayan güncellenen kolon istatistik sayısı</td><td>' + CAST(@kolonStatsCount AS VARCHAR(5)) + '</td></tr></table></body></html>'
 
      EXEC msdb.dbo.sp_send_dbmail
            @profile_name = 'bt_noreply',
            @recipients = 'isminiz@firmadi.com.tr',
            @blind_copy_recipients = 'ikinciisim@firmadi.com.tr',
            @body = @msgContent,
            @body_format = 'HTML',
            @subject = 'İndeks-İstatistik Bakım' ;
 
  END
 
Bu prosedürü oluşturduktan sonra her hafta çalışan bir iş tanımlayıp çağırmak yeterli.
EXEC master.dbo.INDEKS_ISTATISTIK_BAKIMI 'VeritabaniAdi'
Saygılar...
# Kategoriler : Sql Server Veritabanı
# Etiketler : Etiket Yok
# Yorumlar : 0 Yorum Yorum Yaz

Selamlar...
Microsoft Dynamics NAV ERP uygulamasının kullandığı veritabanının bir yedeğini de farklı bir sunucuya yükleyerek, bir test sunucusu oluşturabiliriz.
Yedek dosyasını sunucuya yükleme işleminde özel bir durum yok, ancak bu yükleme işleminden sonra Navision uygulamasından veritabanına bağlanamıyoruz.
Çünkü kullanıcıların oluşturulması gerekiyor.
İşte bu ihtiyaç için, gerçek ortamdaki veritabanı sunucusundan kullanıcı bilgilerini alıp test sunucusuna oluşturan bir script yazdım.
Test sunucunuza gerçek ortam ortam sunucunuzu "Linked Server" olarak eklemek gerekiyor öncelikle.
Sonra da bu scripti çalıştırdığınızda, root seviyedeki kullanıcıları varsa silip tekrar oluşturuyor ve NAVISION veritabanına database_owner olarak rol tanımlıyor.
DECLARE @strSql NVARCHAR(MAX);
DECLARE @kullaniciAdi SYSNAME;
DECLARE @kullaniciSifre NVARCHAR(MAX);
DECLARE @kullaniciCursor CURSOR;
 
SET @strSql = '';
SET @kullaniciCursor = CURSOR FAST_FORWARD 
    FOR
        -- Gercek ortamdaki sunucuyu [Server Objects -> Linked Servers] altina ekledik. Oradan guncel kullanici bilgisini aliyoruz.
        SELECT SP.name, CONVERT(NVARCHAR(MAX), SL.password_hash, 1) 
            FROM [GercekNavisionSunucusu].master.sys.server_principals AS SP
                LEFT OUTER JOIN [GercekNavisionSunucusu].master.sys.sql_logins AS SL ON SP.principal_id = SL.principal_id
        WHERE SP.type_desc = 'SQL_LOGIN'
            AND SP.name NOT LIKE '##%##'
            AND SP.name IN ('Kullanici1', 'Kullanici2', 'Kullanici3', 'Kullanici4'); -- Sadece belirli kullanicilari olusturalim.
 
    -- Buldugumuz kullanicilar icinde dolasiyoruz.
    OPEN @kullaniciCursor 
    FETCH NEXT FROM @kullaniciCursor INTO @kullaniciAdi, @kullaniciSifre
 
    WHILE @@FETCH_STATUS = 0 
      BEGIN
        SELECT @strSql =  @strSql + 
            -- Bazi kullanicilara ait semalar var(kullanici adiyla ayni), bu durumda kullaniciyi silemiyor. Once onlarin dbo yapalim.
            ' IF EXISTS (SELECT name FROM sys.schemas WHERE name = N''' + @kullaniciAdi + ''') ' +
            ' BEGIN ALTER AUTHORIZATION ON SCHEMA::' + @kullaniciAdi + ' TO dbo END; ' +
 
            -- Sonra eger varsa, ana seviyedeki kullanicilari silip tekrar guncel sifreleriyle olusturalim.  
            ' IF(SUSER_ID(' + QUOTENAME(@kullaniciAdi, '''') + ') IS NOT NULL) BEGIN DROP LOGIN ' + QUOTENAME(@kullaniciAdi) + ' END;' +
            ' CREATE LOGIN ' + QUOTENAME(@kullaniciAdi) +
            ' WITH PASSWORD = ' + @kullaniciSifre + ' HASHED; ' +
 
            -- Veritabani seviyesindeki kullaniciyi da silelim ve yeniden yukaridaki giris kullanicisiyla eslesmis sekilde olusturalim.
            ' USE NAVISION; IF (EXISTS (SELECT * FROM sys.database_principals WHERE name = N''' + @kullaniciAdi + ''')) BEGIN DROP USER [' + @kullaniciAdi + '] END; ' +
            ' CREATE USER [' + @kullaniciAdi + '] FOR LOGIN [' + @kullaniciAdi + '] WITH DEFAULT_SCHEMA = [dbo]; ' + 
            ' USE NAVISION; EXEC sp_addrolemember N''db_owner'', N''' + @kullaniciAdi + '''; ' + CHAR(10);
        FETCH NEXT FROM @kullaniciCursor INTO @kullaniciAdi, @kullaniciSifre
      END
    CLOSE @kullaniciCursor;
    DEALLOCATE @kullaniciCursor; 
    --PRINT (@strSql);
    IF (@strSql <> '')
        BEGIN
            EXEC(@strSql) ; 
        END
    GO
 
Test sunucusuna NAVISION veritabanını ilk defa yüklüyorsanız, içerisinde 4616 geçen bir hata aldıysanız, öncelikle SQL Server Configuration Manager'dan Startup parametrelerine -4616 parametresini eklemeniz gerekiyor.
Sonra da aşağıdaki scripti çalıştırmanız gerekiyor.
USE [master]
GO
 
/****** Object:  ExtendedStoredProcedure [dbo].[xp_ndo_enumusergroups]    Script Date: 11.04.2015 09:00:41 ******/
EXEC dbo.sp_addextendedproc N'[dbo].[xp_ndo_enumusergroups]'
    ,'C:\Program Files\Microsoft SQL Server\MSSQL11.LOCALDB2\MSSQL\Binn\xp_ndo_x64.dll'
GO
/*========================*/
USE [master]
GO
 
/****** Object:  ExtendedStoredProcedure [dbo].[xp_ndo_enumusersids]    Script Date: 11.04.2015 09:00:52 ******/
EXEC dbo.sp_addextendedproc N'[dbo].[xp_ndo_enumusersids]'
    ,'C:\Program Files\Microsoft SQL Server\MSSQL11.LOCALDB2\MSSQL\Binn\xp_ndo_x64.dll'
GO
/*========================*/
GRANT EXECUTE
    ON [xp_ndo_enumusergroups]
    TO PUBLIC
GO
/*========================*/
GRANT EXECUTE
    ON [xp_ndo_enumusersids]
    TO PUBLIC
GO
 
-- Yukaridaki DLL'e Everyone yetkisi de verdim. Baska bir yerde okudugum bir oneriye istinaden.
-- DLL'lerin ilgili dizinlerde olmasi lazim.
-- SQL Server Configuration Manager acilip, bizim Sql Server sunucusunu secip, Advanced sekmesinde
---- Startup Parameters kismina cift tiklayarak sonuna ";-t4616" ekliyoruz.
 
Saygılar...
# Kategoriler : Navision Veritabanı
# Etiketler : Etiket Yok
# Yorumlar : 0 Yorum Yorum Yaz

Selamlar...

NSIS kullanımı ile ilgili hazırladığım dokümana http://www.divshare.com/download/3127874-8c7adresinden ulaşabilirsiniz.

NSIS, en basit tanımıyla, projelerinizi kurulumlu hale getirmeye yarayan program. Temel kullanımını resimli olarak anlattım. Dokümanın içinde NSIS'in kurulum dosyası, NSIS resmi sayfasındaki komutların olduğu sayfaların toplu hali ve bir kod düzenleyici program var. Bunların tümü ücretsiz...

 

Saygılar...

# Kategoriler : Programlar
# Etiketler : Etiket Yok
# Yorumlar : 0 Yorum Yorum Yaz

Selamlar...
Yıllardır kullandığım çok kullanışlı bir programdan bahsetmek istedim: Total Commander.
Dosya yönetimi konusunda çok başarılı bir program.
Programın boyutu çok küçük ama yapabildikleri oldukça fazla.
 
Shareware sürümü olmasının da herhangi bir dezavantajı yok.
Sadece açılışta bir rakam seçme ekranı geliyor, onu seçince açılıyor program.
Özelliklerde herhangi bir kısıtlama yok. (Sakın kırılmış sürümünü falan indirmeyin!)
O kadar ilginç özellikler var ki programda, 30 sene kullansanız, gene de bir gün hiç bilmediğiniz çok faydalı bir özelliğini keşfedebilirsiniz. İstanbul gibi. 30 sene yaşasan, gene de gezmediğin, görmediğin bir sürü güzelliği olacaktır.
Kendi içinde gelen bir FTP programı var. 
Sıkıştırılmış dosyaları açmak için harici bir programa ihtiyaç duymuyor.
Boyutu ne olursa olsun dosya içeriğini hızlıca görüntüleyen bir txt görüntüleyicisi,
Dosya kopyalama ve taşımada işinizi kolaylaştıracak ve hızlandıracak kuyruğa ekleme özelliği,
Toplu dosya ismi değiştirme,
Dizindeki dosyaların içeriklerinde geçen kelimeye göre arama yapma,
Dosya içerikleri, dizin karşılaştırmaları,
gibi ve benim de bilmediğim bir ton özelliği var.
Üstelik boyutu da yüzlerce megabayt değil. (Televizyondaki bal satıcıları gibi.)
Bu kadar övgüyü görünce bazıları Christian Ghisler benim amcaoğlu falan zannedebilir.
Tamamen övgüyü hakeden uygulamalara gerekli değerin verilmesi düşüncesinden dolayı yazıyorum bunları.
 
İndirme sayfasının adresi aşağıdaki şekilde. Boyutu 3-4 Mb.
 
 
Ana pencere
 
Ana pencere 1
 
 
Ana pencere 2
 
 
Dosya içeriği karşılaştırmak
 
Dosya içeriği karşılaştırmak
 
 
Çoklu dosya ismi değiştirmek
 
Çoklu dosya ismi değiştirmek
 
 
FTP istemcisi
 
FTP istemcisi
 
 
 
Saygılar...
# Kategoriler : Programlar
# Etiketler : Etiket Yok
# Yorumlar : 0 Yorum Yorum Yaz

Selamlar...

Bilgisayara format attıktan sonra yüklenmesinde fayda olan programlardan aklıma gelenleri yazıyorum:

 

Daemon Tools Lite

http://www.disk-tools.com/download/daemon

- Bilgisayara sanal bir CD-Rom kurarak, ISO, MDF tarzı kalıp dosyalarını açmaya yarıyor.

 

Opera

http://www.opera.com/download

- Güzel bir internet tarayıcısı.

 

Yandex

http://browser.yandex.com

- Güzel bir internet tarayıcısı.

 

Chrome

https://www.google.com/chrome/browser/

- Güzel bir internet tarayıcısı.

 

Winamp Lite

http://www.majorgeeks.com/files/details/winamp_5_lite.html

- Winamp 1.500 tane sürüm de çıkarsa her zaman eski tip olanı daha makbul geliyor. Hem boyutu küçük, hem de kullanımı basit.

 

Winrar

http://www.rarlab.com/download.htm

- Gayet başarılı bir dosya sıkıştırma programı.

 

Foxit Reader

https://www.foxitsoftware.com/products/pdf-reader/

- Adobe'nin büyük boyutlu olmasından dolayı bunu kullanmaya başlamıştım ama bu da yavaş yavaş gereksiz eklentiler içermeye başladı. Gene de küçük sayılır.

 

Microsoft Security Essentials

http://windows.microsoft.com/en-us/windows/security-essentials-download

- Microsoft'un ücretsiz antivirüs yazılımı. Windows güncellemeleri de düzenli bir şekilde yapılırsa, virüslere karşı koruma sağlanabilir. En önemlisi, internette gezinirken, kaynağı belli olmayan dosya indirilmemesi ve her çıkan uyarı tıklanmaması...

 

SMPlayer

http://smplayer.sourceforge.net/en/downloads

- Ücretsiz ve gayet başarılı bir video izleme programı.

 

Notepad++

https://notepad-plus-plus.org/download

- Ücretsiz ve gayet başarılı bir metin düzenleyici program.

 

Total Commander

http://www.ghisler.com/download.htm

- Bununla ilgili ayrı bir başlık var. (http://www.zamkinos.net/blog/post/2015/08/02/Total-Commander.aspx)

 

Unlocker

http://filehippo.com/download_unlocker/

- Bir uygulama tarafından kullanılan dosyaları silmeye yarıyor. Ya da hangi uygulama tarafından kullanıldığını da görüntüleyebilirsiniz.

 

Alpemix

http://www.alpemix.com/site/Alpemix.exe

- Uzaktan aynı programı kullanan bir programa kullanıcı adı ve şifreyle bağlanabiliyorsunuz. Kurulumsuz da çalışıyor. Üstelik yerli.

 

Flash Player

https://get.adobe.com/tr/flashplayer/

- Video ve animasyon içeren sayfaları düzgün görüntüleyebilmek için gerekiyor.

 

 

 

Saygılar...

# Kategoriler : Programlar
# Etiketler : Etiket Yok
# Yorumlar : 0 Yorum Yorum Yaz

Selamlar...

Bilgisayarınıza taktığınız disk(USB'den takmış da olabilirsiniz.) Disk Yönetimi'nde gözüküyor ama diskin içine erişemiyorsunuz.
Disk Yönetimi'ne girdiğinizde "Diski Etkinleştir" seçeneği var ama seçince "Bu İşleme Geçersiz Disk Paketinde İzin Verilmez" diyor.
Bu durumda aşağıdaki işlemi yaparak diski temel diske çevirmek mümkün.
Ancak kaynak sitede de belirtildiği gibi bu iş riskli.
Herhangi bir sorumluluk kabul edilmiyor.


Ben şu şekilde yaptım:
1 - http://mh-nexus.de/hxd/ adresinden programı indirdim.
2 - Programı çalıştırıp Ekstralar menüsü altındaki "Diski Aç" seçeneğini seçtim. 
3 - Tanınmayan diski seçtim. (Disklerin numarası var sadece. O yüzden doğru diski seçtiğinize emin olun!)
4 - Sonra aşağıda da belirtildiği üzere 42 olan değeri 07 yapıp kaydettim.
5 - Bilgisayarı yeniden başlattıktan sonra Dos komut satırına "chkdsk K: /f" yazarak diski tarattım.
6 - İşlem tamamlandı.
7 - Riskli bir iş dikkatli yapmakta fayda var...

 

Saygılar.

# Kategoriler : Donanım
# Etiketler : Etiket Yok
# Yorumlar : 0 Yorum Yorum Yaz

Selamlar...

Airties marka modemlerin kurulumu ile ilgili güzel bir videolu anlatım var aşağıdaki sitede.

Aşağıdaki adresi sağ tıklayıp bilgisayarınıza kaydedebilirsiniz. Bu sayede internetiniz olmadığında da(yani modem ayarlarınızı henüz yapmadığınızda) herhangi bir tarayıcı ile (Internet Explorer, Firefox, Chrome gibi) bu görüntülü anlatımı izleyebilir ve modeminizi ayarlayabilirsiniz.

http://www.ogren.tv/dersler/airties-kullanimi/airties.swf

http://www.ogren.tv/ adresinde işinize yarayabilecek daha farklı dersler de bulabilirsiniz.

 

Saygılar...

# Kategoriler : Donanım
# Etiketler : Etiket Yok
# Yorumlar : 0 Yorum Yorum Yaz

Selamlar...
ASP.Net MVC kullanarak excel çıktısı almak için aşağıdaki metot kullanılabilir:
public FileContentResult MusteriListesiRaporuExcel(int ayIndex, int yil)
{
    MusteriIslemleri musteriIslemleri = new MusteriIslemleri();
    List<Musteri> lst = musteriIslemleri.GetirMusteriListesi(ayIndex, yil);
    StringBuilder sb = musteriIslemleri.List2ExcelSb(lst);
    string sFileName = "MusteriListesiRaporu_" + GenelIslemler.strTarihiGetir() + ".xls"; // strTarihiGetir metodu 20150925223500 şeklinde bitişik tarih saat bilgisi dönüyor. Dosya ismi tekil olsun diye...
    HttpContext.Response.AddHeader("content-disposition", "attachment; filename=" + sFileName);
    this.Response.ContentType = "application/vnd.ms-excel";
    this.Response.Cache.SetCacheability(System.Web.HttpCacheability.NoCache);
    byte[] buffer = System.Text.Encoding.GetEncoding(1254).GetBytes(sb.ToString()); // Karakter problemine göre burasu UTF8 ile denenebilir...
    return new FileContentResult(buffer, this.Response.ContentType);
}
 
Buradaki en can alıcı nokta List2ExcelSb metodu. Bu metot, kendisine gelen her türlü listeyi excel çıktısına çevirebiliyor.
1-2 sefer böyle ihtiyacım oldu ve iki rapor için de bunu ayrı ayrı metotlarda yazdım.
Sonra düşündüm ve dedim ki; öyle bir metot olsun ki, kendisine gelen listeyi hiç ayırmadan direkt excele uygun bir HTML stringe çevirsin.
İşte o metot, bu metot:
public StringBuilder List2ExcelSb<T>(List<T> liste)
{
    IList<PropertyInfo> properties = typeof(T).GetProperties().ToList();
    StringBuilder sb = new StringBuilder();
    sb.Append("<table style='1px solid black; font-family: Tahoma, Geneva, sans-serif; font-size:14px;'>");
    sb.Append("<tr>");
    foreach (var property in properties)
    {
        sb.Append("<td style='width:130px;'><b>");
        sb.Append(property.Name.ToString());
        sb.Append("</b></td>");
    }
    sb.Append("</tr>");
    foreach (var item in liste)
    {
        sb.Append("<tr style='height:20px;'>");
        foreach (var property in properties)
        {
            object propValue = property.GetValue(item, null);
            sb.Append("<td>");
            sb.Append(propValue.ToString());
            sb.Append("</td>");
        }
        sb.Append("</tr>");
    }
    sb.Append("</table>");
    return sb;
}

 
Kendisine gönderilen listenin özelliklerini(property) dolaşıyor tek tek ve bunları sütunlara kalın harflerle yerleştiriyor.
Sonra da bu özelliklerin değerlerini satır satır ekliyor tabloya.
Saygılar...
# Kategoriler : C# Yazılım
# Etiketler : Etiket Yok
# Yorumlar : 0 Yorum Yorum Yaz

Merhaba, siteyi Blogsa.net altyapısına taşıdım.

 

Saygılar.

# Kategoriler : Kişisel
# Etiketler : Etiketim
# Yorumlar : 0 Yorum Yorum Yaz