23 Haziran 2016 Perşembe

C# Projelerinde Youtube Videolarını Çalıştırma

Merhaba arkadaşlar bu makalemizin sonunda C# projelerinde Youtube videolarını nasıl oynatabiliriz bunu öğreneceksiniz. Bir Windows Form projesi açalım ve toolbox'a sağ tıklayıp choose items diyelim. Toolbox içerisine ilgili componenti eklemek gerekecektir.




Gelen ekranda çeşitli componentler görünecektir. Buradan COM Components başlığı altından Shockwave Flash Object seçmemiz yeterli olacaktır.




















Sonrasında Toolbox içerisine "Shockwave Flash Object" alanı eklenmiş olacaktır.  Eklenmiş olan bu tool yapısını projemize sürükleyip bırakalım.






















Artık kodumuza geçebiliriz. Göstermek istediğimiz youtube video linkini gidip youtube sitesinden kopyalayıp gelelim. Youtube linki olarak aşağıdaki linki kullanacağım. Sizler de istediğiniz bir youtube linkini kullanabilirsiniz.

https://www.youtube.com/watch?v=wbCGSEtymwM

Bu video linki üzerinden minik bir dğişiklik yapıp watch?v= kısmını değiştirmemiz yerine /v/ yazmamız gerekecektir.

https://www.youtube.com/v/wbCGSEtymwM


Form yüklenmeden önce bu video linkini AxShockwaveFlash nesnesinin movie özelliğine vereceğiz.

private void Form1_Load(object sender, EventArgs e)
 {
       axShockwaveFlash1.Movie = "https://www.youtube.com/watch?v=wbCGSEtymwM";
 }






Projemizi çalıştırırsak artık C# projesinde youtube videosunu direkt oynatabildiğimizi göreceğiz.


















Bir sonraki makalemizde görüşmek üzere. İyi Çalışmalar :)







22 Haziran 2016 Çarşamba

Hadi Sayıları Yuvarlayalım :)

Merhaba arkadaşlar, bu makalemde sizlere Math classının içerisinde yer alan yuvarlama metotlarından bahsedeceğim.
Öncelikle bir Console Projesi oluşturalım ve projemize YuvarlamaMetodlari ismini verelim.


Double tipinden piSayisi isminde bir değişken tanımlayıp bu değişken üzerinden yuvarlama metodlarını inceleyelim.
Ceiling Metodu
İlk olarak Ceiling metodunu inceleyeceğiz. Math kütüphanesinin altında bulunan Ceiling metodu parametre olarak dışarıdan double ya da decimal değer alabilir.
Parametre olarak aldığı ifadenin virgülden sonraki kısmına bakmadan direkt olarak tamsayı bölümündeki değerin bir fazlasını alıp o sayıya yuvarlar. Ceiling kelime anlamı olarak tavan demektir.  Dolayısıyla ondalıklı olarak verilmiş olan değeri yukarıya (tam kısmın bir üstüne) yuvarlayacaktır diye aklınızda tutabilirsiniz.
Floor Metodu
Yuvarlama metodlarından Floor() metodunu inceleyelim. Bu metod ceiling metodunun tersi olarak görev yapmaktadır.


Floor() metodu da ondalık kısmı dikkate almadan tam kısmın değerine yuvarlama işlemi yapacaktır. Eğer örneğimizi pisayisi üzerinden inceleyecek olursak;


Round Metodu
Son olarak Round() metodumuzu inceleyelim. Bu metot matematikte yuvarlama işlemiyle aynı işi yapmaktadır.
Ondalıklı sayının virgülden sonraki kısmının 5ten küçük olması durumunda sadece tam kısmı direkt alacaktır. Yani; aşağı yuvarlayacaktır. Eğer virgülden sonraki kısım 5 veya 5ten büyükse bu durumda tam kısmı yukarıya yuvarlayacaktır.
Round() metodunun farklı overload edilmiş halleri mevcuttur. Eğer tek parametre olarak değer alanı kullanırsak direkt virgülün hemen yanındaki ondalık değeri alacaktır.
Eğer yuvarlama işlemini virgülden sonraki başka bir haneye göre yapmak istiyorsak, burada yapmamız gereken Round(yuvarlanmakIstenenOndalıklıDeger, yuvarlamaYapilacakHaneninIndisNumarası)
Ondalıklı değerin yuvarlama işlemini virgülden sonraki hangi haneye göre yapacaksak onu belirtirsek yuvarlama işleminde o hane göz önüne alınarak işlem yapılır.
3.456 değeri için virgülün hemen sağındaki 4 değerine göre işlem yapmasını istiyorsak Round() metodunun ilk parametresi ondalıklı değişkenin adı, diğer parametresi ise virgülden sonraki hangi haneye göre işlem yapılacaksa onun indis numarası verilmelidir. Unutmamak gereken bir şey vardır ki bu dünyada (yazılım dünyası) indisler yani sıra numaraları 0’dan başlar.
Yukarıdaki kod örneğinde Round(pisayisi) metodu ile Round(pisayisi,0) aynı işlemi yapacaktır. Eğer tek parametre alan metodu kullanırsak default olarak Round(pisayisi,0) metodu ile aynı işi yapacaktır.  Çalıştırdığımız zaman ekranda 3 sonucunu görürüz.
Aşağıdaki örnekte 3.436 sayısında virgülün sağ tarafındaki (ondalıklı bölümde yer alan) 3 değerine göre yuvarlama işlemi yapan kodu yazalım. 3 hane olarak 1. indiste yer aldığı için yuvarlama işleminin ona göre yapılmasını istediğimizi Round(pisayisi,1) bölümünde belirtiriz. Metod o değerden önceki ifadeyi (tam kısım dahil) ekrana gösterir.
Round() metodu ilk olarak hangi haneye göre işlem yaptığına bakar ve bu alandaki rakamın 5ten küçük olması durumunda kendinden önceki ifadeyi aynen ekrana yazdıracaktır.
Round() Metodu Algoritması:
1.Başla
2.Hangi haneye göre yuvarlama yapılıyorsa onu belirle.
3.Bu hanedeki değer 5ten küçükse o haneye kadar olan değeri baştan itibaren al.
4.Eğer bu hanedeki değer 5 veya 5ten büyükse kendinden bir önceki rakamın değeri bir artırılır ve yeni ifade en baştan yazılır.

Son olarak 3.436 değerinin 6 rakamına göre yuvarlanmasını isteyelim.
6 rakamı hane olarak 2 numaralı indiste yer alır. Metod içerisinde bunu belirtmek gerekecektir. Şimdi de bu 6 rakamının 5ten büyük bir değer olduğunu gördük. Böyle bir durumda 6nın hemen bir solundaki rakamın değeri bir artırılır ve değer matematikte olduğu gibi yukarıya yuvarlanır.
Bir sonraki makalemde görüşmek dileğiyle iyi çalışmalar. ☺

20 Haziran 2016 Pazartesi

MVC Şablonu Nereye Kaçtı?

Merhaba arkadaşlar, bu makalemizde Visual Studio ortamında bir MVC projesi oluşturacağız.

.NET Framework ve Visual Studio'nun güncel versiyonuyla beraber MVC projesi oluşturma kısmında da minik değişiklikler oldu. Bu değişiklikler sonrasında durum öyle bir hale gelmiş ki; MVC şablonunun kayıp olduğu gibi bir rivayet bile dolanıyor :)
Öncelikle, File menüsünden New Project seçelim.




Burada, karşımıza gelen proje şablonlarından ASP.NET Web Application seçelim ve OK butonuna tıklayalım.




















Sonrasında karşımıza ASP.NET proje şablonları çıkacaktır.

Eğer yukarıdaki seçim ekranını göremiyorsanız, başlangıçta hedef olarak .NET Framework’ün 4.5 sonrasındaki herhangi bir versiyonunu seçerek bu sıkıntıyı ortadan kaldırabilirsiniz.İşlemleri tamamladıktan sonra, ASP.NET MVC ile çalışmak isterseniz yapmanız gereken Empty yerine MVC şablonunu seçmek olacaktır.

4 Mayıs 2016 Çarşamba

ADO.Net Nedir?

Merhaba arkadaşlar,
ADO.Net Nedir diye başlayalım. Ado.Net (ActiveX Data Objects.NET) microsoft’un bize sağlamış olduğu, veritabanı ile uygulamalarımızı birbirine bağlayan kütüphaneler topluluğudur.

Ado.Net ile sadece MS-Sql’e değil Access ve ORACLE’a da bağlanabilir, SQL’de yaptığınız işlemleri yapabilirsiniz.
Anlatımımı MS-Sql veritabanı ve C# üzerinden yapacağım. Öncelikle Ado.NET ile MS-Sql e bağlanmak için “System.Data.SqlClient” kütüphanesini C# kodumuza eklemeliyiz.

using System.Data.SqlClient;
Biraz SqlClient kütüphanesindeki sınıflara ve özelliklere bakacak olursak :
SqlConnection -> MS-SQL Server’a bağlanmak için kullandığımız sınıftır. Görevi komutun sağlıklı bir şekilde MS-SQL Server’a bağlanmasıdır.
ConnectionString -> SqlConnection nesnesinin server a bağlanması için yol tarifine benzer bir tarifi yapar.
İçerisinde :
-Server=localhost; -> Bağlanılacak sql server in konumunu belirttiğimiz yerdir.
-Database=Northwind; -> Bağlanacağımız veritabanını söylediğimiz yerdir.
-User=sa; -> SQL Authentication ile bağlanacağımızı ve kullanıcı adının sa olduğunu söylediğimiz yerdir.
-password=123; -> sa kullanıcısının parolasının 123 olduğunu belirttiğimiz yerdir

SqlConnection baglanti = new SqlConnection();
baglanti.ConnectionString = "Server=localhost;Database=Northwind; User=sa; password=123";
SqlCommand -> SqlCommand nesnesi sql komutunu oluşturduğumuz sınıftır. komut içinde sql de çalışacak sorguyu belirtiriz.
SqlCommand nesnesi :
- bir CommandText (Çalışacak sorgu)
- birde Çalıştırılacağı bağlantıyı ister.

SqlCommand komut = new SqlCommand();
komut.CommandText = "select * from categories";
komut.Connection = baglanti;
SqlCommand nesnesi çalıştırılmadan önce bağlantı açılmalıdır. Genellikle yapılan hatalardandır.

baglanti.Open();
Komutun çalıştırılacağı zaman 3 farklı çalıştırma yöntemi vardır.
ExecuteReader() -> Bir select sorgusunun çalıştırılacağı ve geriye bir result döneceği anlamına gelir.ExecuteReader geriye SqlDataReader nesnesi döndürür. Bu nesne gelen sonucu okumak için kullanılacak olan nesnedir.
ExecuteScalar() -> Aggregate fonksiyonları gibi geriye bir satır bir sütun döndüren sorgularda kullanılır. Komut geriye object döndürür ve dönen değer sonucun ilk satırın ilk sütunudur.
ExecuteNonQuery() -> insert update delete gibi geriye sonuç(result) döndürmeyen işlem yapan komutları göndermek için kullanılır.
SqlDataReader nesnemize Read() komutu uygulanarak satır satır okunması sağlanır. Read() komutu eğer satır bulabilmişse o satıra geçer ve geriye true sonucu döndürür. bu yüzden while ile kullanmak için çok uygundur.
Okuyucunun bulunduğu satırdaki herhangi bir kolonu almak için oku["CategoryName"] yazıldığında okuyucunun durduğu satırdan categoryname kolonu alınır.

while(oku.Read())
{
    string kategoriadi = oku["CategoryName"].ToString();
    listBox1.Items.Add(kategoriadi);
// listeye okunan kategori adı eklenir.
}
SqlDataReader görevini tamamladığında bağlantı kapatılmalıdır. Kapatılmadığı taktirde SQL server yorulacaktır. Ayrıca başka bir bağlantı açmak istediğinizde hata alırsınız.

baglanti.Close();
Farklı bir örnek :
Integrated Security=true; -> MS-Sql Server’a Windows Authentication ile bağlanacağımızı gösterir.

SqlConnection baglanti = new SqlConnection("Server=.;Database=Northwind;Integrated Security=true");
SqlCommand komut = new SqlCommand("Select * from products", baglanti);
baglanti.Open();
SqlDataReader okuyucu = komut.ExecuteReader();
while (okuyucu.Read())
{
    listBox1.Items.Add(okuyucu["Productname"]);
}
baglanti.Close();



Ado.NET ile bir örnek yapalım.

Bir Winforms projesi oluşturalım. Northwind hazır veritabanını kullanarak verileri getirelim. Dışarıdan bir kategori adı alsın ve bu kategorideki ürünlerin adlarını getirip datagridview üzerinde göstersin.



21 Ocak 2016 Perşembe

Oyunlaştırmada İlk Gün

Merhaba arkadaşlar, bu makalemde sizlere 16 Ocak’ta katıldığım BAUSEM tarafından düzenlenen sertifikalı Oyunlaştırma Programının ilk gününden bahsediyor olacağım. Oyunlaştırma eğitiminin başlangıcından bitişine kadar tam anlamıyla oyunu her anda hissedebildiğim eğitimle beraber oyunu yaşadığım ama tatlarını karıştırmadığım farklı bir eğitimdi. Size eğitimin başından sonuna kadar yaşadıklarımı anlatıyor olacağım.

Eğitime başlayışımız çok seri gerçekleşti.  Eğitimin başlangıcında Tuğba Çanşalı eğitimenimiz tarafından bir tanışma seansımız oldu.











 Bu kez farklı bir tanışmaydı. Eğitmenimizin bizlerden istediği adımızı görsel olarak tahtaya çizmemizdi. Kendisinin ismini resmetmek biraz kolay oldu. Burada en zoru benim oldu sanırım :) Çok farklı hikayeler çıktı oraya birbirimizi tanımaya çalışırken arka tarafta farklı bilgilerde öğrendik akılda kalıcı olacak bazı şeyler çıktı. Aşağıda da sizlerle çıkan farklı görseli paylaştım.










Sonrasında balonlarla eğitime devam ettik. Hepimiz balonların üzerinde isimlerimizi yazdık. Balon burada bir objeydi kişilerin birbirini bulup ilgili balonu ilgili kişiye verebilmesi için. Balonlara özellikler yazıp ikinci turda özelliklere bakarak kişileri bulmaya çalıştık. Bu kısım az daha eğlenceli oldu. Aramızdan çıkan en ilginç farklı özellik koalasever olmaktı bence.










Daha sonra eğitime Bahçeşehir Üniversitesi Eğitim Fakültesinden Yrd.Doç.Dr. Yavuz Samur hoca ile devam edildi. Yavuz Hoca, oyunun geçmişinden eskiden oynanan oyunlardan bahsederek bizleri eskiye götürdü. Eski oyunlarımızdan olan körebe oyunun sınıfta oynadık. Ardından mevcut oyunun kurallarını değiştirerek oyuna farklı bir yapı kazandırdık.






















Ardından eğitime ilk oyunlaştırma kitabı yazarı eğitimcisi Ercan Altuğ Yılmaz ile devam edildi. Altuğ hoca bizlere oyunlaştırma kitabından bahsetti. Oyunlardaki farklı tipleri anlatırken acaba ben hangisiyim sorusunun cevabını aramaya başladım. Oyunlaştırma için gerekli olan oyun tasarımı ve oyun düşünceleri eğitimi verildi.





        








Son olarak eğitim Oyunder Derneğinin kurucu başkanı Tansu Kendirli hocamız ile devam etti. Hocamız bizlere oyunlaştırmayla ilgili teknik konulardan ve oyun sektöründen bahsetti. Jelibonlu bir ders olduğu için ayrıca güzeldi. :) 


















  


























Brokoli ve çikolata dedik dersimizi bitirdik. Acaba brokoli ile çikolatanın tatlarını karıştırmadan neler yapabiliriz bunun üzerine düşünmeye devam etmekteyim. Türkiye’de ilk kez düzenlenen sertifikalı bir oyunlaştırma programının ilk haftasında bunları yaşadık. Haftasonu neler olacağını düşünerek heyecanlanıyorum. En çok merak ettiğimse ne olacak bu brokoli ve çikolatanın hali. :)  Burdan hocalarımıza tekrar teşekkür ediyorum.

İyi Günler arkadaşlar.

20 Ocak 2016 Çarşamba

Google Maps Kullanarak Sitenize Harita Konumu Ekleme

Merhaba arkadaşlar, bu makalemizde sitelerde yaygın olarak kullanılan iletişim menülerinin altında yer alan "Haritayı Nasıl Ekleriz" sorusuna cevap bulabileceksiniz. Bunun için sitemizde görünmesini istediğimiz bölgeyi Google Maps kullanarak içeriye entegre edeceğiz.

İlk olarak yapmanız gereken Google Maps'i açıp haritada eklemek istediğiniz alanı seçmek olacaktır.
Seçmek istediğiniz alanı kolayca bulabilmek adına arama bölümüne yazıp arama tuşuna basarsanız haritadan istediğiniz yeri bulacaktır. Dilerseniz haritada ilgili yeri kendinizde bulabilirsiniz.



















Ben makalemde Kültür Üniversitesini haritada seçip bunu eklemeyi göstereceğim.

Öncelikle Arama bölümüne Kültür Üniversitesi yazıp arama işlemi yapacağım.



Arama yaptığımız andan itibaren harita üzerinde bize yerini gösterecek. Yerini gördükten sonra bu alanı iframe olarak almak istiyoruz. Bunun için yapmamız gereken Google Maps'in soldaki açılan menüsünden Shared or embed map seçeneğini seçelim.














Açılan pencerede istersek link paylaşabiliriz istersek bu yapıyı iframe olarak alabiliriz.


Buradaki Embed Map bölümüne tıklarsak bu yapıyı iframe olarak yazacaktır. Buradaki yapıyı kopyalayıp sitemizdeki ilgili alana yapıştırırsak sitemizin içerisinde google maps üzerinden haritada  görünecektir.

Bir sonraki makalemizde görüşmek üzere iyi çalışmalar :)

SQL Server ve SQL Server Management Studio Kurulumu

Merhaba arkadaşlar, bu makalede SQL Server kurulumunu inceleyeceğiz. Öncelikle kurulum yapmak istediğimiz bilgisayarın işletim sistemine bak...