C# İle Kurulu Bir Uygulamanın Yolunu, Adresini Bulmak

Bilgisayarda kurulu veya yüklü olduğunu bildiğiniz bir uygulamanın tam yolunu bulmak isteyebilirsiniz. Bu gibi bir durumda aslında başvurulması gereken yöntem iç içe bir foreach döngüsü ve Directory sınıfından ibaret olacaktır. Diyelim ki uygulamamızın adı notepad++.exe olsun. Bu dosyanın da C:\Program Files (x86)\ dizininde kurulu olduğunu biliyoruz. İşte bu gibi bir durumda aşağıdaki kodu rahatlıkla kullanabiliriz; Burada, try – catch bloğunu kullanmamın sebebi; Bazı uygulamaların dizinlerine erişmekte başarısız olabiliriz. Örneğin temp klasörü altında veya windows klasörü …

MSSQL İç İçe Sorgular (Select In Select)

Bir tabloya select sorgusunu atarken gelecek sonuçlar içerisinde o tabloyla ilişkili belli alanların da gelmesini isteyebilirsiniz. Elbette bunun için inner join, cross join, left ve right join leri de kullanabilirsiniz. Ancak kimi durumlarda bu sorgular yeterince karmaşık hale gelebilir veya ihtiyacınızı join işlemlerinin hiçbiri göremiyor olabilir. Bu gibi durumlarda bu uygulamaya ihtiyaç duyabilirsiniz. İşte bu tip durumlarda DBA’lar tarafından (Database Admin) çok da tavsiye edilmeyen, ancak developerlar tarafından başvurulan yöntemlerden birisi de iç içe select …

MSSQL – Cursor Kullanımı

MSSQL içerisinde bir çoğumuzun bildiği üzere çok sayıda döngü bulunmamakta. Bu yüzden genellikle WHILE döngüsüne hapsolup kalabiliyoruz. Ancak kimi zaman kayıtlarda işlem yaparken birden fazla alana ihtiyaç duyabiliyor ve o alanları döngünün içerisinde kullanmak isteyebiliyoruz. Aslını isterseniz CURSOR metodu da tam olarak burada imdadımıza yetişiyor. Kendisi WHILE döngüsü ile birlikte kullanılan bir yöntem aslında. Tek farkı da, WHILE ile tek başına rakam içerisinde dönerken CURSOR ile birlikte kullanımında bellekte o döngü sırasına birden fazla değişken …

MSSQL Tüm Tabloları Silmek

Kimi zaman veritabanındaki tüm tabloları silip yerine yeni script içerisindeki tabloları eklemek istersiniz. Tek tek tabloları drop table yaparak silmek de bir seçenek elbette. Ancak çoğu zaman gerçekten eziyet haline gelebiliyor bu durum. Hele de çok sayıda tablonuz var ise. İşte bu gibi durumlar için aşağıdaki kod kısaca işinizi çözecektir. Kısaca şöyle özetleyeyim kodu isterseniz; Bu blokta sql sizin için tüm ilişki şemasını aşağıdaki şekilde bir araya topluyor. Tabii ki ne kadar ilişki var ise …

C# String Compare Methodu ve Kullanımı

string.Compare methodu kısaca iki string değeri karşılaştırmak için kullanılan bir metottur diyebiliriz aslında. Örnek kullanım alanları ise ilk akla geldiği gibi şifre ve şifre tekrar inputbox ları olabilir örneğin. string.Compare metodu, içerisine girilen iki değeri karşılaştırır ve eğer değerler tam uyumlu ise “0”, değil ise girilen değerlerin alfabetik sırasına göre “1” veya “-1” değeri döndürür. Burada dikkat edilmesi gereken, bu metodun orjinal halinde case sensitive, yani büyük/küçük harf duyarlı olmasıdır. Yani “erkan” değeri ile “Erkan” …

C# String Join Methodu ve Kullanımı

Kimi zaman programlamada iki veya daha fazla karakteri, kelimeyi, cümleyi, yani ezcümle string değeri birleştirme ihtiyacı duyabiliriz. Bu tip durumlarda izleyebileceğimiz birden fazla yöntem bulunmakta elbette. İşin manuel yapım örneğini aşağıdaki gibi de görebilirsiniz; Gördüğünüz gibi kodumuz toplamda yedi satırdan oluştu. Elbette basit bir tek işlemde 7 rakamı öyle büyük görünmeyebilir. Lakin binlerce satır kodun arasında bu işlemin 40-50 kere tekrarlama ihtimalini düşünür isek ya kendimi bir metot yazacağız ya da hazır bir metot var …

C# İle TCMB Döviz Kurlarını Okumak/Almak

Bildiğiniz üzere Türkiye içerisinde genel yasal döviz kurlar Türkiye Cumhuriyet Merkez Bankasından alınmakta. Tabi bu işlem için kendilerinin de bir hizmeti yok değil. Her gün saat 15:30’da yeni kurlar açıklanır ve TCMB’nin sitesinde ve XML’inde bu kurlar güncel olarak görüntülenebilir. İşte o adres; https://www.tcmb.gov.tr/kurlar/today.xml Buradaki değeri istediğiniz periyotta okuyup veritabanınıza kaydederek güncel kur işlemlerini takip edebilirsiniz. Nasıl mı? İşte size tam kod; Burada belirtilen “USD” / “EUR” gibi alanları XML’deki alanlara göre güncelleyerek istediğiniz kuru …

Incorrect syntax near ‘OFFSET’. Invalid usage of the option NEXT in the FETCH statement “in Entity Framework core”

Merhaba Arkadaşlar, Yine baş belası olabilen bir hatayla karşı karşıyayız. Türkçesi:‘OFFSET’ yakınında yanlış sözdizimi. “Entity Framework çekirdeğinde” FETCH deyiminde NEXT seçeneğinin geçersiz kullanımı. olan bu hatanın aslında sebebi development ve/veya test sunucularınız ile production sunucularınızdaki SQL versiyonları. Yani diyelim ki SQL Server 2012 ile geliştirme ve/veya test yaptınız ancak canlıya geçerken SQL Server versiyonunuz 2008 veya 2008 R2. İşte bu durumda Entity Framework tarafında bu hatayla karşılaşırsınız. İnternette envayi çeşit çözüm yöntemi sunulmuş iken aslına …

Roslyn\CSC.exe Hatası

roslyn\csc.exe yolunun bir parçası bulunamadı. Bir çoğumuzun başına gelmiştir belki de. Özellikle bir projeyi bir bilgisayardan başka bir bilgisayara taşıdıktan sonra eğer bin/debug klasörünün tamamını almamış isek, rastlayabileceğimiz nerede ise kaçınılmaz hatalardan biri. Aslında 2 çözüm yolu var. Birincisi oldukça basit; Roslyn csc.exe Hatası ve Çözümü (1) Visual Studio’dan Solution üzerine sağ tıklayın ve Clean Solution deyin. Ardından da tekrar Solution’a saü tıklayıp Rebuild Solution deyin. Bir süre rebuild işleminin bitmesini bekledikten sonra projenizi çalıştırabilirsiniz. …

C# İle XML Attribute (Özellik) Okuma

XML kullanımı yavaş yavaş azalıyor olsa da yine de XML’ler hala daha bir çok noktada vazgeçilmezlerimiz konumunda. Yerini yavaş yavaş JSON’lara bırakıyorlar. Lakin egemenlikleri hala tamamen sönümlenmiş değil. Bu neden ile basit bir şekilde XML Adres’ten XML’i ve attribute’lerini okumak için hızlıca bir örnek paylaşmak isterim. Evet, konu epey basit oldu farkındayım. Ancak gerçekten okumak bu kadar basit olduğu için konuyu kısa ve net ele almak istedim. Node’lar halinde XML okuma konusunu zaten önceden yazmıştım. …

NopCommerce Multi Currency (Birden Fazla Para Birimi)

Selam Arkadaşlar, Bu yazıda size nopcommerce’ün multi currency özelliğinden bahsedeceğim. Her ürünü e-ticaret sitemize ekler iken malumunuz, birini USD diğerini TL diğerini EURO şeklinde seçebilmek ister gönül. Ki, daha sonradan sistemin root’daki (kök olarak seçili olan) para birimine sistemin kendisinin çevirmesi dilenir. Nitekim bu durum nop’ta maalesef bu şekilde çalışmamaktadır. Nopcommerce, kendi içerisinde bir adet ana para birimi seçilmesini ve tüm işlemlerin bu para biriminden yürümesini ister. “Peki dolar, euro, paund, vs.. var onlar neden …

Basic Authentication Kullanımı, Web Servisler İle Kullanım Tekniği

Merhabalar, basit authentication diye bir tabiri eminim yazılım hayatımızın bir noktasında duymuşuzdur ya da yakın zamanda duyacağız. 🙂 Aslında tam da Türkçeleştiği şekilde Basic Authentication, Temel Kimlik Doğrulama anlamını taşımaktadır. Özellikle SOAP yazmış olduğunuz web servisler için (yani asmx) temel güvenlik olarak kullanılmaktadırlar. Elbette temel olduğu için yüksek güvenlikli olacağı kesinlikle düşünülmemelidir. Tek başına kullanımı daha çok bilindik yerler ile paylaşılır iken ve/veya içerdiği datanın çok elzem olmadığı durumlarda söz konusudur. Diğer türlü düşündüğümüzde, daha …

AntiForgeryToken ve MVC

Merhaba Arkadaşlar, Bugün sizlere antiforgerytoken ile sitelere yapılan atakların bir kısmını çözümlemekten bahsetmek istiyorum. Aslında çoğumuzca aşina olunan bir konu. Zira .net bu konuda antiforgerytoken implamantasyonunu yapar iken oldukça basit kullanımı olacak şekilde sunmaya özen göstermiş durumda. Sadece bir attribute ekleyerek bu özelliği ilgili metodumuzda aktif edebiliyoruz. Peki Nedir bu antiforgerytoken? Özellikle MVC’den önceki teknolojilerin herhangi biri ile yazılım geliştirmiş iseniz bu konuyu daha net kavrayabilirsiniz. Diyelim ki bir formunuz var. (Üyelik, Giriş, Bilgi, İletişim, vb…) Ve …

Stopwatch Using (Kullanımı)

Bir önceki yazımda StopWatch nesnesinin nasıl kullanacağını işledim. Bu yazıda kısaca kendi yazdığım using bloğu içerisinde stopwatch kullanımına değineceğim. Öncelikle tam sınıfımız “StopwatchUsing.cs” ismi ile aşağıdaki gibi olacak. Kullanımı ise şu şekilde: Gördüğünüz gibi artık her yerde Stopwatch nesnesi üretip, ayrı ayrı kodlamanız gerekmeyecek. Bu using bloğu içerisine aldığınız her kodun bitiminde süre otomatik olarak bildiriliyor olacak.   Kolaylıklar… 🙂

Stopwatch() ile Kodun Ne Kadar Sürede Çalıştığını Hesaplamak, Çalışan Kodların İşlem Süresini Bulmak

Bir çoğumuzun öğrenmek istediği şeydir, yazdığımız bir kod bloğunun .net CLR tarafında ne kadar sürede derlenip çalıştırıldığını öğrenmek. Yani kod bloğu başlamasından bitişine kadar geçen süreyi ölçmek isteyebiliriz. Bu durum için “System.Diagnostics” kütüphanesi altında tutulan Stopwatch sınıfını kullanabiliyoruz. Öncelikle Objemizi oluşturup start verdikten sonra kodlarımız işliyor ve kodların bitiş noktasında sw.Stop() dedikten sonra sw nesnemizin toplam süresini öğrenebiliyoruz. Bu da bize start – stop arasında geçen süreyi vermiş oluyor. Örnek Kullanım: Gördüğünüz gibi en sonra ElapsedMilliseconds şeklinde …

C# Belleğe Kopyalama – Clipboard Copy

Windows’un klasik CTRL + C (Kopyalama) tuşu işlevini aşağıdaki kod ile gerçekleştirebilirsiniz. Ancak Windows Form uygulamalar dışında bu kodu kullanabilmeniz için ise System.Windows.Forms DLL’ini referans olarak projenize ekleyip aşağıdaki Windows.Form using’i eklemeniz gerekmektedir.   Eğer belleğe bir image(görsel) atmak istiyor iseniz ise aşağıdaki kodu kullanabilirsiniz;  

C# Döngüler, For, Foreach, While Döngüleri, Karşılaştırma

Selam Arkadaşlar, Özellikle yazılım sektöründeki yeni arkadaşlar için kıssadan hisse şekilde bazı çıtır çerez bilgiler verecek makaleler yayınlayayım istiyorum arada bir de olsa. Bu döngüler konusu da bunlardan bir tanesi elbette. Hepimizin bildiği gibi döngüler yazılımın en temel unsurlarından bir tanesi. Farklı alternatifler geliştirilmeye çalışılmış olsa da (linq bunlardan bir tanesi) çoğu zaman bir döngüden daha performanslı bir hal alamayabiliyorlar. Örneğin en basit şekilde şöyle bir testi anlatayım; Tüm ilişkilerden, database, vb… üçüncü parti uygulamalardan …

MongoDB – İstediğiniz Alanları Seçmek. Select Field

Merhaba Arkadaşlar, SQL yapılardan hatırlayacağınız şekilde sorgularda örneğin; Select Id, Username, Email, Password, Active From Customer gibi istediğiniz alanları getirebiliyorsunuz. Yani tüm alanları değil de, sadece istediğiniz alanları getirebiliyorsunuz. Bunun MongoDB karşılığı ise aşağıdaki gibi; db.getCollection(‘Customer‘).find( {} , { _id: 1, “Username”: 1, “Email”: 1, “Password”: 1, “Active”: 1 } ) Burada “1” dediğiniz alan, o alanı görüntüle anlamına gelmektedir. Eğer bir alanın görünmemesini istiyor iseniz bu alanı “0” olarak geçmeniz gerekmektedir. İşte bu kadar. …

NopCommerce ve GrandNode Kurulumu

Merhaba Arkadaşlar, Aslında bu yazımı okuyuculardan gelen bir yorum üzerine yazma gereği duydum. Nopcommerce ve GrandNode arasındaki temel farkın %99 kullandıkları database’den kaynaklandığından daha önceki yazılarımda bahsetmiştim. Bu yazıda ise bu uygulamaların kurulup çalışır hale getirilmesinden bahsetmek istiyorum biraz da. Yazı içerisinde GrandNode’un kurulumunu yaparak gösteriyor olacağım. Burada dikkat edilmesi gereken husus, NopCommerce kurarken mongodb bağlantıları isteyen kısımlarda MSSQL bağlantı bilgilerinizi giriyor olmak. Bunun dışında kurulum kısmında hiçbir fark bulunmamaktadır. Bu anlatımda Windows ortamında yayınlamadan …