Kategori Arşivi Programlama - Page 2

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.

(30.04.2019 tarihinden itibaren toplam 16 kez, bugün 1 kez ziyaret edildi. )

WPF – Sayfa görünümünü ayarlama

WPF’te yapacağım bir uygulamanın ekranı tamamen kaplaması ve title bar’ın görünmez olması gerekiyordu. Normal windowlarla çalışırken problem olmuyor.

<this.WindowState =  WindowState.Maximized;
      this.WindowStyle = WindowStyle.None;

bu kodlarla olayı çözebiliyoruz. Farklı olarak page’lerle çalışıyorsak bu kodları kullanmak mümkün olmuyor. Bunun yerine uygulama ayarlarının tutulduğu app.xaml dosyasında değişiklik yapmamız gerekiyor. Aşağıdaki kodlarla uygulamamızı düzenlersek uygulamamız tam ekran olarak çalışacak, title bar görünmeyecek ve farenin imleci uygulama çalışırken görünmeyecektir.

 <Application.Resources>
    <!-- Resources scoped at the Application level should be defined here. -->
     <Style x:Key="{x:Type NavigationWindow}" TargetType="{x:Type NavigationWindow}">
        <Setter Property="WindowStyle" Value="None" />
        <Setter Property="ShowsNavigationUI" Value="False" />
        <Setter Property="WindowState" Value="Maximized" />
        <Setter Property="Topmost" Value="True" />
        <Setter Property="Cursor" Value="None" />
     </Style>
 </Application.Resources> 
No visits yet

Bing Maps Silverlight Control SDK – Giriş

Kasım ayı içerisinde Microsoft Bing Maps Silverlight Control SDK’yı yazılımcıların kullanımına sundu. Bu SDK adından da anlaşılacağı üzere Silverlight üzerinden Bing Maps’e erişip kontrol edilmesini sağlıyor. Biraz uğraşılırsa haritalarla alakalı çok güzel projeler çıkartılabilir. Bu SDK’nın kurulumu ve kullanılması hakkında birşeyler yazmaya çalışacağım.

Öncelikle yapacağımız şey altyapıyı kurmak. Silverlight’la proje yapmak için bilgisayarımızda kurulu olması gereken programlar şöyle;

– Visual Studio 2008 ve Visual Studio 2008 Service Pack 1

– Silverlight 3 Tools for Visual Studio 2008 SP1

– Bing Maps Silverlight Control SDK 

Bunlara ek olarak Microsoft Expression Blend 3’ü yükleyerek tasarım kısmı için kullanabilirsiniz. Yukarıdaki programlar sırasıyla kurulduktan sonra altyapımız hazır hale geldi. Son olarak buradaki adresten live adresimizle bağlanarak Bing Maps Developer Account almamız gerekiyor.

Capture5

Artık yeni bir proje açarak Bing Maps’i Silverlight içerisinde kontrol edebiliriz. Şimdi giriş projemize başlayabiliriz. Öncelikle yeni bir Silverlight projesi oluşturuyoruz.

silverlight1Capture2

Ok diyerek projemizi açtık.Şimdi projemize Bing Maps SDK’yı reference olarak eklememiz gerekiyor. Solution Explorer kısmından Reference’a sağ tıklayıp Add Reference diyoruz. Daha sonra Browse’a tıklayıp SDK’yı yüklediğimiz dizine geliyoruz. Default olarak ‘ C:\Program Files\Bing Maps Silverlight Control\V1\Libraries’ kısmına yüklenen kütüphaneleri projemize ekliyoruz.
 capture3
Capture4
Daha sonra Solution Explorer’da MainPage.xaml kısmının aşağıdaki linkte olduğu gibi düzenliyoruz. Projeyi derleyip çalıştırdığımızda aşağıdaki ekran görüntüsü karşımıza gelecektir.
MainPage.xaml (707,00 bytes)

Adsız

Haritamız artık karşımızda.Peki daha başka neler yapabiliriz. Örneğin projemize textboxlar ve buton ekleyip buradan istenen paralel ve meridyende bulunan bir yere konumlanabilir, yine textbox’ın içerisine ismini yazdığımız bir ilçe, semt, ülke vs..’ye konumlanabiliriz. İki yerleşim yeri arası uzaklığı hesaplayabiliriz. İstediğimiz koordinata Pushpin yani raptiye koyarak işaretleyebilirsiniz. Diyebilirsiniz ki zaten ben internet üzerinde Bing Maps kullanarak bunları yapabiliyordum, ama artık kendi projeniz üzerinde yapıyorsunuz. Buna ek olarak haritanın bu saydığım özelliklerini ve daha fazlasını kullanarak çok güzel projeler çıkarılabilir, veritabanından gelen verilerle bu işlemler gerçekleştirilebilir vs. Bu SDK’nın diğer özelliklerine ve bunlara ait kodlara aşağıdaki adresten ulaşabilirsiniz.Kolay gelsin..
http://www.microsoft.com/maps/isdk/silverlight/
(30.04.2019 tarihinden itibaren toplam 3 kez, bugün 1 kez ziyaret edildi. )

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);

 

(30.04.2019 tarihinden itibaren toplam 3 kez, bugün 1 kez ziyaret edildi. )

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’ı.

(30.04.2019 tarihinden itibaren toplam 69 kez, bugün 1 kez ziyaret edildi. )

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.

No visits yet

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

(30.04.2019 tarihinden itibaren toplam 180 kez, bugün 1 kez ziyaret edildi. )

C# Inputbox kullanımı

Aşağıdaki kodda sadece OK butonu içeren bir inputbox’ın kullanımı vardır. Değer girilip OK’e tıklanınca formda bulunan textbox’ın ismi girilen değer olacaktır. Değeri bu şekilde aldıktan sonra başka şekillerde de kullanabilirsiniz. Ayrıca projenize sağ tıklayarak add reference kısmından, Microsoft.VisualBasic referansını eklemeniz gerekmektedir.

buttonTest_Click(object sender, System.EventArgs e)
InputBoxResult sonuc = InputBox.Show
if (sonuc.OK)
textBox1.Text = result.Text;

Alternatif çözüm olarak aşağıdai kodu deneyebilirsiniz. Projenize sağ tıklayıp Add Reference kısmından Microsoft.VisualBasic referansını eklemeyi unutmayın.

buttonTest_Click(object sender, System.EventArgs e)
string inptTry = Microsoft.VisualBasic.Interaction.InputBox(Değer Giriniz Değer girmelisiniz, 8,5)
(30.04.2019 tarihinden itibaren toplam 17 kez, bugün 1 kez ziyaret edildi. )