tag:blogger.com,1999:blog-33355129794182333852024-03-13T20:44:48.145+03:00 Prografi Bilişim --- Bilgi Teknolojileri Paylaşım PlatformuPrografi Bilişim --- Bilgi Teknolojileri Paylaşım PlatformuPrografi Bilişimhttp://www.blogger.com/profile/17336200946064397770noreply@blogger.comBlogger16125tag:blogger.com,1999:blog-3335512979418233385.post-79862334266852811532015-07-30T09:42:00.001+03:002015-07-30T09:42:46.218+03:00Mime Type Sunucu ve Web.config AyarlarıWeb sitesi veya web uygulamaları hazırladığımızda bazı font, icon ve dosya uzantılarının gösterilmediği ve çalışmadığı olur. Özellikle en çok Awesome fontlarını localde çalıştığı ve sitenin sunucuya attığımızda çalışmaması gibi durumlarla sık karşılaşırız. Bu sorunu iki yoldan çözebiliriz. Birinci yol sunucuda elimizle mime type ayarlarını yapmak bir diğeri ise web.config de mime type ayarı yapmak. İlk önce sunucu üzerinde yaptığımız değişikliği anlatalım sonra web.config'deki ayarları anlatırız.<br />
<br />
1. Sunucuda Mime Type Ayarları<br />
<br />
Sunucuda IIS Manager'ı açtıktan sonra Mime Type ayarı yapmak istediğimiz siteyi seçerek sağ tıklayın. Gelen menuden Properties i seçin. Karşımıza çıkan seçenek tablarından HTTP Headers'ı seçiniz. Açılan bölümde alt kısımda MIME Types butonuna tıklayın.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEirOyS1Kur7NhoK4fEgUqB_oCzGKTDNn6JIEQpOL0ergoFi7kT3erlUJ4YBA4YX3hWazCa0Px-4G5tAB8ptf2ZSLezPMvzD4Sg1uCAVAp_G8SLj-mAYuLI0BUjoQNKO2I47cnRfb2TfCp8/s1600/mimetype1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="370" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEirOyS1Kur7NhoK4fEgUqB_oCzGKTDNn6JIEQpOL0ergoFi7kT3erlUJ4YBA4YX3hWazCa0Px-4G5tAB8ptf2ZSLezPMvzD4Sg1uCAVAp_G8SLj-mAYuLI0BUjoQNKO2I47cnRfb2TfCp8/s400/mimetype1.png" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Mime Type bölümüne girdikten sonra New butonuna tıklayınız. Açılan panelin Extension (dosya uzantısı) bölümüne eklemek istediğimiz uzantıyı yazıyoruz. MIME type kısmınada eğer türünü ve değerini belirtiyoruz. </div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjXGAYblQJX2q5B3yUPY67dFWg83lIl-lbtMoQ3lN1q6aQOwKxneQ6dbc21PLZXvZQkJq-whY1sSW3ipjxAfFTbZUu6rpg6lrPZDlfaZVJjP7lmb2tk68CqmqSaU0FKdcV5KC2LB1FMf5E/s1600/mimetype2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="335" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjXGAYblQJX2q5B3yUPY67dFWg83lIl-lbtMoQ3lN1q6aQOwKxneQ6dbc21PLZXvZQkJq-whY1sSW3ipjxAfFTbZUu6rpg6lrPZDlfaZVJjP7lmb2tk68CqmqSaU0FKdcV5KC2LB1FMf5E/s400/mimetype2.png" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
2. Web.config de Mime Type Ayarları</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Mime Type ayarlarını sunucuya ulaşamadığımızda veya yönetimi bizde değilse web.config dosyamızda bazı ayarlar yapmamız gerekir. <sytem.webServer> etiketi altına mime type ayarlarını yapmanız yeterli olacaktır.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Örnek Bazı Mime Type Uzantı ve Değerleri: </div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Kullanmak istediğiniz uzantıyı seçerek bu gerekli düzenlemeleri yapabilirsiniz.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="line number1 index0 alt2" style="background: none white !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: #909090; direction: ltr; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; font-size: 12px; height: auto !important; left: auto !important; line-height: 13.1999998092651px; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
<span style="font-family: monospace;"><system.webServer></span><br />
<span style="font-family: monospace;"> <staticContent></span><br />
<span style="font-family: monospace;"><br /></span>
<span style="font-family: monospace;"> <mimeMap fileExtension=".oga" mimeType="audio/ogg" /></span><br />
<span style="font-family: monospace;"> <mimeMap fileExtension=".spx" mimeType="audio/ogg" /></span><br />
<span style="font-family: monospace;"><br /></span>
<span style="font-family: monospace;"> <remove fileExtension=".css" /></span><br />
<span style="font-family: monospace;"> <mimeMap fileExtension=".css" mimeType="text/css; charset=UTF-8" /></span><br />
<span style="font-family: monospace;"> <remove fileExtension=".js" /></span><br />
<span style="font-family: monospace;"> <mimeMap fileExtension=".js" mimeType="text/javascript; charset=UTF-8" /></span><br />
<span style="font-family: monospace;"> <remove fileExtension=".json" /></span><br />
<span style="font-family: monospace;"> <mimeMap fileExtension=".json" mimeType="application/json; charset=UTF-8" /></span><br />
<span style="font-family: monospace;"> <remove fileExtension=".rss" /></span><br />
<span style="font-family: monospace;"> <mimeMap fileExtension=".rss" mimeType="application/rss+xml; charset=UTF-8" /></span><br />
<span style="font-family: monospace;"> <remove fileExtension=".html" /></span><br />
<span style="font-family: monospace;"> <mimeMap fileExtension=".html" mimeType="text/html; charset=UTF-8" /></span><br />
<span style="font-family: monospace;"> <remove fileExtension=".xml" /></span><br />
<span style="font-family: monospace;"> <mimeMap fileExtension=".xml" mimeType="application/xml; charset=UTF-8" /></span><br />
<span style="font-family: monospace;"> </span><br />
<span style="font-family: monospace;"> <!-- HTML5 Audio/Video mime types--></span><br />
<span style="font-family: monospace;"><br /></span>
<span style="font-family: monospace;"> <remove fileExtension=".mp3" /></span><br />
<span style="font-family: monospace;"> <mimeMap fileExtension=".mp3" mimeType="audio/mpeg" /></span><br />
<span style="font-family: monospace;"> <remove fileExtension=".mp4" /></span><br />
<span style="font-family: monospace;"> <mimeMap fileExtension=".mp4" mimeType="video/mp4" /></span><br />
<span style="font-family: monospace;"> <remove fileExtension=".ogg" /></span><br />
<span style="font-family: monospace;"> <mimeMap fileExtension=".ogg" mimeType="audio/ogg" /></span><br />
<span style="font-family: monospace;"> <remove fileExtension=".ogv" /></span><br />
<span style="font-family: monospace;"> <mimeMap fileExtension=".ogv" mimeType="video/ogg" /></span><br />
<span style="font-family: monospace;"> <remove fileExtension=".webm" /></span><br />
<span style="font-family: monospace;"> <mimeMap fileExtension=".webm" mimeType="video/webm" /></span><br />
<span style="font-family: monospace;"><br /></span>
<span style="font-family: monospace;"> <!-- svg, webfonts, Pad --></span><br />
<span style="font-family: monospace;"><br /></span>
<span style="font-family: monospace;"> <remove fileExtension=".svg" /></span><br />
<span style="font-family: monospace;"> <mimeMap fileExtension=".svg" mimeType="images/svg+xml" /></span><br />
<span style="font-family: monospace;"> <remove fileExtension=".svgz" /></span><br />
<span style="font-family: monospace;"> <mimeMap fileExtension=".svgz" mimeType="images/svg+xml" /></span><br />
<span style="font-family: monospace;"><br /></span>
<span style="font-family: monospace;"> <!-- HTML4 Web font mime types --></span><br />
<span style="font-family: monospace;"><br /></span>
<span style="font-family: monospace;"> <remove fileExtension=".eot" /></span><br />
<span style="font-family: monospace;"> <mimeMap fileExtension=".eot" mimeType="application/vnd.ms-fontobject" /></span><br />
<span style="font-family: monospace;"> <remove fileExtension=".otf" /></span><br />
<span style="font-family: monospace;"> <mimeMap fileExtension=".otf" mimeType="font/otf" /></span><br />
<span style="font-family: monospace;"> <remove fileExtension=".woff" /></span><br />
<span style="font-family: monospace;"> <mimeMap fileExtension=".woff" mimeType="font/x-woff" /></span><br />
<span style="font-family: monospace;"> <remove fileExtension=".crx" /></span><br />
<span style="font-family: monospace;"> <mimeMap fileExtension=".crx" mimeType="application/x-chrome-extension" /></span><br />
<span style="font-family: monospace;"> <remove fileExtension=".xpi" /></span><br />
<span style="font-family: monospace;"> <mimeMap fileExtension=".xpi" mimeType="application/x-xpinstall" /></span><br />
<span style="font-family: monospace;"> <remove fileExtension=".safariextz" /></span><br />
<span style="font-family: monospace;"> <mimeMap fileExtension=".safariextz" mimeType="application/octet-stream" /></span><br />
<span style="font-family: monospace;"><br /></span>
<span style="font-family: monospace;"> <!-- Flash Video mime types--></span><br />
<span style="font-family: monospace;"><br /></span>
<span style="font-family: monospace;"> <remove fileExtension=".flv" /></span><br />
<span style="font-family: monospace;"> <mimeMap fileExtension=".flv" mimeType="video/x-flv" /></span><br />
<span style="font-family: monospace;"> <remove fileExtension=".f4v" /></span><br />
<span style="font-family: monospace;"> <mimeMap fileExtension=".f4v" mimeType="video/mp4" /></span><br />
<span style="font-family: monospace;"><br /></span>
<span style="font-family: monospace;"> </staticContent></span><br />
<span style="font-family: monospace;"> </system.webServer></span></div>
<br />Prografi Bilişimhttp://www.blogger.com/profile/17336200946064397770noreply@blogger.com0tag:blogger.com,1999:blog-3335512979418233385.post-59194673984772069492015-07-08T16:26:00.001+03:002015-07-08T16:26:15.606+03:00Roma Rakamı ile Sayfa Numarası VermeYüksek Lisans/Doktora öğrencilerinin tezlerini yazarken en önemli sıkıntılarındandır Word’de roma rakamları ile sayfa numarası verip ardından normal rakamlar ile devam ettirmek. Bu yazımda sizlere bu sorunu nasıl çözüleceğine dair bilgiler vereceğim.<br />
<br />
Genelde tezlerde kapak sayfaları ve enstitü onay sayfalarından sonra sayfa numarası verilmeye başlanır. Tezinizin hazırlanma kılavuzunda özet kısmından itibaren roma rakamları ile numaralandırılması isteniyorsa ilgili sayfaya gelip Ekle sekmesinden Sayfa Numarası’na ardından Sayfa Numaralarını Biçimlendir’e tıklanır. Sayı biçimi olarak aşağıda gösterildiği gibi roma rakamını ardından Başlangıç olarak öncesinde kaç sayfa varsa ve görünmemesi gerekiyorsa ona göre ilgili sayfa numarası ile başlayacak şekilde numara verilmelidir.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjpeurSz-atBZwcd6uieFvcVFqcZql46iybUhI47isaKw9377mXsGcQK3mDaMCo3_pq14Jeq6y0cVkVZJA1TkIPOpzccdDWUdXPXTgD8_CuYx-I8HzyWwEegNqdR2TOTpK6zETU9nWCydo/s1600/romarakamiile.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjpeurSz-atBZwcd6uieFvcVFqcZql46iybUhI47isaKw9377mXsGcQK3mDaMCo3_pq14Jeq6y0cVkVZJA1TkIPOpzccdDWUdXPXTgD8_CuYx-I8HzyWwEegNqdR2TOTpK6zETU9nWCydo/s1600/romarakamiile.jpg" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjH4hM9DD5_ztMZWrpiQboWTca4NPkRvL-9YLN9DOsgtd4Jy6q3PSIk0t7ckGuJr2VLqiprtJsmjO_D7I8bNNoIk6DE_mLbluBFawidrqnFA6-PLmCPU5y-2h0Tn9T1xSqxYoKfh0a9-j0/s1600/romarakamiile2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjH4hM9DD5_ztMZWrpiQboWTca4NPkRvL-9YLN9DOsgtd4Jy6q3PSIk0t7ckGuJr2VLqiprtJsmjO_D7I8bNNoIk6DE_mLbluBFawidrqnFA6-PLmCPU5y-2h0Tn9T1xSqxYoKfh0a9-j0/s1600/romarakamiile2.jpg" /></a></div>
<br />
<br />
Sayfa numarası ile ilgili biçimlendirmeler yapıldıktan sonra sayfa numarasının nereye konulacağına dair seçim işlemi yapılmalıdır. Genelde tezler sayfa sonuna ortalanacak şekilde konulduğu için örnek olarak sayfa sonu ve ortalanmış şekilde sayfa numarası oluşturdum. Yine Ekle sekmesinden Sayfa Numarası’na ardından Sayfa Sonu ve Düz numara 2’yi tercih ettim. Sayfa numaralarını tercih edeceğiniz konuma yine aynı menüden sayfa başına, sayfa sonuna ve kenar boşluklarına konumlandırabilirsiniz.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhqW3ASBHBjqjvKzUjWZcet6IM4xztC6rSLlEAsUK7_IAhmjjpk5UIOrYFBfXA329iTA24V2Ao_qSkYbQyFzcGEGBBHTApY0wQV0HB9-9c-R8RUsYzytev2bp4pmtjM43PDjrlsEpwXUAo/s1600/romarakamiile3.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhqW3ASBHBjqjvKzUjWZcet6IM4xztC6rSLlEAsUK7_IAhmjjpk5UIOrYFBfXA329iTA24V2Ao_qSkYbQyFzcGEGBBHTApY0wQV0HB9-9c-R8RUsYzytev2bp4pmtjM43PDjrlsEpwXUAo/s320/romarakamiile3.jpg" width="347" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Bu işlemin hemen ardından açılan düzenleme işlemini kapat butonuna tıklayarak kapatabilirsiniz.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiH5ryqkRW8ZEJXr-HcqXFR16EZmy46pah4MaU2KH-L6p3KoWWWfk1qc3vX8fdfz0hAAJ0Mq-5Tl54IYUdfpLPy6CuSNdh3NfYHODkfsiBytG2xi4BOePYqbbQRaccWtA7ys2TG1gGXGzw/s1600/romarakamiile4.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="40" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiH5ryqkRW8ZEJXr-HcqXFR16EZmy46pah4MaU2KH-L6p3KoWWWfk1qc3vX8fdfz0hAAJ0Mq-5Tl54IYUdfpLPy6CuSNdh3NfYHODkfsiBytG2xi4BOePYqbbQRaccWtA7ys2TG1gGXGzw/s400/romarakamiile4.jpg" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Bu işlemlerin ardından roma rakamlarının biteceği ve normal rakamların başlayacağı kısma geliyoruz. Bu işlem için öncelikle bu iki kısmı iki farklı Bölüm olarak ayırmamız gerekecektir. Bu yüzden Sayfa Düzeni sekmesinden Kesmeler kısmına oradan ise Sonraki Sayfa’yı seçip bölüm oluşturabiliriz.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgL1Zn8xtB57KKR9-U1YIZbnvvCiYKckWYsY93QsPLu9ncqFWlEvy6COA5SaxUBYln6JgSY6FNjjrRJFAg0oVsAiu2mujY-MVuM8EmuOkjZQ4CclFcoO2toekYrC_1YJUARX_79PG7qalk/s1600/romarakamiile5.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="40" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgL1Zn8xtB57KKR9-U1YIZbnvvCiYKckWYsY93QsPLu9ncqFWlEvy6COA5SaxUBYln6JgSY6FNjjrRJFAg0oVsAiu2mujY-MVuM8EmuOkjZQ4CclFcoO2toekYrC_1YJUARX_79PG7qalk/s400/romarakamiile5.jpg" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi8QVzR4v21558bOZi_hXtWkmmDdxIhSfpgcY4yN9wTclwtHIbBhbLjQIBMKhyphenhyphenTDkR3IaWiOQPE3xpwan0OJE4bpNRwWfhdGTPItbjR0hrbQcMK9Da2X4VBEFXZva4r97fhR2vS9H0nSTU/s1600/romarakamiile6.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi8QVzR4v21558bOZi_hXtWkmmDdxIhSfpgcY4yN9wTclwtHIbBhbLjQIBMKhyphenhyphenTDkR3IaWiOQPE3xpwan0OJE4bpNRwWfhdGTPItbjR0hrbQcMK9Da2X4VBEFXZva4r97fhR2vS9H0nSTU/s400/romarakamiile6.jpg" width="278" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Bölümü oluşturduktan sonra oluşturduğumuz bölümün ilk sayfasına gelip yeniden Ekle sekmesinden Sayfa Numarası’na ardından Sayfa Numaralarını Biçimlendir’e tıklanır. Sayı biçimi olarak aşağıda gösterildiği gibi bu kez roma rakamını normal rakamlara ardından Başlangıç olarak “1” sayfa numarası ile başlayacak şekilde verilmelidir.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgLrfvhq2jT34OEfHN_frl4lkm2eiXZhHJAkJbfSrHyoTo6NyYjcQ8lZgz8wHvI-kdBPDKLOEqLMPzg-57DDHfgvwXVPOwKYl94Buyuxed0l2MimU5OlQLZlrYfPJ7O-5FppLCIxdAafeA/s1600/romarakamiile7.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgLrfvhq2jT34OEfHN_frl4lkm2eiXZhHJAkJbfSrHyoTo6NyYjcQ8lZgz8wHvI-kdBPDKLOEqLMPzg-57DDHfgvwXVPOwKYl94Buyuxed0l2MimU5OlQLZlrYfPJ7O-5FppLCIxdAafeA/s1600/romarakamiile7.jpg" /></a></div>
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiX06x8xoDxg8MRDN5T-4yqPcBdPrfBqBAs_688tSflyJr1UC7j2m1cgQYbVgiu8RV-VPaszn36wntV1nNghYaSKu2yvvqQ56Afjuxme0GApftHdp8KhRR3ETweO6aNPxNQKgo0lyFpyz4/s1600/romarakamiile8.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em; text-align: center;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiX06x8xoDxg8MRDN5T-4yqPcBdPrfBqBAs_688tSflyJr1UC7j2m1cgQYbVgiu8RV-VPaszn36wntV1nNghYaSKu2yvvqQ56Afjuxme0GApftHdp8KhRR3ETweO6aNPxNQKgo0lyFpyz4/s1600/romarakamiile8.jpg" /></a><br />
<br />
<br />
Bu işlemlerin ardından ilk bölüm roma rakamları ile ikinci bölüm normal rakamlarla sayfa numarası verilmiş olacaktır.<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh_CmabnmcC-XEAFIf6luiOsez1n5069beh7rXoA2yfkmS8G__g_izPa_wMtwHIJuQ_HMLStbq3v3djdnwkuEUMwn1WQxA-eFLmjII-6kbiS0Sa6_shp7BcI4voyf7Sc6GYLWq2t77BBzk/s1600/romarakamiile9.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="47" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh_CmabnmcC-XEAFIf6luiOsez1n5069beh7rXoA2yfkmS8G__g_izPa_wMtwHIJuQ_HMLStbq3v3djdnwkuEUMwn1WQxA-eFLmjII-6kbiS0Sa6_shp7BcI4voyf7Sc6GYLWq2t77BBzk/s400/romarakamiile9.jpg" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<a href="https://volkansoner.wordpress.com/tag/tez-yazarken-sayfa-numaralandirma/" rel="nofollow" target="_blank">Makalenin kaynağı için tıklayınız.</a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<br />Prografi Bilişimhttp://www.blogger.com/profile/17336200946064397770noreply@blogger.com0tag:blogger.com,1999:blog-3335512979418233385.post-33053146740941983952015-07-08T16:07:00.000+03:002015-07-08T16:07:20.011+03:00Word’de Sayfa NumaralandırmaBir word dökümanında sayfaları numaralandırmak istediğimizde Ekle –> Sayfa Numarası yolunu izleyerek bu işlemi gerçekleştirebiliriz. Bu durumda numaralandırma dökümanın 1. sayfasından başlar ve devam eder.<br />
<br />
Ancak bazı durumlarda numaralandırmayı ilk sayfadan değil de, sonraki bir sayfadan başlatmak isteyebiliriz. Böyle bir durumda yukarıdaki yöntemden farklı bir yol izlememiz gerekir.<br />
<br />
Sayfa numaralandırmaya 4. sayfadan başlamak istediğimizi varsayalım. Bunun için aşağıdaki adımları izleriz:<br />
<br />
1. 4. sayfanın başına gideriz.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEitH3a9QioXfPGducopb499U_84Ysqr7wwwjIwvKm8t7UnHFfvksRPJiCt6pbqZCBG5SOkp-pXF1UaeN1w5kfd2nHq6TxJQBETywRcXOKh93dVWptgcohuVTEHPagKbyEgAqzh9H4jOUF4/s1600/sayfanumaralandirma1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="253" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEitH3a9QioXfPGducopb499U_84Ysqr7wwwjIwvKm8t7UnHFfvksRPJiCt6pbqZCBG5SOkp-pXF1UaeN1w5kfd2nHq6TxJQBETywRcXOKh93dVWptgcohuVTEHPagKbyEgAqzh9H4jOUF4/s400/sayfanumaralandirma1.jpg" width="400" /></a></div>
<br />
2. 4. sayfanın başında iken üst menüden Sayfa Düzeni –> Kesmeler yolunu izler ve Sonraki Sayfa işaretine tıklarız. Görünüşte herhangi bir değişiklik olmayacaktır.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhe01T-7tDu9TiKyqCvLQhqlLz6FdlTQporG0bRMaQuDA2let0DjQV2E5Otl_GYrmPdzRLZGinV1yuJLzBfYvzu2-Omv21jWT2zY58aykASfIaCqJHt5gFi_gr7NDoOHlIMf3usAhZPQ0U/s1600/sayfanumaralandirma2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="302" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhe01T-7tDu9TiKyqCvLQhqlLz6FdlTQporG0bRMaQuDA2let0DjQV2E5Otl_GYrmPdzRLZGinV1yuJLzBfYvzu2-Omv21jWT2zY58aykASfIaCqJHt5gFi_gr7NDoOHlIMf3usAhZPQ0U/s400/sayfanumaralandirma2.jpg" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
3. Daha sonra yine üst menüden Ekle –> Üstbilgi (Altbilgi de olabilir, farketmez) –>Üstbilgiyi Düzenle yolunu izleriz.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjmWZNBVHiRNgey9TyL6ElQsxxNQrRbGjxbQvCZfPyEbX_n9Y9H51PuscCZBtwxM9a1w_EIEyPpVN0xy-Zu_DKai29colhy0bJo2YlaP7TRplJ99Kcie6TW2S0BFdV0d3aEBMupA9q4erQ/s1600/sayfanumaralandirma3.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjmWZNBVHiRNgey9TyL6ElQsxxNQrRbGjxbQvCZfPyEbX_n9Y9H51PuscCZBtwxM9a1w_EIEyPpVN0xy-Zu_DKai29colhy0bJo2YlaP7TRplJ99Kcie6TW2S0BFdV0d3aEBMupA9q4erQ/s400/sayfanumaralandirma3.jpg" width="291" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
4. Üstbilgiyi Düzenle seçeneğini tıkladığımızda üst menüde Üstbilgi ve Altbilgi araçları altında Tasarım sekmesi açılacaktır.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjKn84aYReqntrbXxoXD_eqGh_qi9ISFT6vzZur3A1phRXGD8Prk8aCko1-a0TtdPap6kMqdevM87lNPbE9eExjx3T5nanww5HdI3mGFeYnFooAuGh4N1mnL2KxotoefCId8Tvj4EM4bzw/s1600/sayfanumaralandirma4.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="51" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjKn84aYReqntrbXxoXD_eqGh_qi9ISFT6vzZur3A1phRXGD8Prk8aCko1-a0TtdPap6kMqdevM87lNPbE9eExjx3T5nanww5HdI3mGFeYnFooAuGh4N1mnL2KxotoefCId8Tvj4EM4bzw/s400/sayfanumaralandirma4.jpg" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Burada aşağıdaki şekilde görüldüğü gibi ” Öncekine Bağla “ seçeneği seçili durumda olacaktır.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj2z5DryuBUbvSc_MaDycY1_igfhQJq0flOlzbiUUAyDCD5B4EjdynJE6efR0aVDOiSWKwsFF_lcSVM_Jl-1H-99emJxmuNSYqHuQqeL7rn8BZbPLx8QeydAroeXOwqJfbNtq1rUVR6-c0/s1600/sayfanumaralandirma5.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="130" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj2z5DryuBUbvSc_MaDycY1_igfhQJq0flOlzbiUUAyDCD5B4EjdynJE6efR0aVDOiSWKwsFF_lcSVM_Jl-1H-99emJxmuNSYqHuQqeL7rn8BZbPLx8QeydAroeXOwqJfbNtq1rUVR6-c0/s400/sayfanumaralandirma5.jpg" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
"Öncekine Bağla" yazısının üzerinde bir kez tıklayara bu seçimi kaldırıyoruz.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhj84kAzuxNDn8CxTcL4T-MATT_QLyeWKCDSRUCnNuZ-Ow4ZXw9FQ58jgfmbJR5Wvt0zuRpNbBOTuNGSl_RYxzLBTEO4ydCxGtsUh2Tq8JCLVlDJ1E9rYa8zda2lf3nIbX-IxaOJmpF870/s1600/sayfanumaralandirma6.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="130" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhj84kAzuxNDn8CxTcL4T-MATT_QLyeWKCDSRUCnNuZ-Ow4ZXw9FQ58jgfmbJR5Wvt0zuRpNbBOTuNGSl_RYxzLBTEO4ydCxGtsUh2Tq8JCLVlDJ1E9rYa8zda2lf3nIbX-IxaOJmpF870/s400/sayfanumaralandirma6.jpg" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
5. Daha sonra Ekle –> Sayfa Numarası –> Sayfa Numaralarını Biçimlendir yolu ile Sayfa Numarası Biçimi penceresini açıyoruz. Burada Başlangıç butonunu işaretliyoruz ve 1 değerini giriyoruz.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhTrcqzHWGMVgzifmsL53xf-qZRdMuuwp7atWom___PfZwWRetmx4IrvNxkuVbaHe82ZaX94B5H8l4ujPxA2t0VopztTBAGT2VPYYS71r1UrGBT_pW_TsnWb8T1hnvHGr6xTtSNAQg2LRw/s1600/sayfanumaralandirma7.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="322" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhTrcqzHWGMVgzifmsL53xf-qZRdMuuwp7atWom___PfZwWRetmx4IrvNxkuVbaHe82ZaX94B5H8l4ujPxA2t0VopztTBAGT2VPYYS71r1UrGBT_pW_TsnWb8T1hnvHGr6xTtSNAQg2LRw/s400/sayfanumaralandirma7.jpg" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjDDKvWvcZ3t35TS8WE7Z1ZPPT_e5CYhCASwP9su41AHI6WUVk7d-26PrciZPYcJQs57LIbmOX5dsp6YQF0nqQ5K7ficPtqDhlao1GvHKNJZePEkIUs0KtBaSk9qY7-tI9S03tzZGPsNzE/s1600/sayfanumaralandirma8.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjDDKvWvcZ3t35TS8WE7Z1ZPPT_e5CYhCASwP9su41AHI6WUVk7d-26PrciZPYcJQs57LIbmOX5dsp6YQF0nqQ5K7ficPtqDhlao1GvHKNJZePEkIUs0KtBaSk9qY7-tI9S03tzZGPsNzE/s320/sayfanumaralandirma8.jpg" width="275" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
6. Son adım olarak yine Ekle –> Sayfa Numarası yolu ile istediğimiz numaralandırma biçimini seçiyoruz.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEicouBo_EYQoln6ZiCJ5Wu9KpQmp_G_lm7bR56_KPSkah7ySTAWlbo93RRLIqC7YOKgnNDhG36xNXMRAZs3TiWHbVA3PAfIBRGBcdjV16k3avA2j0_OLsj4LhiGvjCyToIFCV5dKiVGPXg/s1600/sayfanumaralandirma9.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="370" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEicouBo_EYQoln6ZiCJ5Wu9KpQmp_G_lm7bR56_KPSkah7ySTAWlbo93RRLIqC7YOKgnNDhG36xNXMRAZs3TiWHbVA3PAfIBRGBcdjV16k3avA2j0_OLsj4LhiGvjCyToIFCV5dKiVGPXg/s400/sayfanumaralandirma9.jpg" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Böylece 4. sayfamızın sol üst köşesine ” 1 ” numarası yerleşecektir. Ve numaralandırma işlemi bu sayfadan başlamış olacaktır.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEieydCkJY04ej4F4MVjUa5p-x1m8OpplIan4ip7gC2ks43S_kyZDT5Xw0rVxS4Mdgordt_nfC_hJ02NiHlc6NWrShOVUwGca08a6jUXux1BCS8x5stNeSVDLTnwpdNgVEbLdL9YK_dtnXw/s1600/sayfanumaralandirma10.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="175" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEieydCkJY04ej4F4MVjUa5p-x1m8OpplIan4ip7gC2ks43S_kyZDT5Xw0rVxS4Mdgordt_nfC_hJ02NiHlc6NWrShOVUwGca08a6jUXux1BCS8x5stNeSVDLTnwpdNgVEbLdL9YK_dtnXw/s400/sayfanumaralandirma10.jpg" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<a href="https://byrusber.wordpress.com/2009/04/20/wordde-sayfa-numaralandirma/" rel="nofollow" target="_blank">Makalenin kaynağı için tıklayınız.</a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<br />Prografi Bilişimhttp://www.blogger.com/profile/17336200946064397770noreply@blogger.com0tag:blogger.com,1999:blog-3335512979418233385.post-22572203247687404952015-07-06T10:44:00.002+03:002015-07-06T10:44:39.056+03:00Asp.Net Klasördeki Resimleri GöstermeAsp.net ile dosya okuma işlemi yaparak bir klasör içindeki resimler nasıl görüntülenir onunla ilgili küçük bir örnek uygulama yapacağız.<br />
<br />
İlk olarak projemize <b>resimler</b> isimli bir klasör açıp içine resimlerimizi kopyalıyoruz. Şimdi resimleri ekranda görüntülemek için sayfamıza bir Repeater ekleyip içine resimleri görüntüleyecek olan image nesnemizi koyuyoruz.<br />
<br />
<head runat="server"><br />
<title></title><br />
</head><br />
<body><br />
<form id="form1" runat="server"><br />
<div><br />
<asp:Repeater ID="RepeaterImages" runat="server"><br />
<ItemTemplate><br />
<asp:Image ID="Image" runat="server" ImageUrl='<%# Container.DataItem %>' Width="150"<br />
Height="150" /><br />
</ItemTemplate><br />
</asp:Repeater><br />
</div><br />
</form><br />
</body><br />
</html><br />
<br />
Sayfamızın page_load olayında ilk olarak klasördeki dosyaları okuyup bir dizi içine aktarıyoruz daha sonra bu dizi içindeki elemanların resim dosyası olup olmadığını uzantılarını kontrol ederek tespit ediyoruz eğer resim dosyası ise resimler listesine atıyoruz. Tüm dosyalar kontrol edildikten sonra son olarak listeyi eklediğimiz Repeater’ın veri kaynağı olarak belirleyip içini dolduruyoruz.<br />
<br />
protected void Page_Load(object sender, EventArgs e)<br />
{<br />
string[] klasordekiler = Directory.GetFiles(Server.MapPath("~/resimler"));<br />
List<String> resimler = new List<string>(klasordekiler.Count());<br />
string[] resimuzantisi = { ".jpg", ".gif", ".png", ".jpeg" };<br />
//www.aspnetornekleri.com<br />
foreach (string resimdosyasi in klasordekiler)<br />
{<br />
for (int i = 0; i < resimuzantisi.Length; i++)<br />
{<br />
string[] parcalar;<br />
parcalar = resimdosyasi.Split('.');<br />
if(resimuzantisi[i]=="."+parcalar[1])<br />
resimler.Add(String.Format("~/resimler/{0}", System.IO.Path.GetFileName(resimdosyasi)));<br />
}<br />
}<br />
//www.aspnetornekleri.com<br />
RepeaterImages.DataSource = resimler;<br />
RepeaterImages.DataBind();<br />
}<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEifR2hpLE-0932OicypIrnjFd959AxDDEh55m3Hpl5FMyw7lRy47KOr0DrfKDj6T2FEhmR-UyLclcNLbe2V6NZzvfMtH-wVWEg1-kTR5fH612t3l8QBfrdymHoNmoH2FQAIEWV__6e__cw/s1600/Asp.Net+Klas%25C3%25B6rdeki+Resimleri+G%25C3%25B6sterme.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="322" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEifR2hpLE-0932OicypIrnjFd959AxDDEh55m3Hpl5FMyw7lRy47KOr0DrfKDj6T2FEhmR-UyLclcNLbe2V6NZzvfMtH-wVWEg1-kTR5fH612t3l8QBfrdymHoNmoH2FQAIEWV__6e__cw/s400/Asp.Net+Klas%25C3%25B6rdeki+Resimleri+G%25C3%25B6sterme.jpg" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<a href="http://www.aspnetornekleri.com/dosya-ve-klasor-islemleri/asp-net-klasordeki-resimleri-gosterme.html" rel="nofollow" target="_blank">Makalenin kaynağı için tıklayınız.</a></div>
<br />Prografi Bilişimhttp://www.blogger.com/profile/17336200946064397770noreply@blogger.com0tag:blogger.com,1999:blog-3335512979418233385.post-2826691162534492342015-07-02T12:15:00.000+03:002015-07-02T12:15:51.734+03:00Blogger Google Analytics Kodu EklemekGoogle Analytics ile temel olarak sağlayabilecekleriniz :<br />
<br />
Ziyaretçi sayısı Tekil ziyaretçi sayısı<br />
Toplam sayfa gösterimi<br />
Ziyaretçilerin hemen çıkma oranı<br />
Ziyaretçilerin sitede geçirdikleri ortalama süre<br />
Sayfa başında geçen ortalama süre<br />
Kişi başı ziyaret edilen ortalama sayfa sayısı<br />
Sayfa başına düşen ziyaret sayısı<br />
Yeni ziyaret sayısı<br />
Ziyaretçilerin kaynakları, ziyaret şekli<br />
Ziyaretçi tipi ve kullandıkları işletim sistemi, tarayıcı vs.<br />
Ziyaretçi ülke ve durum bilgileri<br />
Gerçek zamanlı izleme ...<br />
<br />
Bu verilerin dışında detaylı olarak bir çok alt öğe de bulunmaktadır. Ayrıca bu bilgiler dahilinde yeni hedefler (Goal) koyabilir varsa reklam takibi için planlar yapabilirsiniz.<br />
<br />
<br />
Şimdi blogger blogspot bloglarına nasıl ekleneceğine geçelim önceliklehttp://www.google.com/analytics adresine giriş yapıyoruz ve standart kayıt işlemini gerçekleştiriyoruz .<br />
<br />
Sonra İzleme Kimliği Kodu atanacak.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiCG_zWuw9ZMu6Azcj52jAm-bEZoYHg5fvSsjPaE07KG2RAPahjgXoialjmE5g15XeKQbhsrognh9rtR1XxjTC-NS__AB6M4dZWNlUbzRmj2o6mxbmzaiurFAbqmIAjG5RJDBJYB4omBfc/s1600/analitik1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="244" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiCG_zWuw9ZMu6Azcj52jAm-bEZoYHg5fvSsjPaE07KG2RAPahjgXoialjmE5g15XeKQbhsrognh9rtR1XxjTC-NS__AB6M4dZWNlUbzRmj2o6mxbmzaiurFAbqmIAjG5RJDBJYB4omBfc/s320/analitik1.png" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both;">
Bu kodu alıp</div>
<div class="separator" style="clear: both;">
<br /></div>
<div class="separator" style="clear: both;">
Blogger > Ayarlar > Diğer > Analytics Web Mülkü Kimliği bölümüne kopyalayıp ayarları kayıt ettiğimiz zaman işlem tamamdır. aynı şekilde verilen kodları html düzenle kısmındanda yapılabilir ancak blogger için Analytics Web Mülkü Kimliği kısmına kodu yerleştirmek ve ayarları kaydetmek yeterlidir.</div>
<div class="separator" style="clear: both;">
<br /></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjTbW1uJCHgV7xSFq_hFcx2iIDrbY1Tju12wxhcBmeLULJU4yen6b0y5oAwsQhHGFb1ZghdGwvd54rQiXO1FfH4KsDlGdWGPBchjxsHkYTgfn0HTftkK1EwuApfGD67PyM_8UJgrFPsxJU/s1600/analitik2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="314" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjTbW1uJCHgV7xSFq_hFcx2iIDrbY1Tju12wxhcBmeLULJU4yen6b0y5oAwsQhHGFb1ZghdGwvd54rQiXO1FfH4KsDlGdWGPBchjxsHkYTgfn0HTftkK1EwuApfGD67PyM_8UJgrFPsxJU/s320/analitik2.png" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Blogger için Google Analitik özelliğini kullanırken eğer dinamik görüntüleri kullanıyorsanız google analitik gerçek zamanlı arama analizinin doğru çalışmadığını fark edebilirsiniz. Bu sorunun çözümü Google amcada olduğundan, masaüstü yada mobil şablon özelliklerinden şimdilik dinamik şablon özelliğini kullanmayarak sorunu çözebilirsiniz. </div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<a href="http://webseyyahi.blogspot.com/" rel="nofollow" target="_blank">Makalenin Kaynağı: http://webseyyahi.blogspot.com/</a></div>
<br />Prografi Bilişimhttp://www.blogger.com/profile/17336200946064397770noreply@blogger.com0tag:blogger.com,1999:blog-3335512979418233385.post-29428679996125638572015-07-02T10:48:00.000+03:002015-07-02T10:52:53.174+03:00SQL Server’dan Access’e Veri AktarımıAccess’de boş bir veritabanı oluşturuyoruz. Üstteki ribbon menüden “Dış Veri – ODBC Veritabanı” seçeneğini seçiyoruz.<br />
<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjJViRXOfKrbZfz7X_CCR89sgGxVA025GD9gg8zlkSVfJHJK1PHD2jpD-wUMu_nMhAnA3u4QGOJVxDX2IT9sNQA1VHntYRuvRe-WEHQjhUDjmEAnTYwTe-g_HzhqPPUv7PRQvT4zAbTx5I/s1600/sqldenaccesse1.png" imageanchor="1" style="clear: left; margin-bottom: 1em; margin-left: auto; margin-right: auto;"><img border="0" height="182" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjJViRXOfKrbZfz7X_CCR89sgGxVA025GD9gg8zlkSVfJHJK1PHD2jpD-wUMu_nMhAnA3u4QGOJVxDX2IT9sNQA1VHntYRuvRe-WEHQjhUDjmEAnTYwTe-g_HzhqPPUv7PRQvT4zAbTx5I/s200/sqldenaccesse1.png" width="200" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Resim yazısı ekle</td></tr>
</tbody></table>
<br />
Aşağıdaki gibi bir pencere geliyor ve “Tamam” diyerek devam ediyoruz.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgDK_CLnH48HGjkhY_zftvHoXAxiWDSm1e7X9EzMm4804NkI1GljmhLM9xaJMaFxinnNpnAzawklKF9nJH8dTYlvx66UQfG7MfpCouMhOFUW9bvoqrSuQ4el5dDjdcl3r76CFpyoRkiW1Q/s1600/sqldenaccesse2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="238" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgDK_CLnH48HGjkhY_zftvHoXAxiWDSm1e7X9EzMm4804NkI1GljmhLM9xaJMaFxinnNpnAzawklKF9nJH8dTYlvx66UQfG7MfpCouMhOFUW9bvoqrSuQ4el5dDjdcl3r76CFpyoRkiW1Q/s320/sqldenaccesse2.png" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Aşağıdaki pencerede “Machine Data Source” tabına geçerek “New” butonuna tıklıyoruz.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgCdrzhZYpWR9sv-mdVbmYCf3kQxpsWFW8HBvj_T_iUJ0eAGjIL3CBB8mua23dpIm90L8GzxTFArMJR2AHPrRQFy9twXRDqWp2qPag0WPk6PPpR7lA5YlBVuFVEKBsLy5d0LrXDW030OWk/s1600/sqldenaccesse3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="278" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgCdrzhZYpWR9sv-mdVbmYCf3kQxpsWFW8HBvj_T_iUJ0eAGjIL3CBB8mua23dpIm90L8GzxTFArMJR2AHPrRQFy9twXRDqWp2qPag0WPk6PPpR7lA5YlBVuFVEKBsLy5d0LrXDW030OWk/s320/sqldenaccesse3.png" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Aşağıdaki uyarıyı “OK” diyerek geçiyoruz.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj-CseJvaX7WDBTwKnlBlE2UAr8-7bb0BT0TYg7-d3DxTikB0e9iRmyXL-8iNPZ9VE5g3eqShE-U7zRLyGsjjWdVwsSKms-e1USKLtwlXS0d4dBvT4ibBinwrTsvSTQ2DZvsgz86Osiwjo/s1600/sqldenaccesse4.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="112" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj-CseJvaX7WDBTwKnlBlE2UAr8-7bb0BT0TYg7-d3DxTikB0e9iRmyXL-8iNPZ9VE5g3eqShE-U7zRLyGsjjWdVwsSKms-e1USKLtwlXS0d4dBvT4ibBinwrTsvSTQ2DZvsgz86Osiwjo/s320/sqldenaccesse4.png" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Aşağıdaki pencerede “Next” diyerek devam ediyoruz.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhI7g_L5kjjYz70fZE_QEs9evPndSSCYUr5MI2Yxq3DK1GbG2Co-bj3INYJo0P23GfEzR41GG2uL93ng737NGPC4RMkMNP-6994a7BWRfC23NWJjuaGh4SjKjMVNllujSpqgG7ekRKTejQ/s1600/sqldenaccesse5.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="239" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhI7g_L5kjjYz70fZE_QEs9evPndSSCYUr5MI2Yxq3DK1GbG2Co-bj3INYJo0P23GfEzR41GG2uL93ng737NGPC4RMkMNP-6994a7BWRfC23NWJjuaGh4SjKjMVNllujSpqgG7ekRKTejQ/s320/sqldenaccesse5.png" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Aşağıdaki listeden “SQL Server” seçimini seçip “Next” diyerek devam ediyoruz.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj10wWuNNcy213pnxEJddQ4uBpWRQyvM43ersEXDE8JtWFMHIEee7mzRJIdfhMPKT9Hr-HftAhuHdAAKHbqFkP5EtHnzGb2924tonkdYW108kM2jiAH1nBpJdjcrj0DcjGwChzJ4-odLbs/s1600/sqldenaccesse6.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="236" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj10wWuNNcy213pnxEJddQ4uBpWRQyvM43ersEXDE8JtWFMHIEee7mzRJIdfhMPKT9Hr-HftAhuHdAAKHbqFkP5EtHnzGb2924tonkdYW108kM2jiAH1nBpJdjcrj0DcjGwChzJ4-odLbs/s320/sqldenaccesse6.png" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Aşağıdaki pencerede “Finish” diyerek yeni bir ayara geçiyoruz.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjduu9eUG7Lf6TCj5ZHJlYvCZMJcMxbb9GJByoKc8hz0PihuFx8crvOn04Y63ocSOolfbppYSlWaXpxYoZXrPhrALTEdTedL34qhXuV7ec4fLj8r3d9rbdxjcOiITkEFUPojNYsx2W_vpU/s1600/sqldenaccesse7.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="234" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjduu9eUG7Lf6TCj5ZHJlYvCZMJcMxbb9GJByoKc8hz0PihuFx8crvOn04Y63ocSOolfbppYSlWaXpxYoZXrPhrALTEdTedL34qhXuV7ec4fLj8r3d9rbdxjcOiITkEFUPojNYsx2W_vpU/s320/sqldenaccesse7.png" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Aşağıdaki pencerede “Name” bölümüne bağlantımıza bir isim veriyoruz.“Description” isteğe bağlı. “Server” bölümüne bağlanmak istediğimiz SQL Server ismini yazıyoruz. “Next” diyerek devam ediyoruz.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgXO8A2jx255d_b3bNWH8li5I0Amo9guJ3HPi8mQKR8T01rQjwhuad_7anQE3DgIHklRZfkGdl3cOZtZwhwJitPeLHpfK3gwm2dE3RgQ5aI2lXojbJRWb4jCuwP9a1wbijj0dQsWK1Ngw4/s1600/sqldenaccesse8.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="226" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgXO8A2jx255d_b3bNWH8li5I0Amo9guJ3HPi8mQKR8T01rQjwhuad_7anQE3DgIHklRZfkGdl3cOZtZwhwJitPeLHpfK3gwm2dE3RgQ5aI2lXojbJRWb4jCuwP9a1wbijj0dQsWK1Ngw4/s320/sqldenaccesse8.png" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Aşağıdaki pencerede SQL Server’a hangi credential ile bağlanacağımızı söylüyoruz ve “Next” diyerek devam ediyoruz.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEipkEtTSRRP1U3Zcq-iIhxxOVmFnY_h-uWHpf-YR0_fHpTqn5FEr7gxXb4h_6ITvp0-RGEruFmajTnzPUffxyVzES2tHvS-mR-S_w18ZTbw3a6q6yttOKHX1pBixsp5r0bMW57ZJT_iyXk/s1600/sqldenaccesse9.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="226" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEipkEtTSRRP1U3Zcq-iIhxxOVmFnY_h-uWHpf-YR0_fHpTqn5FEr7gxXb4h_6ITvp0-RGEruFmajTnzPUffxyVzES2tHvS-mR-S_w18ZTbw3a6q6yttOKHX1pBixsp5r0bMW57ZJT_iyXk/s320/sqldenaccesse9.png" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Aşağıdaki pencerede kırmızı ile gösterilen yerde verileri almak istediğimiz "Database"i seçip “Next” diyerek devam ediyoruz.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhP5ZZrOxmcqORckX7A1NioUmgQ-sOBEiVo88PPRItwM-az7a70EzxZprygMnM1AiKp45MI7J6QglMlQf4NsAsH3zk93NngBfGlPqWeMWKWE3m-wAX_AnlB1v34AfjvmeKe6hdAr9IZinM/s1600/sqldenaccesse10.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="223" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhP5ZZrOxmcqORckX7A1NioUmgQ-sOBEiVo88PPRItwM-az7a70EzxZprygMnM1AiKp45MI7J6QglMlQf4NsAsH3zk93NngBfGlPqWeMWKWE3m-wAX_AnlB1v34AfjvmeKe6hdAr9IZinM/s320/sqldenaccesse10.png" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Aşağıdaki pencerede “Finish” diyerek devam ediyoruz.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhfW-1v4snh1eUsq8j7a-JUpY7Hgu4xLhVvmBocxvoxfGSAso0S801jUYqW6Qd3gbWOLrNvJqyjjnTDV3_AdqDJTUIMGim2qdwCUSl3KsPRw3ZijaDCp5THqKlgXo7SFdXWdCgZ3RPLBgM/s1600/sqldenaccesse11.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="227" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhfW-1v4snh1eUsq8j7a-JUpY7Hgu4xLhVvmBocxvoxfGSAso0S801jUYqW6Qd3gbWOLrNvJqyjjnTDV3_AdqDJTUIMGim2qdwCUSl3KsPRw3ZijaDCp5THqKlgXo7SFdXWdCgZ3RPLBgM/s320/sqldenaccesse11.png" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Aşağıdaki pencerede “Test Data Source” diyerek bağlantımızı sınıyoruz.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjuuuvjbcVSbW4MqpMpCkX_bfLO94u5qGxJZI74iWO0wMlmdx9muziLwRKuBx1C6fMSBA1FD4k-szQpHIrJWtXgbOuUhP4AdNgJsYNZ9yKc7_thrwjBEQr4G9-2y_Ehr1u3R0ZHQ3Um2xY/s1600/sqldenaccesse12.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjuuuvjbcVSbW4MqpMpCkX_bfLO94u5qGxJZI74iWO0wMlmdx9muziLwRKuBx1C6fMSBA1FD4k-szQpHIrJWtXgbOuUhP4AdNgJsYNZ9yKc7_thrwjBEQr4G9-2y_Ehr1u3R0ZHQ3Um2xY/s320/sqldenaccesse12.png" width="310" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Aşağıdaki gibi bir onay aldıktan sonra üç pencereye de “OK” diyerek devam ediyoruz.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEije7RCEPHBYPaPyApP5yNM-IIMbhklZTmSU4ngNJF9OZ9u634DAdJaCJFaWAgZRGkY1k0ciVeSbQnvVlggIbuEKJ4wdvrhS58463JylCITwnXTDMOQzCfEHWf4Hiuhkic_qEYiBHlsgVM/s1600/sqldenaccesse13.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEije7RCEPHBYPaPyApP5yNM-IIMbhklZTmSU4ngNJF9OZ9u634DAdJaCJFaWAgZRGkY1k0ciVeSbQnvVlggIbuEKJ4wdvrhS58463JylCITwnXTDMOQzCfEHWf4Hiuhkic_qEYiBHlsgVM/s320/sqldenaccesse13.png" width="312" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Aşağıdaki tablo penceresinden almak istediğimiz tabloları seçip “Tamam”diyerek verimizi artık Access veritabanına alıyoruz</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhlGXKnx9KGrxo5NsJCPChUiDQKAn89Un4_-CCRFuhyXOCTHPFsG5gNU6M7RdXerkCuO3jbc2a2HmWcmgs73rqkCMR76uQLLYc9h6zIQFx4hvUZIDXfejF74ahvNzZFaOlgFhytNNhEXzM/s1600/sqldenaccesse14.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="304" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhlGXKnx9KGrxo5NsJCPChUiDQKAn89Un4_-CCRFuhyXOCTHPFsG5gNU6M7RdXerkCuO3jbc2a2HmWcmgs73rqkCMR76uQLLYc9h6zIQFx4hvUZIDXfejF74ahvNzZFaOlgFhytNNhEXzM/s320/sqldenaccesse14.png" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhOJgWi39VR1zvrpP81gptRbCWMb439wKpzkZ_HN-g4ByqFcGZHbuzPmvc8lybeDDpiRMaA40rGb91J8wcgO7Ae_2vdYPocexEVTV0ULsTs9V1QMRnz6t_nrNtmWYt891z8GelpyDaNcIU/s1600/sqldenaccesse15.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhOJgWi39VR1zvrpP81gptRbCWMb439wKpzkZ_HN-g4ByqFcGZHbuzPmvc8lybeDDpiRMaA40rGb91J8wcgO7Ae_2vdYPocexEVTV0ULsTs9V1QMRnz6t_nrNtmWYt891z8GelpyDaNcIU/s400/sqldenaccesse15.png" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<a href="http://www.sinangin.com/sql-serverdan-accesse-veri-aktarimi/" rel="nofollow" target="_blank">Makalenin kaynağı için tıklayınız.</a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<br />Prografi Bilişimhttp://www.blogger.com/profile/17336200946064397770noreply@blogger.com0tag:blogger.com,1999:blog-3335512979418233385.post-65396801839184736302015-07-01T10:28:00.000+03:002015-07-01T15:15:10.684+03:00jQuery ile Resimleri Orantılı Küçültmek<div>
jQuery ile resimlere maksimum genişliği verme konusunda yazdığım örnekten sonra karşımıza şöyle bir sorun çıkabilir. Resimlerin genişliğini otomatik olarak ayarlıyoruz fakat yüksekliği de buna bağlı olarak otomatik değişmiyor. Böyle olunca orantısız ve bozuk görünüyor resimler.<br />
<br />
Bu soruna çözüm olarak aşağıdaki örnek gibi bir çözüm işimizi görecektir. Ben örnekte .cContent classlı div içerisindeki img taglı elementleri (yani resimleri) seçerek yaptım.<br />
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhgw6P1Z_HxCqlWoe2gbT2tddfMtr43Y-IwPK0grm2MyoegRDwcRjxu8sr56QkmamdWPb2_b85kjzU5NBcrL9xAxv0n385GS0laPFBkefiXGb6qWHS_fkAv7AjTm_0yK9tuqsuR0lD1Hzg/s1600/3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img alt="jQuery ile Resimleri Orantılı Küçültmek" border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhgw6P1Z_HxCqlWoe2gbT2tddfMtr43Y-IwPK0grm2MyoegRDwcRjxu8sr56QkmamdWPb2_b85kjzU5NBcrL9xAxv0n385GS0laPFBkefiXGb6qWHS_fkAv7AjTm_0yK9tuqsuR0lD1Hzg/s1600/3.png" title="jQuery ile Resimleri Orantılı Küçültmek" /></a></div>
<div style="border: 0px; color: #646464; font-family: 'Noto Sans', sans-serif; font-size: 14px; font-stretch: inherit; line-height: 22px; margin-bottom: 20px; padding: 0px; vertical-align: baseline;">
<br /></div>
<a href="http://www.sedatkumcu.com/jquery/jquery-ile-resimleri-orantili-kucultmek/" rel="nofollow" target="_blank">Makalenin kaynağı için tıklayınız.</a>
Prografi Bilişimhttp://www.blogger.com/profile/17336200946064397770noreply@blogger.com0tag:blogger.com,1999:blog-3335512979418233385.post-82059542723760368222015-07-01T10:14:00.000+03:002015-07-01T15:14:51.656+03:00ASP.NET’te C# Kullanarak Resmi Boyutlandırma ve Üzerine Çapraz Watermark Yazdırma<div>
Merhabalar.</div>
<div>
<br />
Bu yazımızda fileupload ile yüklenen bir resmin üzerine çapraz olarak nasıl “watermark” yazabileceğimizi anlatmaya çalışacağız.</div>
<div>
<br />
Buradaki çalışma mantığını şu şekilde özetleyebiliriz. Öncelikle resmi boyutlandırıyoruz. Resmin oranını bozulmaması için de genişlik ve yükseklik oranına göre uygun şekilde boyutlandırma yapılmaktadır. Resim boyutlandırdıktan sonra resmin köşegen uzunluğu alınıyor. Bu köşegen uzunluğunu watermark yazısının boyutunu belirlemek için kullanacağız. Köşegen ne kadar uzunsa yazı da o kadar büyük olacak gibi düşünebiliriz. Daha sonra da resmin köşegen eğimini hesaplayarak o eğime uygun şekilde watermarkımızı yazarak kaydediyoruz.</div>
<div>
<br />
Şimdi öncelikle bu işi yapan sınıf ve metodumuzu hazırlayalım. App_code klasörümüze Resim.cs isminde bir dosya oluşturuyoruz. Kodlarımız ise şöyle<br />
<br /></div>
<div>
</div>
<div style="line-height: normal; margin-bottom: 0.0001pt;">
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh-524Hnuy7bHqSylS0IXuWuhWn2cws7HTlzwmh5ZcDVf-9jibvRfvnlfZdjslSbneRsghceIwx2Eyd_6hjpJTDSg4nZTl1QQAYaFQdMJi6A5A8bJ0WnF8g5nQnGHeAnZO04VOBp7HtwEU/s1600/1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img alt="ASP.NET’te C# Kullanarak Resmi Boyutlandırma" border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh-524Hnuy7bHqSylS0IXuWuhWn2cws7HTlzwmh5ZcDVf-9jibvRfvnlfZdjslSbneRsghceIwx2Eyd_6hjpJTDSg4nZTl1QQAYaFQdMJi6A5A8bJ0WnF8g5nQnGHeAnZO04VOBp7HtwEU/s1600/1.png" title="ASP.NET’te C# Kullanarak Resmi Boyutlandırma" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjNmYn5Azmk4S5cnCDgY8be50mI2aPjMTIGHIIh_9tmQ6B5ezJ1YOlwFe7-W0PyEYgG_RASd8q6Pg04Ai3JTg4_ysieVANaDBJucinFbsT-1duvHHX0OgdZu00RMHWCC2ZfCsv8ODpdV7A/s1600/2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img alt="ASP.NET’te C# Kullanarak Resmi Boyutlandırma" border="0" height="366" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjNmYn5Azmk4S5cnCDgY8be50mI2aPjMTIGHIIh_9tmQ6B5ezJ1YOlwFe7-W0PyEYgG_RASd8q6Pg04Ai3JTg4_ysieVANaDBJucinFbsT-1duvHHX0OgdZu00RMHWCC2ZfCsv8ODpdV7A/s400/2.png" title="ASP.NET’te C# Kullanarak Resmi Boyutlandırma" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<br /></div>
<div>
</div>
<div style="line-height: normal; margin-bottom: 0.0001pt;">
<span style="font-family: Consolas;"><span style="font-size: 12.6666669845581px;"><a href="http://www.destekyeri.com/tr-TR/makale/aspnette-c-kullanarak-resmin-boyutlandirma-ve-uzerine-capraz-watermark-yazdirma.gbt" rel="nofollow" target="_blank">Makalenin Kaynağı için tıklayınız.</a></span></span></div>
<div style="line-height: normal; margin-bottom: 0.0001pt;">
</div>
Prografi Bilişimhttp://www.blogger.com/profile/17336200946064397770noreply@blogger.com0tag:blogger.com,1999:blog-3335512979418233385.post-71023234773459874222015-06-25T12:02:00.002+03:002015-07-01T15:13:58.020+03:00Asp.NET ile Çoklu Resim Yükleme ve BoyutlandırmaMerhaba arkadaşlar,<br />
Bu makalede Jquery kütüphanesinden yararlanarak Asp.NET (C#) ile çoklu resim yüklüyebileceğimiz bir WebForm uygulaması yapacağız.<br />
<span id="more-1"> </span><br />
<strong>Uygulamamızın sahip olacağı özellikler:</strong><br />
<ul>
<li>Çoklu resim yükleme</li>
<li>Yükleme esnasında resimlerin boyutlandırılması</li>
<li>Veri tabanına resim yollarının kaydedilmesi</li>
</ul>
<strong>1-)</strong> Şimdi Sql Server 2008 yazılımını çalıştırıp yeni bir veri tabanı oluşturarak uygulamamızı geliştirmeye başlıyalım.<br />
<img alt="Asp.NET ile Çoklu Resim Yükleme ve Boyutlandırma" src="http://resim.sanalkurs.net/uploads/veri_tabani.jpg" title="Asp.NET ile Çoklu Resim Yükleme ve Boyutlandırma" /><br />
<strong>ResimId :</strong> Her resim için bağımsız değer tutulur.Otomatik artan sayı ve birinci anahtar özellikleri belirlenir.<br />
<strong>ResimYolu :</strong> Yüklenen resmin adının tutulacağı alan.<br />
<strong>2-)</strong> Uygulamamızda kullanıcağımız dosyaları <a href="http://www.dijilive.com/storage/multi_js.rar" target="_blank">indirelim</a>.<br />
<img alt="http://resim.sanalkurs.net/uploads/gerekli_dosyalar.jpg" src="http://resim.sanalkurs.net/uploads/gerekli_dosyalar.jpg" /><br />
<strong>jquery.js :</strong> Javascript kütüphanesi.<br />
<strong>multi.js :</strong> Javascript kütüphanesine ait çoklu dosya yükleme eklentisi.<br />
<strong>3-)</strong> Visual Studio yazılımını çalıştırıp yeni bir Web Sitesi tanımlıyoruz.<br />
<strong>4-)</strong> Projemizi oluşturduktan sonra indirdiğimiz dosyaları proje kök dizinine kopyalayalım ve resim dosyalarımızın tutulacağı dizinleri oluşturalım.<br />
<img alt="Asp.NET ile Çoklu Resim Yükleme ve Boyutlandırma" src="http://resim.sanalkurs.net/uploads/kok_dizin.jpg" title="Asp.NET ile Çoklu Resim Yükleme ve Boyutlandırma" /><br />
<strong>js : </strong>Javascript kütüphane ve eklentilerimizin bulunduğu klasör.<br />
<strong>Resimler :</strong> Resim dosyalarımızın tutulacağı ana dizin.<br />
<strong>150 :</strong> 150 pixel genişliğindeki resim dosyalarımızın tutulacağı dizin.<br />
<strong>800 :</strong> 150 pixel genişliğindeki resim dosyalarımızın tutulacağı dizin.<br />
<strong>Temp :</strong> Yüklenen orjinal resim dosyalarımızın tutulacağı dizin.<br />
<strong>5-)</strong> Default.aspx sayfamızı açıp komponentlerimizi ekliyoruz.<br />
<img alt="Asp.NET ile Çoklu Resim Yükleme ve Boyutlandırma" src="http://resim.sanalkurs.net/uploads/web_form_components.jpg" title="Asp.NET ile Çoklu Resim Yükleme ve Boyutlandırma" /><br />
<strong>FileUpload :</strong> Dosya yüklemek için. ID sini fileResimler olarak değiştirelim. Class ını multi olarak belirtiyoruz.<br />
<strong>Buton :</strong> Resimlerimizi seçtikten sonra yükleme işlemini başlatmak için. ID sini<strong>btnResimYukle</strong> olarak değiştirelim.<br />
<strong>Label :</strong> Yüklenen dosyalarımızın bildirilmesi için. ID sini lblMesaj olarak değiştirelim.<br />
<strong>6-)</strong> Default.aspx sayfamızın Source kısmına geçerek gerekli dosyalarımızı çağırıyoruz.<br />
<br />
<img alt="Asp.NET ile Çoklu Resim Yükleme ve Boyutlandırma" src="http://resim.sanalkurs.net/uploads/scripts.jpg" title="Asp.NET ile Çoklu Resim Yükleme ve Boyutlandırma" /><br />
<br />
<strong>7-)</strong> Default.aspx.cs dosyasını açarak uygulamamızda kullanıcağımız C# kütüphanelerini projemize dahil ediyoruz.<br />
<br />
<img alt="Asp.NET ile Çoklu Resim Yükleme ve Boyutlandırma" src="http://resim.sanalkurs.net/uploads/namespace.jpg" title="Asp.NET ile Çoklu Resim Yükleme ve Boyutlandırma" /><br />
<br />
Yüklediğimiz resimleri boyutlandırmak için kullanıcağımız ResimBoyutlandir adlı methodumuzu oluşturalım.<br />
<br />
<img alt="Asp.NET ile Çoklu Resim Yükleme ve Boyutlandırma" src="http://resim.sanalkurs.net/uploads/img_resize_method.jpg" title="Asp.NET ile Çoklu Resim Yükleme ve Boyutlandırma" /><br />
<br />
Methodumuz iki adet parametre alıyor ve geriye boyutlandırılmış resmimizi döndürüyor.<br />
<strong>resim :</strong> Boyutlandırılacak olan orjinal resim.<br />
<strong>boyut :</strong> Kullanılacak olan genişlik değeri.<br />
<strong>ydeger :</strong> Kullanılacak olan yeni genişlik ve yükseklik değerleri.<br />
<strong>yresim :</strong> Yeni oluşturulan resim.<br />
<strong>9-)</strong> Şimdi btnResimYukle ID li butonumuza tıkladığımızda çalışacak olan resim yükleme kodlarımızı yazalım.<br />
<br />
<img alt="Asp.NET ile Çoklu Resim Yükleme ve Boyutlandırma" src="http://resim.sanalkurs.net/uploads/orjinal_resim_yukle.jpg" title="Asp.NET ile Çoklu Resim Yükleme ve Boyutlandırma" /><br />
<br />
<strong>10-)</strong> Şimdi uygulamamızı çalıştırıp resim yüklemeyi deneyelim.<br />
* Dört adet resim seçip Resim(leri) Yükle butonuna tıklıyoruz.<br />
<br />
<img alt="Asp.NET ile Çoklu Resim Yükleme ve Boyutlandırma" src="http://resim.sanalkurs.net/uploads/app_view1.jpg" title="Asp.NET ile Çoklu Resim Yükleme ve Boyutlandırma" /><br />
<br />
* Resimlerin yüklendiğini oluşturduğumuz Label komponentinde bize bildirdi.<br />
<br />
<img alt="Asp.NET ile Çoklu Resim Yükleme ve Boyutlandırma" src="http://resim.sanalkurs.net/uploads/app_view1_ok.jpg" title="Asp.NET ile Çoklu Resim Yükleme ve Boyutlandırma" /><br />
<br />
* Temp klasörümüze seçtiğimiz resimler yüklendi ama 150 ve 800 isimli klasörlerimizin boş olduğunu görüyoruz çünkü ResimBoyutlandir isimli methodumuzu henüz kullanmadık.<br />
<br />
<img alt="Asp.NET ile Çoklu Resim Yükleme ve Boyutlandırma" src="http://resim.sanalkurs.net/uploads/app_view1_temp.jpg" title="Asp.NET ile Çoklu Resim Yükleme ve Boyutlandırma" /><br />
<br />
<strong>11-)</strong> Dikkat ettiyseniz resimlerimizin ismi ingilizceye dönüşmüş olarak kaydedildi bunu jquery eklentimiz sağlamıştır.Ama aynı isimde dosya yükleme kalktığımızda problem oluşabileceği için resimlerin yüklenirken eşsiz bir isimde kaydedilmesi için gereken düzenlemeyi yapalım şimdide.<br />
* Resim ad ve uzantılırımızın saklanacağı string değişkenlerimizi ana sınıfımız içerisinde oluşturalım.<br />
<br />
<img alt="Asp.NET ile Çoklu Resim Yükleme ve Boyutlandırma" src="http://resim.sanalkurs.net/uploads/new_name_var.jpg" title="Asp.NET ile Çoklu Resim Yükleme ve Boyutlandırma" /><br />
<br />
* Resmin uzantısını uzanti adlı string değişkenimize atıyoruz.<br />
* resimadi adlı string değişkenimizdede DateTime sınıfından yararlanarak benzersiz bir değer oluşturup sonunada resim uzantısını ekleyerek resmimize atanacak yeni adı oluşturuyoruz.<br />
<br />
<img alt="Asp.NET ile Çoklu Resim Yükleme ve Boyutlandırma" src="http://resim.sanalkurs.net/uploads/new_name_var1.jpg" title="Asp.NET ile Çoklu Resim Yükleme ve Boyutlandırma" /><br />
<br />
* Resmi resimadi değişkenindeki adla kaydetmek için kod satırımızdaki fileName yerine resimadi değişkenizi kullanıyoruz.<br />
<br />
<img alt="Asp.NET ile Çoklu Resim Yükleme ve Boyutlandırma" src="http://resim.sanalkurs.net/uploads/img_temp_save.jpg" title="Asp.NET ile Çoklu Resim Yükleme ve Boyutlandırma" /><br />
<br />
<strong>12-)</strong> Uygulamamızı yeniden çalıştırıp yeni yüklenen resimlerin isimlerine bakacak olursak değiştiğini göreceğiz.<br />
<br />
<img alt="Asp.NET ile Çoklu Resim Yükleme ve Boyutlandırma" src="http://resim.sanalkurs.net/uploads/img_new_name.jpg" title="Asp.NET ile Çoklu Resim Yükleme ve Boyutlandırma" /><br />
<br />
<strong>13-)</strong> ResimBoyutlandir methodumuzu kullanarak resimlerimizi boyutlandıralım.<br />
<br />
<img alt="Asp.NET ile Çoklu Resim Yükleme ve Boyutlandırma" src="http://resim.sanalkurs.net/uploads/150px.jpg" title="Asp.NET ile Çoklu Resim Yükleme ve Boyutlandırma" /><br />
<br />
<strong>resim :</strong> Yeni bir bitmap nesnesi oluşturup yüklenen resmimizi bu nesneye atıyoruz.<br />
<strong>resim :</strong> Oluşturduğumuz bitmap nesnesine 150px genişliğinde oluşturulan yeni <strong>resmi atıyoruz.</strong><br />
[b]resim.Save : Oluşturulan yeni resmi 150 adlı klasörümüze kaydediyoruz.<br />
* 800px genişliğindeki resmin oluşturulması için kodumuzu biraz düzenliyoruz.<br />
<br />
<img alt="Asp.NET ile Çoklu Resim Yükleme ve Boyutlandırma" src="http://resim.sanalkurs.net/uploads/800px.jpg" title="Asp.NET ile Çoklu Resim Yükleme ve Boyutlandırma" /><br />
<br />
<strong>14-)</strong> Uygulamamızı çalıştırdığımızda yüklediğimiz resimlerin orjinallerinin yanında iki farklı boyutta (150px ve 800px genişliğinde) kopyalarının oluştuğunu görüyoruz.<br />
<br />
* Temp klasörü<br />
<br />
<img alt="Asp.NET ile Çoklu Resim Yükleme ve Boyutlandırma" src="http://resim.sanalkurs.net/uploads/temp.jpg" title="Asp.NET ile Çoklu Resim Yükleme ve Boyutlandırma" /><br />
<br />
* 150 klasörü<br />
<br />
<img alt="Asp.NET ile Çoklu Resim Yükleme ve Boyutlandırma" src="http://resim.sanalkurs.net/uploads/150.jpg" title="Asp.NET ile Çoklu Resim Yükleme ve Boyutlandırma" /><br />
<br />
* 800 klasörü<br />
<br />
<img alt="Asp.NET ile Çoklu Resim Yükleme ve Boyutlandırma" src="http://resim.sanalkurs.net/uploads/800.jpg" title="Asp.NET ile Çoklu Resim Yükleme ve Boyutlandırma" /><br />
<br />
<strong>15-)</strong> Son adım olarak yüklenen resimlerinin adlarının veri tabanına kaydedilmesi için gereken kodları uygulamamıza ekleyelim.<br />
<br />
<img alt="Asp.NET ile Çoklu Resim Yükleme ve Boyutlandırma" src="http://resim.sanalkurs.net/uploads/vtkaydet.jpg" title="Asp.NET ile Çoklu Resim Yükleme ve Boyutlandırma" /><br />
<br />
<strong>16-)</strong> Uygulamamızı çalıştırdığımızda yüklenen resimlerin adlarının veri tabanına kaydedildiğini görüyoruz.<br />
<br />
<img alt="Asp.NET ile Çoklu Resim Yükleme ve Boyutlandırma" src="http://resim.sanalkurs.net/uploads/vt.jpg" title="Asp.NET ile Çoklu Resim Yükleme ve Boyutlandırma" /><br />
<br />
<br />
<strong><a href="http://www.sanalkurs.net/zip/6380.rar" rel="nofollow" target="_blank">Kaynak dosyayı indirmek için tıklayın</a></strong><br />
<br />
Bu Yazı SanalKurs.NET sitesinden Burak KIRBAĞ tarafından yazılmıştır.Anonymoushttp://www.blogger.com/profile/06732857243832989166noreply@blogger.com0tag:blogger.com,1999:blog-3335512979418233385.post-805998413401943772015-06-12T10:09:00.001+03:002015-07-01T15:09:45.477+03:00AddThis Sosyal Medya KullanımıAddThis kullanımına siteye üye olmakla başlıyoruz. Siteye üye olduktan sonra Tools menüsünden Sharing Buttons seçin.<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhgP2ZtKdzhHt8NL7A6D7xPUFEfcm3CuCACbI4KB2Gi0T6OU9NIz73CsyF1cjGlnukxB1sSJx2fCR6EdyT4xc45ujhw-rg_d5knVi6MiJILNANpOHybF3IatrUSLMYk8e08L6pj0A2qmbfd/s1600/1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img alt="Add This" border="0" height="216" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhgP2ZtKdzhHt8NL7A6D7xPUFEfcm3CuCACbI4KB2Gi0T6OU9NIz73CsyF1cjGlnukxB1sSJx2fCR6EdyT4xc45ujhw-rg_d5knVi6MiJILNANpOHybF3IatrUSLMYk8e08L6pj0A2qmbfd/s400/1.png" title="AddThis" width="400" /></a></div>
<br />
<br />
Seçtiğimiz button görünümünden sonra düzenleme yapıyoruz.<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhyhAnMnxfLiGK4pwiWtgRzuqTLxbJbqdqdJNs2VzH39-itxZcrFIHcGc3yXIYzpL6vaSoXpGtja-_GDkpnRGZsVg0slBAZh0W737vN-SZu3BFx7cozC0-Wyy6c5fmtFr3lYiyl5ZeRabUC/s1600/2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img alt="AddThis Sosyal Medya Kullanımı" border="0" height="216" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhyhAnMnxfLiGK4pwiWtgRzuqTLxbJbqdqdJNs2VzH39-itxZcrFIHcGc3yXIYzpL6vaSoXpGtja-_GDkpnRGZsVg0slBAZh0W737vN-SZu3BFx7cozC0-Wyy6c5fmtFr3lYiyl5ZeRabUC/s400/2.png" title="AddThis Sosyal Medya Kullanımı" width="400" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Açılan pencereden siteye eklenecek kodu alıyoruz ve siteye ekliyoruz.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj9Ng4SGxg8MCMCsAAlk2Pjrzvs7SWF8R4uVpAHOYVHKxeaQ7jWHsPm6mUSfBGUIo_x9QXXmIJYNR6zqhJlGC5WrnbfPswtBuO5AZPQQLSy6xszuKv5FbEmbePtSTn_2NViyi7nDOWpY5EA/s1600/3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img alt="AddThis Sosyal Medya Kullanımı" border="0" height="216" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj9Ng4SGxg8MCMCsAAlk2Pjrzvs7SWF8R4uVpAHOYVHKxeaQ7jWHsPm6mUSfBGUIo_x9QXXmIJYNR6zqhJlGC5WrnbfPswtBuO5AZPQQLSy6xszuKv5FbEmbePtSTn_2NViyi7nDOWpY5EA/s400/3.png" title="AddThis Sosyal Medya Kullanımı" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Siteye eklediğimiz kodların içine de button linkleri ekliyoruz.</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhhGdKW0wfJMLWyGKPPtWHFbkOrPAZWSDD4DNjHjNcb1vbhODLV9IhXxk6dmRzstMD-AqzyTDLJXOnCAEnunqwfRWb9NoCorg8wlnFvJu4MzKSR0oynED21DUOeDSGIfcHoaE9rSEX61EFd/s1600/4.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img alt="AddThis Sosyal Medya Kullanımı" border="0" height="117" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhhGdKW0wfJMLWyGKPPtWHFbkOrPAZWSDD4DNjHjNcb1vbhODLV9IhXxk6dmRzstMD-AqzyTDLJXOnCAEnunqwfRWb9NoCorg8wlnFvJu4MzKSR0oynED21DUOeDSGIfcHoaE9rSEX61EFd/s400/4.png" title="AddThis Sosyal Medya Kullanımı" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Sosyal butonları ekledik. </div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<br />Anonymoushttp://www.blogger.com/profile/06732857243832989166noreply@blogger.com0tag:blogger.com,1999:blog-3335512979418233385.post-47186538046213059722015-05-05T14:53:00.001+03:002015-05-05T14:54:05.349+03:00İbrahim Atay ASP.Net MVC Öğreniyorum Maceramİbrahim Atay'ın hazırladığı MVC Eğitim videoları...<br />
<br />
<br />
<ul>
<li><span lang="EN-US" xml:lang="EN-US"><a href="http://www.ibrahimatay.org/post/2010/8/25/ASPNET-MVC-Ogreniyorum-1.aspx" target="_blank"><em>ASP.NET MVC Öğreniyorum – 1 (Giriş)</em></a></span></li>
<li><span lang="EN-US" xml:lang="EN-US"><a href="http://www.ibrahimatay.org/post/2010/9/13/ASPNET-MVC-Ogreniyorum-2.aspx" target="_blank"><em>ASP.NET MVC Öğreniyorum – 2 (Controller ve View)</em></a></span></li>
<li><span lang="EN-US" xml:lang="EN-US"><a href="http://www.ibrahimatay.org/post/2010/10/2/aspnet-mvc-ogreniyorum-3.aspx" target="_blank"><em>ASP.NET MVC Öğreniyorum – 3 (Rounting)</em></a></span></li>
<li><span lang="EN-US" xml:lang="EN-US"><a href="http://www.ibrahimatay.org/post/2010/10/23/ASPNet-MVC-ogreniyorum-proje-uygulamasi.aspx" target="_blank"><em>ASP.Net MVC Öğreniyorum Proje Uygulaması</em></a></span></li>
<li><span lang="EN-US" xml:lang="EN-US"><a href="http://www.ibrahimatay.org/post/2010/11/12/ASPNET-MVC-ogreniyorum-4.aspx" target="_blank"><em>ASP.NET MVC Öğreniyorum – 4 (Model)</em></a></span></li>
<li><span lang="EN-US" xml:lang="EN-US"><a href="http://www.ibrahimatay.org/post/2010/11/20/ASPNET-MVC-ogreniyorum%E2%80%935-(-Log4net-).aspx" target="_blank"><em>ASP.NET MVC Öğreniyorum – 5 (Log4net)</em></a></span></li>
<li><span lang="EN-US" xml:lang="EN-US"><a href="http://www.ibrahimatay.org/post/2011/1/11/ASPNET-MVC-ogreniyorume28093-6-Entities.aspx" target="_blank"><em>ASP.NET MVC Öğreniyorum – 6 (Entities)</em></a></span></li>
<li><span lang="EN-US" xml:lang="EN-US"><a href="http://www.ibrahimatay.org/post/2011/1/18/ASPNET-MVC-Ogreniyorum%E2%80%937-(-FluentValidation-).aspx" target="_blank"><em>ASP.NET MVC Öğreniyorum – 7 (FluentValidation)</em></a></span></li>
<li><span lang="EN-US" xml:lang="EN-US"><a href="http://www.ibrahimatay.org/post/2011/1/28/ASPNET-MVC-Ogreniyorum-8-(Nhibernate).aspx" target="_blank"><em>ASP.NET MVC Öğreniyorum – 8 (Nhibernate)</em></a></span></li>
<li><span lang="EN-US" xml:lang="EN-US"><a href="http://www.ibrahimatay.org/post/2011/2/7/ASPNet-MVC-9-(-Nhibernate-Configutarion-).aspx" target="_blank"><em>ASP.NET MVC Öğreniyorum – 9 (Nhibernate Configutarion)</em></a></span></li>
<li><span lang="EN-US" xml:lang="EN-US"><a href="http://www.ibrahimatay.org/post/2011/2/9/ASPNET-MVC-Ogreniyorum-e28093-10-(Database-Model).aspx" target="_blank"><em>ASP.NET MVC Öğreniyorum – 10 (Database Model)</em></a></span></li>
<li><span lang="EN-US" xml:lang="EN-US"><a href="http://www.ibrahimatay.org/post/2011/2/9/ASPNET-MVC-Ogreniyorum-e28093-11-(Mapping).aspx" target="_blank"><em>ASP.NET MVC Öğreniyorum – 11 (Mapping)</em></a></span></li>
<li><span lang="EN-US" xml:lang="EN-US"><a href="http://www.ibrahimatay.org/post/2011/2/10/ASPNET-MVC-Ogreniyorum%E2%80%93%2012-(-Test-Drive-Developmet-).aspx" target="_blank"><em>ASP.NET MVC Öğreniyorum – 12 (Test Drive Developmet)</em></a></span></li>
<li><span lang="EN-US" xml:lang="EN-US"><a href="http://www.ibrahimatay.org/post/2011/2/11/ASPNET-MVC-Ogreniyorum-13-(-AntiXSSLibrary-).aspx" target="_blank"><em>ASP.NET MVC Öğreniyorum – 13 (AntiXSSLibrary)</em></a></span></li>
<li><span lang="EN-US" xml:lang="EN-US"><a href="http://www.ibrahimatay.org/post/2011/2/12/ASPNET-MVC-Ogreniyorum-14-(-Spark-View-Engine-).aspx" target="_blank"><em>ASP.NET MVC Öğreniyorum – 14 (Spark View Engine)</em></a></span></li>
<li><span lang="EN-US" xml:lang="EN-US"><a href="http://www.ibrahimatay.org/post/2011/2/14/ASPNET-MVC-Ogreniyorum-15-(-Layout-ve-View-).aspx" target="_blank"><em>ASP.NET MVC Öğreniyorum – 15 (Layout ve View)</em></a></span></li>
<li><span lang="EN-US" xml:lang="EN-US"><a href="http://www.ibrahimatay.org/post/2011/3/23/ASPNet-MVC-ile-Web-Uygulamalari-16-(-JQuery-).aspx" target="_blank"><em>ASP.NET MVC Öğreniyorum – 16 (JQuery)</em></a></span></li>
<li><span lang="EN-US" xml:lang="EN-US"><a href="http://www.ibrahimatay.org/post/2011/3/24/ASPNet-MVC-ile-Web-Uygulamalari-17-(-MVCContrib-).aspx" target="_blank"><em>ASP.NET MVC Öğreniyorum – 17 (MVCContrib)</em></a></span></li>
<li><span lang="EN-US" xml:lang="EN-US"><a href="http://www.ibrahimatay.org/post/2011/7/25/ASPNET-MVC-Ogreniyorum%E2%80%9318-(-Arayuz-Tasarimi-).aspx" target="_blank"><em>ASP.NET MVC Öğreniyorum – 18 (Arayüz Tasarımı)</em></a></span></li>
<li><span lang="EN-US" xml:lang="EN-US"><a href="http://www.ibrahimatay.org/post/2011/7/26/ASPNET-MVC-Ogreniyorum-19-(Host-Islemleri).aspx" target="_blank"><em>ASP.NET MVC Öğreniyorum – 19 (Host İşlemleri)</em></a></span></li>
<li><span lang="EN-US" xml:lang="EN-US"><a href="http://www.ibrahimatay.org/post/2011/7/26/ASPNET-MVC-Ogreniyorum-20.aspx" target="_blank"><em>ASP.NET MVC Öğreniyorum – 20 </em></a></span></li>
</ul>
<span lang="EN-US" xml:lang="EN-US"><em> “</em><a href="http://www.ibrahimatay.org/category/ASPNET-MVC-Ogreniyorum.aspx" target="_blank"><em>ASP.Net MVC Öğreniyorum</em></a><em>” serisi 19 video,20 blog içeriği ve bir uygulama projesinde oluşmaktadır.</em></span><br />
<span lang="EN-US" xml:lang="EN-US"><em>“</em><a href="http://www.ibrahimatay.org/category/ASPNET-MVC-Ogreniyorum.aspx" target="_blank" title="ASP.Net MVC Öğreniyorum"><em>ASP.Net MVC Öğreniyorum</em></a><em>”</em> video serisi sürecinde <strong>ASP.Net MVC</strong> 2 ve 3 sürümlerin geçiş dönemine gelmesi, <strong>ASP.Net MVC 3</strong> bilgilerimi anlatabileceğim <em>“</em><a href="http://www.ibrahimatay.org/post/2011/1/15/ASPNET-MVC-3-RC-Surumune-Bakis-Webiner-Notlari.aspx" target="_blank"><em>ASP.NET MVC 3 RC Sürümüne Bakış</em></a><em>”</em> internet seminerinin temellerini oluşturmuştur. Aşağıda <em>“</em><a href="http://www.ibrahimatay.org/post/2011/1/15/ASPNET-MVC-3-RC-Surumune-Bakis-Webiner-Notlari.aspx" target="_blank"><em>ASP.NET MVC 3 RC Sürümüne Bakış</em></a><em>”</em>internet semineri ile ilgili metrayeller ilgili bağlantılar bulunmaktadır.</span><br />
<span lang="EN-US" xml:lang="EN-US"><em>Video kayıt / </em></span><a href="http://bit.ly/ASPNetMVC3WebinerVideo" target="_blank"><em>http://bit.ly/ASPNetMVC3WebinerVideo</em></a><br />
<span lang="EN-US" xml:lang="EN-US"><em>İnternet Semineri sunumu / </em></span><a href="http://bit.ly/ASPNetMVC3RCWebiner" target="_blank"><em>http://bit.ly/ASPNetMVC3RCWebiner</em></a><br />
<em>uygulama kaynak kodları / </em><em><a href="http://bit.ly/ASPNetMVC3Samples" target="_blank">http://bit.ly/ASPNetMVC3Samples</a></em><br />
<br />
<a href="http://www.ibrahimatay.org/category/ASPNET-MVC-Ogreniyorum.aspx" rel="nofollow" target="_blank">Kaynak</a>Prografi Bilişimhttp://www.blogger.com/profile/17336200946064397770noreply@blogger.com0tag:blogger.com,1999:blog-3335512979418233385.post-80449271312402628902015-05-05T14:47:00.001+03:002015-05-05T15:06:37.000+03:00C# İle Generic List ve DataTableHerhangi bir veritabanından çektiğimiz verileri işlerken ya da görüntülerken Veri Kaynağı Konfigrasyon Sihirbazı (Data Source Configuration Wizard) kullanmadan veriyi bir class ile modelleyerek ilgili data kontrolüne (GridView, Repeater vb.) kod tarafında bağlamak isteyebiliriz. Veriyi bir class ile modelleyerek kullanmak iş yükünü ve sürecini uzatır ama bize daha fazla hareket alanı ve kontrol sağlar. Teknik olarak bu bir zorunluluk değildir ancak veriyi bu şekilde işlerken<a href="http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqldataadapter.aspx" target="_blank">SqlDataAdapter</a> yerine <a href="http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqldatareader.aspx" target="_blank">SqlDataReader</a> kullanmamız performans anlamında özellikle veri yükümüz arttığında bir hayli performans artışı sağlar.<br />
Class ile modellediğimiz veriyi bir <a href="http://msdn.microsoft.com/en-us/library/6sh2ey19%28v=VS.80%29.aspx" target="_blank">Generic List</a> ‘e atayıp <a href="http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.gridview.aspx" target="_blank" title="GridView">GridView</a>, <a href="http://msdn.microsoft.com/en-us/library/system.windows.forms.listview.aspx" target="_blank">ListView</a>, <a href="http://msdn.microsoft.com/en-us/library/system.windows.forms.listbox.aspx" target="_blank">ListBox</a>, <a href="http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.checkboxlist.aspx" target="_blank">CheckBoxList</a>vs.. gibi kontrollerden birine bağlayabiliriz. Ancak bazen Generic List’e atanmış bu veriyi <a href="http://msdn.microsoft.com/en-us/library/system.data.datatable.aspx" target="_blank">DataTable</a>‘a dönüştürme ihtiyacı duyabiliriz. Mesela <a href="http://mcoban.com/datatable-icindeki-veriyi-csv-olarak-export-etmek/">şuradaki</a> yazımda bahsettiğim örnekte olduğu gibi metodun parametre olarak bir DataTable istediği durumlarda bu dönüşümü yapacak bir class/metod işimize yarayacaktır. Şimdi basitçe bunu nasıl yapılacağını göreceğiz. Bir örnek senaryo üzerinden gidelim:<br />
Veritabanımızda <strong>Kisiler </strong>isminde bir tablomuz var. Bu tablodan çekeceğimiz veriyi modelleyeceğimiz class’ımız:<br />
<blockquote>
<span style="color: #e06666;">public class KisilerDM;</span><br />
<span style="color: #e06666;">{</span><br />
<span style="color: #e06666;">public string Ad { get; set; }</span><br />
<span style="color: #e06666;">public string Soyad { get; set; }</span><br />
<span style="color: #e06666;">public string Adres { get; set; }</span><br />
<span style="color: #e06666;">public string Telefon { get; set; }</span><br />
<span style="color: #e06666;">public string Email { get; set; }</span><br />
<span style="color: #e06666;">public KisilerDM(string Ad, string Soyad, string Adres, string Telefon, string Email)</span><br />
<span style="color: #e06666;">{</span><br />
<span style="color: #e06666;">this.Ad = Ad;</span><br />
<span style="color: #e06666;">this.Soyad = Soyad;</span><br />
<span style="color: #e06666;">this.Adres = Adres;</span><br />
<span style="color: #e06666;">this.Telefon = Telefon;</span><br />
<span style="color: #e06666;">this.Email = Email;</span><br />
<span style="color: #e06666;">}
}</span></blockquote>
Şimde de verimizi SqlDataReader ile çekerek bu class üzerinden modelleyelim:<br />
<blockquote>
<span style="color: #e06666;">using System;</span><br />
<span style="color: #e06666;">using System.Collections.Generic;</span><br />
<span style="color: #e06666;">using System.Data;</span><br />
<span style="color: #e06666;">using System.Data.SqlClient;</span><br />
<span style="color: #e06666;">public class Kisiler</span><br />
<span style="color: #e06666;">{</span><br />
<span style="color: #e06666;">public Kisiler()</span><br />
<span style="color: #e06666;">{</span><br />
<span style="color: #e06666;">}</span><br />
<span style="color: #e06666;">public static List<kisilerdm> KisileriGetir()<br />
{<br />
List<kisilerdm> kisiler = new List<kisilerdm>();<br />
SqlConnection Conn = new SqlConnection();<br />
Conn.ConnectionString = "";<br />
Conn.Open();<br />
SqlCommand Cmd = new SqlCommand("SELECT Ad, Soyad, Adres, Telefon, Email FROM Kisiler", Conn);<br />
Cmd.CommandType = CommandType.Text;<br />
Cmd.Parameters.Add("@Ad", SqlDbType.NVarChar);<br />
Cmd.Parameters.Add("@Soyad", SqlDbType.NVarChar);<br />
Cmd.Parameters.Add("@Adres", SqlDbType.NVarChar);<br />
Cmd.Parameters.Add("@Telefon", SqlDbType.NVarChar);<br />
Cmd.Parameters.Add("@Email", SqlDbType.NVarChar);
<br />
SqlDataReader dr = Cmd.ExecuteReader(CommandBehavior.CloseConnection);<br />
while (dr.Read())<br />
{<br />
kisiler.Add(new KisilerDM(<br />
// veri null döndüğünde hata almamak için aşağıdaki gibi<br />
// conditional operator (?:) kullandık.<br />
dr.IsDBNull(0) ? String.Empty : dr.GetString(0), // Ad<br />
dr.IsDBNull(1) ? String.Empty : dr.GetString(1), // Soyad<br />
dr.IsDBNull(2) ? String.Empty : dr.GetString(2), // Adres<br />
dr.IsDBNull(3) ? String.Empty : dr.GetString(3), // Telefon<br />
dr.IsDBNull(4) ? String.Empty : dr.GetString(4) // Email<br />
));<br />
}<br />
dr.Close();<br />
return kisiler;<br />
}<br />
}</kisilerdm></kisilerdm></kisilerdm></span></blockquote>
Artık yukarıdaki metodumuz bize verilerimizden oluşan bir generic list döndürüyor. Bu generic list’i bize DataTable olarak döndürecek class ve metodlarımız:<br />
<blockquote>
<span style="color: #e06666;">using System;</span><br />
<span style="color: #e06666;">using System.Collections.Generic;</span><br />
<span style="color: #e06666;">using System.ComponentModel;</span><br />
<span style="color: #e06666;">using System.Data;</span><br />
<span style="color: #e06666;">public class MyData</span><br />
<span style="color: #e06666;">{</span><br />
<span style="color: #e06666;">// bu metotla dönüştürmeyi yapılacak</span><br />
<span style="color: #e06666;">public static DataTable ConvertGenericListToDataTable<t>(IList<t> list)<br />
{<br />
DataTable dt = CreateTable<t>();<br />
Type entityType = typeof(T);<br />
PropertyDescriptorCollection properties = TypeDescriptor.GetProperties(entityType);<br />
foreach (T item in list)<br />
{<br />
DataRow dr = dt.NewRow();<br />
foreach (PropertyDescriptor property in properties)<br />
{<br />
dr[property.Name] = property.GetValue(item);<br />
}<br />
dt.Rows.Add(dr);<br />
}<br />
return dt;<br />
}<br /><br />
private static DataTable CreateTable<t>()<br />
{<br />
Type entityType = typeof(T);<br />
DataTable dt = new DataTable(entityType.Name);<br />
PropertyDescriptorCollection properties = TypeDescriptor.GetProperties(entityType);<br />
foreach (PropertyDescriptor property in properties)<br />
{<br />
dt.Columns.Add(property.Name, property.PropertyType);<br />
}<br />
return dt;<br />
}<br />
}</t></t></t></t></span></blockquote>
Örnek kullanım:<br />
<blockquote>
<span style="color: #e06666;">List<kisilerdm> liste = KisileriGetir();<br />
DataTable MyDataTable = MyData.ConvertGenericListToDataTable<t>(liste);</t></kisilerdm></span></blockquote>
<br />
<a href="http://mcoban.com/category/asp-net/" rel="nofollow" target="_blank">Kaynak</a>Prografi Bilişimhttp://www.blogger.com/profile/17336200946064397770noreply@blogger.com0tag:blogger.com,1999:blog-3335512979418233385.post-76885292413806906782015-05-05T14:30:00.001+03:002015-07-01T15:07:47.143+03:00Web.config İle Uygulama Ayarlarını Class Üzerinden Daha Etkin KullanmakAsp.NET projelerimizin olmazsa olmazı -ki olmazsa uygulama çalışmaz :)- web.config dosyamızda <appSettings> düğümü içerisinde uygulamada kullanmak üzere bir çok anahtar tanımlarız. Bunları tıpkı bir class içindeki property’ler gibi etkin kullanabilmek adına kendi projelerimde kullanmak için bir pratik bir yöntem geliştirdim ve paylaşmak istedim. Adım adım nasıl yapılacağını görelim:<br />
Yeni bir “Asp.NET Web Site” oluşturuyoruz. Projemizi bir kez <strong>F5</strong> ile Debug ediyoruz ki <strong>web.config</strong>dosyamdaki girdiler VWD ya da VS tarafından güncellensin. Öncelikle aşağıdaki ekran görüntüsünde de görüldüğü üzere sitemize uygulama ayarları için <strong>web.config</strong>‘den bağımsız olarak farklı bir <strong>“Web Configuration File”</strong> dosyası oluşturup ekliyoruz. Bu dosyaya ben <strong>“appSettings.config”</strong> adını veriyorum ve <strong>“App_Data”</strong> klasörüne kaydediyorum. Bu klasöre kaydetmek zorunlu değil. Ancak hostta bu klasör varsayılan olarak yazma iznine sahip olduğu için host’a yüklediğimde tekrar yazma izinleri ile uğraşmak zorunda kalmayacağım için tercihimi bu yönde kullandım.<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="http://mcoban.com/wp-content/uploads/webconfig1.png" style="margin-left: auto; margin-right: auto;"><img alt="app.Settings.config dosyasını oluşturma" src="http://mcoban.com/wp-content/uploads/webconfig1.png" height="386" title="app.Settings.config dosyasını oluşturma" width="556" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Web.config İle Uygulama Ayarlarını Class Üzerinden Daha Etkin Kullanmak</td></tr>
</tbody></table>
Yukarıdaki resimde sağ tarafta oluşturduğumuz yeni konfigrasyon dosyasının içeriği görünmekte. Burada en üstteki <strong><?xml version="1.0"?></strong> satırı hariç diğer satırları silip onun yerine aşağıdaki gibi<strong><appSettings></appSettings></strong> düğümünü ekliyoruz. Ayarlarımızı bu düğümler içerisine yazacağız. Örnek olarak aşağıdaki resimde de görüldüğü gibi iki adet anahtarımız var.<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="http://mcoban.com/wp-content/uploads/webconfig2.png" style="margin-left: auto; margin-right: auto;"><img alt="" src="http://mcoban.com/wp-content/uploads/webconfig2.png" height="156" title="appSettings.config ayarları 2" width="508" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Web.config İle Uygulama Ayarlarını Class Üzerinden Daha Etkin Kullanmak</td></tr>
</tbody></table>
Şimdi <strong>web.config</strong> dosyamızda yeni oluşturduğumuz bu dosyanın yolunu <configuration>düğümünün hemen altında aşağıdaki biçimde tanımlıyoruz:<br />
<a href="http://mcoban.com/wp-content/uploads/webconfig5.png"><img alt="" src="http://mcoban.com/wp-content/uploads/webconfig5.png" height="50" title="webconfig5" width="551" /></a><br />
Şimdi projemize bir <strong>“App_Code”</strong> klasörü ekleyip uygulamamız içinden bu değerlere pratik bir biçimde erişebileceğimiz, güncelleyebileceğimiz class’larımızı yazmaya başlayabiliriz. İlk class’ımızbizim ayarları güncelleyebileceğimiz metodumuzu barındıran <strong>SettingsBase</strong> isimli class’ımız olacak. Bu class’ı <strong>SettingsBase.cs </strong>isimli dosya adı ile oluşturuyoruz.<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="http://mcoban.com/wp-content/uploads/webconfig3.png" style="margin-left: auto; margin-right: auto;"><img alt="" src="http://mcoban.com/wp-content/uploads/webconfig3.png" height="300" title="webconfig3" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Web.config İle Uygulama Ayarlarını Class Üzerinden Daha Etkin Kullanmak</td></tr>
</tbody></table>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
SettingBase.cs dosyası içeriği:<br />
<br />
Buradaki <strong>SaveSetting</strong> metodunu bilinçli olarak static tanımladım. Böylece class’ın yeni bir instance’ını oluşturmak zorunda kalmadan değeri <strong>set </strong>edebiliriz. Ayrıca <strong>appSettings.config</strong>dosyanızı <strong>App_Data</strong> dışında bir klasöre kaydettiyseniz, metot içindeki <strong>string baseDir = System.Web.HttpContext.Current.Server.MapPath(“~/App_Data/”); </strong>satırını da ona göre değiştirmelisiniz.<br />
Şimdi ise <strong>Settings</strong> isimli ayarlarımızın property’lerinin bulunacağı class’ımızı <strong>Settings.cs</strong> dosya adıyla oluşturacağız. Ve class’ı da <strong>SettingsBase</strong> isimli class’ımızdan türeteceğiz ki oradaki<strong>SaveSetting</strong> metodunu kullanabilelim.<br />
Setting.cs dosyası içeriği:<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="http://mcoban.com/wp-content/uploads/webconfig4.png" style="margin-left: auto; margin-right: auto;"><img alt="" src="http://mcoban.com/wp-content/uploads/webconfig4.png" height="640" title="webconfig4" width="532" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Web.config İle Uygulama Ayarlarını Class Üzerinden Daha Etkin Kullanmak</td></tr>
</tbody></table>
Artık ayarlarımızı class’ımız üzerinden <strong>get/set</strong> edebiliriz. Örnek olarak sitemizin ana sayfasının browser başlığını bu class içindeki property’den alalım. Bunun için Page_Load event’i içinde aşağıdaki kodu yazmamız yeterli olacaktır:<br />
<a href="http://mcoban.com/wp-content/uploads/webconfig6.png"><img alt="" src="http://mcoban.com/wp-content/uploads/webconfig6.png" height="65" title="webconfig6" width="375" /></a><br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="http://mcoban.com/wp-content/uploads/webconfig7.png" style="margin-left: auto; margin-right: auto;"><img alt="" src="http://mcoban.com/wp-content/uploads/webconfig7.png" height="65" title="webconfig7" width="375" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Web.config İle Uygulama Ayarlarını Class Üzerinden Daha Etkin Kullanmak</td></tr>
</tbody></table>
Sonuç olarak aşağıda görüldüğü gibi browser’ımızın başlığı bizim <strong>appSettings.config</strong> içinde tanımladığımız değer oldu. Aynı şekilde asp.net sayfamız içindeki bir kontrole ya da kodumuz içindeki herhangi bir string değişkene de atayabiliriz.<br />
Bir de tanımladığımız bir değeri değiştirmeyi deneyelim. Mesela browser başlığını değiştirelim. Bunun için aşağıdaki kod bloğunu çalıştıralım:<br />
<a href="http://mcoban.com/wp-content/uploads/webconfig8.png"><img alt="" src="http://mcoban.com/wp-content/uploads/webconfig8.png" height="65" title="webconfig8" width="375" /></a><br />
İşte appSettings.config içindeki “SiteTitle” anahtarımızın değeri:<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="http://mcoban.com/wp-content/uploads/webconfig9.png" style="margin-left: auto; margin-right: auto;"><img alt="" src="http://mcoban.com/wp-content/uploads/webconfig9.png" height="65" title="webconfig9" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Web.config İle Uygulama Ayarlarını Class Üzerinden Daha Etkin Kullanmak</td></tr>
</tbody></table>
Görüldüğü gibi <strong>Settings</strong> class’ımızdaki property üzerinden hem <strong>get</strong> hem de <strong>set</strong> işlemini pratik bir biçimde yapabiliyoruz. Siz kendi projelerinizdeki ihtiyaçlara göre bu class’ı geliştirebilirsiniz. Mesela Int32 türünde değer alan property’ler için <strong>set</strong> bloğunda bir <strong>TryParse</strong> denetimi ile tam sayı (integer) olmayan değerlerin kaydedilmesini engelleyebilirsiniz.<br />
<br />
<a href="http://mcoban.com/web-config-ile-uygulama-ayarlarini-class-uzerinden-daha-etkin-kullanmak/" rel="nofollow" target="_blank">Kaynak</a>Prografi Bilişimhttp://www.blogger.com/profile/17336200946064397770noreply@blogger.com0tag:blogger.com,1999:blog-3335512979418233385.post-23401719727219255022015-04-10T15:07:00.000+03:002015-04-10T15:08:07.517+03:00DropDownList içerisindeki bir eleman nasıl devre dışı bırakılır?<asp:dropdownlist autopostback="False" id="DropDownList1" runat="server" width="235px"><br />
<asp:listitem>1</asp:listitem><br />
<asp:listitem>2</asp:listitem><br />
<asp:listitem>3</asp:listitem><br />
<asp:listitem>4</asp:listitem><br />
</asp:dropdownlist><br />
<br />
<br />
<br />
protected void Page_Load(object sender, EventArgs e)<br />
{<br />
DropDownList1.Attributes.Add("onchange", "change();");<br />
}<br />
<br />
<script type="text/javascript"><br />
function change()<br />
{<br />
var dd=document.getElementById ('<%=DropDownList1.ClientID %>');<br />
var value=dd.options[dd.selectedIndex].value;<br />
if(value!="2") // 2 numaralı elemanı devre dışı bırakmak isterseniz<br />
{<br />
setTimeout("__doPostBack('DropDownList1','')", 0);<br />
}<br />
}<br />
</script>Prografi Bilişimhttp://www.blogger.com/profile/17336200946064397770noreply@blogger.com0tag:blogger.com,1999:blog-3335512979418233385.post-68776631027882746802015-04-06T15:29:00.000+03:002015-04-06T15:32:16.218+03:00Bir Sql Tablosundan Random Row GetirmeSQL Database inden rastgele row lar seçmek için güzel bir sql query sini sizinle paylaşacağım. Aslında, sözderastsal sayı üreten bir query. (sözderastsal sayılar hakkında detaylı bilgi: wikipedia) Sözderastsal sayılar kriptoloma da dahil bir çok alanda kullanılmakta. Konuyu dağıtmadan, eğer projenizde rastgele haberleri getirmek, rastgele üyeler arasından seçim yapmak veya eğitim projelerinizde random soru getirmek gibi değişik amaçlarla sql den veri çağırmanıza ihtiyacınız olursa;<br />
<br />
SELECT TOP 10 * FROM News ORDER By NEWID()<br />
<br />
<a href="http://www.salihbal.net/paylasimlar/bir-sql-tablosundan-random-row-getirme/" rel="nofollow" target="_blank">Makalenin Kaynağı</a><br />
<br />
<br />
<br />Prografi Bilişimhttp://www.blogger.com/profile/17336200946064397770noreply@blogger.com0tag:blogger.com,1999:blog-3335512979418233385.post-38038171662256218372015-04-06T15:16:00.003+03:002015-07-01T15:06:12.245+03:00SQL Server Data Compression - Row Level Compression, Page Level Compression<div>
Sql Server performansını arttıracak en önemli etmenlerden biri de veri sıkıştırmasının yapılmasıdır. Aslına bakarsanız her zaman performans sağlanır diyemeyiz ama doğru yerde seçildiğinde performansı arttırıcı özelliği vardır.</div>
<div>
Sql Server’da veriler her biri 8 Kb olan page’lerde tutulur. Doğal olarak bir sorgu çekildiğine ilgili veriler ne kadar fazla sayfaya dağılmışsa sorgu sonucu o kadar geç döner. Veriler sıkıştırıldığında daha az sayfa gezileceğinden performans artar. Fakat verinin alakasız bir şekilde irili ufaklı büyüyüp küçülmesi işlemlerinde verilerin düzeltilmesi(uncompress) gerekeceğinden bu tip durumların çok olduğu sistemlerde tercih edilmemelidir.</div>
<div>
Sql Server iki tip veri sıkıştırmasını destekler.</div>
<div>
<strong>Row Level Compression</strong></div>
<div>
<strong>Page Level Compression</strong></div>
<div>
<strong><u>Row Level Compression</u></strong></div>
<div>
Aslına bakarsanız fiziksel bir sıkıştırma söz konusu değildir. Sadece verinin büyüklüğüne göre verinin kapladığı alan “fixed length”den “variable length”e dönüştürülür.</div>
<div>
Örneğin siz bir kolona Char(100) veri tipini verdiyseniz bu kolon için veri satırında 100 byte lık alan ayrılır. Halbuki siz “Engin Demiroğ” değerini tutmak isterseniz 13 bytelık alan dolar, gerisi boş kalır.</div>
<div>
Bir örnek de int veri türü için verelim. Normalde siz int bir kolonda ne tutarsanız tutun 4 byte harcanır. Çünkü <strong>“int”</strong> fixed length bir veri türüdür. Halbuki “100” değerini tutmak için 1 byte yeterlidir.</div>
<div>
İşte bu gibi gereksiz veri depolama dezavantajlarını row-level compression yaparak ortadan kaldırabilirsiniz.</div>
<div>
Row-Level Compression’ın en güzel avantajlarından biri de “null” veriler için diskte ciddi bir yer kaplatmamasıdır.</div>
<div>
Row-Level Compression table,index ve partitionlara uygulanabilir.</div>
<div>
<strong>Row Level Compression’a ihtiyacınız olduğunu anlamak için</strong>çok güzel bir SP’miz var.<strong>“sp_estimate_data_compression_savings”. </strong>Bu SP ile sıkıştırmadan önceki ve sonraki tahmini örnek büyüklük size gösterilir. Kullanımı aşağıdaki gibidir.</div>
<div contenteditable="false">
<div contenteditable="false">
<div>
</div>
<ol>
<li>sp_estimate_data_compression_savings </li>
<li>'dbo','Orders',NULL,NULL,'ROW'</li>
</ol>
</div>
<div contenteditable="false">
</div>
</div>
<div>
<a href="https://blogger.googleusercontent.com/img/proxy/AVvXsEj5uGBbs9K1geiuPI_2bHnDXC84PkIfsmg-XIVAafejYA_4q4UUGb0_gaWXz2BwT1i-iawjrnjuKvE7-K-WEfX8e4b_OYpASJ0hyyuyQn9gB99W3GLxPeickBRhh63J88obkQu1zS4OuLaa7vphBQ0E_FV642viCLGMZT4Hs8U-fRKHJVEogNIoCJSe2e15nFFyWhP1fm9dknuTKDJd6dDsATP6csAAAiC_vesClDS5hpe4wOY=" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img alt="" border="0" src="http://www.yazilimdevi.com/yazilimdevi/haberresim/image/engin/SqlServerDataCompression/sqlserverdatacompression1.png" height="200" width="550" /></a>Bu sorguda “dbo” şemanız, “Orders” objeniz ve “Row” ise sıkıştırma yönteminizdir. Sonuç aşağıdaki gibidir.</div>
<div>
<div style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;">
</div>
</div>
<div>
Bazı yerlerde ciddi bir sıkıştırmanın olduğunu farketmişsinizdir.</div>
<div>
<strong>Bir objeye Row-Level Compression uygulamak için</strong> aşağıdaki koddan yararlanmanız yeterlidir.</div>
<div>
</div>
<div contenteditable="false">
<div contenteditable="false">
<div>
</div>
<ol>
<li>ALTER TABLE dbo.Orders REBUILD</li>
<li>WITH (DATA_COMPRESSION = ROW)</li>
</ol>
</div>
<div contenteditable="false">
</div>
</div>
<div>
<strong><u>Page-Level Compression</u></strong></div>
<div>
Bu sıkıştırma yöntemi Row-Level’a göre daha performanslıdır. Nedeni Dictionary Temelli Sıkıştırma algoritmasını kullanmasıdır. Bir sayfada bulunan verilerde aynı değerler var ise, değeri tekrarlamaktansa pointer bırakıp değerin adresini tutar.</div>
<div>
Aşağıdaki tablo verilerine baktığımızda OrderID kolonunda Clustered Index olduğunu düşünürsek, bu verilerin aynı veri sayfalarında barındığını anlarız. Page-Level Compression kullanıldığında ciddi bir sıkıştırmanın olacağı aşikardır.</div>
<div>
<div style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;">
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><img alt="" src="http://www.yazilimdevi.com/yazilimdevi/haberresim/image/engin/SqlServerDataCompression/sqlserverdatacompression2.png" height="200" style="margin-left: auto; margin-right: auto;" width="550" /></td></tr>
<tr><td class="tr-caption" style="text-align: center;">SQL Server Data Compression - Row Level Compression, Page Level Compression</td></tr>
</tbody></table>
</div>
</div>
<div>
Bir önceki örnekte Row-Level Compression yapmıştık. Buna ragmen sıkıştırmanın yine de gerçekleşeceğini <strong>“sp_estimate_data_compression_savings” ispatlayalım.</strong></div>
<div contenteditable="false">
<div contenteditable="false">
<div>
</div>
<ol>
<li>sp_estimate_data_compression_savings </li>
<li>'dbo','Orders',NULL,NULL,'PAGE'</li>
</ol>
</div>
<div contenteditable="false">
</div>
</div>
<div>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><img alt="" src="http://www.yazilimdevi.com/yazilimdevi/haberresim/image/engin/SqlServerDataCompression/sqlserverdatacompression3.png" height="200" style="margin-left: auto; margin-right: auto;" width="550" /></td></tr>
<tr><td class="tr-caption" style="text-align: center;">SQL Server Data Compression - Row Level Compression, Page Level Compression</td></tr>
</tbody></table>
<strong></strong></div>
<div>
<strong>Bir objeye Page-Level Compression uygulamak için</strong> aşağıdaki koddan yararlanmanız yeterlidir.</div>
<div contenteditable="false">
<div contenteditable="false">
<div>
</div>
<ol>
<li>ALTER TABLE dbo.Orders REBUILD</li>
<li>WITH (DATA_COMPRESSION = PAGE)</li>
</ol>
</div>
<div contenteditable="false">
</div>
</div>
<div>
<br />
Faydalı olması dileğiyle.</div>
<div>
<strong>Engin Demiroğ,MCT,engin@yazilimDevi.com</strong></div>
<br />
<a href="http://www.yazilimdevi.com/Makaleler-743-sql-server-data-compression--row-level-compression-page-level-compression.aspx" rel="nofollow" target="_blank">Makalenin Kaynağı:</a><br />
<br />
<br />
<br />
<br />
<!-- Blogger automated replacement: "https://images-blogger-opensocial.googleusercontent.com/gadgets/proxy?url=http%3A%2F%2Fwww.yazilimdevi.com%2Fyazilimdevi%2Fhaberresim%2Fimage%2Fengin%2FSqlServerDataCompression%2Fsqlserverdatacompression1.png&container=blogger&gadget=a&rewriteMime=image%2F*" with "https://blogger.googleusercontent.com/img/proxy/AVvXsEj5uGBbs9K1geiuPI_2bHnDXC84PkIfsmg-XIVAafejYA_4q4UUGb0_gaWXz2BwT1i-iawjrnjuKvE7-K-WEfX8e4b_OYpASJ0hyyuyQn9gB99W3GLxPeickBRhh63J88obkQu1zS4OuLaa7vphBQ0E_FV642viCLGMZT4Hs8U-fRKHJVEogNIoCJSe2e15nFFyWhP1fm9dknuTKDJd6dDsATP6csAAAiC_vesClDS5hpe4wOY=" -->Prografi Bilişimhttp://www.blogger.com/profile/17336200946064397770noreply@blogger.com0