Kategori arşivi: Programlama

Bing Maps : Map loaded in unsupported Uri Scheme. Please reload page in “http” scheme. Hatası

Bing Maps Silverlight SDK’yı kullanacağınız projeyi oluştururken başlangıçta size bir asp.net application içerisinde host ediyim mi sorusuna ok demeniz faydalı olacaktır.Çünkü böyle yapmadığınızda projeyi her çalıştırdığınızda kendi bir testpage içerine koyup o şekilde çalıştıracaktır.Bu şekilde Visual Studio’da projeyi çalıştırdığınızda Bing Maps : Map loaded in unsupported Uri Scheme. Please reload page in “http” scheme hatasını alırsınız. Expression Blend’de çalıştırdığınızda problem olmayacaktır ama dediğim gibi Visual Studio’da bu problemle karşılaşılıyor. Projeyi oluştururken yapacağınız küçük bir işlemle ilerde sorun çıkmasını önleyebilirsiniz.

bingmapserror

Silverlight – WPF Kendi oluşturduğumuz Brush’a kodla ulaşmak

Expression Blend’de oluşturduğumuz brushların yanındaki kutucuğa tıklayarak Convert to New Source dersek oluşturduğumuz Brushları bir anlamda template haline getiririz ve başka yerlerde kullanma imkanımız olur.Ben de bu şekilde kullanmak istedim ama bir sıkıntıyla karşılaştım. Oluşturduğum brush’a isim verdiğim halde bir türlü ulaşamıyordum. Nette yaptığım araştırmalar sonucunda aşağıdaki gibi bir çözümle problem halloldu.

rectange.Fill = (Brush)FindResource(“olusturdugum_brush_ismi”);

Böylece oluşturduğum brush’ı istediğim yerde kullanabiliyorum.

Cannot convert method group ‘Count’ to non-delegate type ‘int’. Did you intend to invoke the method?

Web service ve Linq’le çalışırken şimdi de  “Cannot convert method group ‘Count’ to non-delegate type ‘int’. Did you intend to invoke the method? …” hatasıyla karşılaştım. Normalde hatasız çalışan kodumda çıkan bu hata, bir önceki postta bahsettiğim hatayla ilgili olabilir aslında. Çünkü aynı anda çıktılar. Normalde doğru çalışması gereken ve önceden çalışan aşağıdaki kodu, alttaki koda çevirince sorun çözüldü. Doğrusu sebebi hala anlamış değilim ama doğru çalışıyor şimdi.

int sayı = e.Result.Count;

/* normalde bu şekildeydi ve önceden çalışıyordu. hatadan sonra aşağıda gibi düzelttim ve şu anda sorun yok. */

int sayı = e.Result.Count();

Problem bahsettiğim gibi Linq ve Web Service ikilisinden kaynaklanıyor olabilir.

Animasyon bitince tekrar başlasın

Şu sıralar flashla uğraşmak zorunda kaldım. Daha önce çok bi bilgim yoktu, daha doğrusu uğraşmak zorunda kalmamıştım.:) Yeni öğrendiğim bilgileri paylaşmak istedim. Yapmak istediğim bir animasyonun bittiğinde, kendiliğinden yeniden başlaması. Bu olay flash banner tasarlarken kullanılabilecek bir yapı, çünkü bannerlardaki animasyonların sürekli tekrar edilmesi çok karşılaşılan bir durum. Peki bunu nasıl yapacağız? Öncelikle zaman çizelgesinde animasyonumuzun bittiği kareye gelip F9’a basıyoruz. Böylelikle flash’un programlama dili olan actionscript’i yazabileceğimiz pencere açılıyor. Oraya aşağıdaki kodu yazdığımızda animasyonumuz bittiğinde tekrar başlıyor.

gotoAndPlay(1);

 

C# Olay tetikleme

Bilindiği üzere kullanığımız componentlerin olayları var. Örneğin Button nesnesinin click eventi butona tıkladığımızda yapılacak işleri yapar. Bazı zamanlarda aynı işi başka yerde yapmak zorunda kalabiliriz. Aynı metodu tekrar yazacağımıza butonun click eventine çağırabiliriz. Farzedelim bir nesne üzerinde çalışıyoruz ve Button1’in click olayında yapılacak işi yapmamız gerekti, aşağıdaki kodla bunu halledebiliriz.

Button1_Click(Page,e);

Koddaki Page kısmı Button’un sender’ı, üzerinde çalıştığımız nesne. ‘e’ ise EventHandler’ı.

SQL tablodaki iki alanı tek alan olarak alma

SQL’de alanlar arasında belli işlemler yaparak kullanmak, kullanmak zorunda olana kadar aklıma gelmemişti. Yapacağım işlem ad ve soyad adında iki farklı alanı bir alan gibi gÖstermekti. Aşağıdaki kodla bu işlemi gerçekleştirdim.

select ID,(Adi +' '+ Soyadi) as isim from PERSONEL

Burada PERSONEL tablosundan ID ve isim olarak iki alan alınıyor. İsim alanı normalde tabloda yok, Adi ve Soyadi alanlarının birleştirilmesiyle oluşturuldu ve iki alan arasında bir karakter boşluk bulunmaktadır.

Trigger nedir , nasıl kullanılır ?

Bilindiği üzere trigger’lar tetikleyici olarak adlandırılırlar. Peki tetikleyici ne demek; veri tabanınız üzerinde herhangi bir transactional işlem yani delete, insert, update işlemi yaptığınız anda veri tabanınızın istediğiniz başka bir işlemi otomatik olarak kendisinin gerçekleştirmesidir. Varsayalım veri tabanımızdaki tablolardan biri, bir diğerine bir sutünla bağlı. Bu sütundan bir veri silindiğinde diğer tablomuzda bu silinen verilerin bulunduğu kayıtların da silinmesi isteniyor. Böyle bir durumda yapacağımız olay ilk tablomuz için bir trigger yazmaktır. Böylelikle bu tablodan bir veri silindiğinde, trigger otomatik olarak çalışacak ve diğer tabloya gidip ilgili kaydı silecektir. Trigger’lar işlerimizi kolaylaştırabileceği gibi karmaşık bir veritabanı için çok iyi kontrol edilmezlerse, çok büyük sıkıntılara da yol açabilirler. Trigger’ların yazım şekli aşağıdaki gibidir. Trigger oluşturuluyorsa CREATE, oluşturulmuş bir trigger değiştiriliyorsa ALTER deyimi kullanılır. AFTER deyiminden sonra ise tabloya yapılacak hangi işlemden sonra bu trigger’ın tetikleneceği belirtilir.

( tsql )

CREATE / ALTER TRIGGER   trigger’a vereceğimiz isim
ON    trigger’ı kullanacağımız tablo
AFTER INSERT/UPDATE/DELETE
AS
BEGIN
trigger’ın çalışması halinde yapılacak işlemler
END