Arşiv

2010'da Bizi Neler Bekliyor ?

2009'un ortalarına doğru yaklaştığımız bu günlerde microsoft önümüzdeki yılda piyasaya süreceği visual studio 2010 'un betalarını biz gibi meraklı yazılımcıların test etmesi için yayınlıyor. Bende her meraklı yazılımcı genç gibi yayınlanır yayınlanmaz indirdim, ve bir süre inceleme fırsatı buldum. Ve çok etkilendiğimi söyleyebilirim, önceki vs'lerde sık sık eksilikliğini hissettiğimiz

 

Devamı...

Bu yazımda sizle birkaç linq to sql örneği göstermek istiyorum. Linq to sql bizim için veri tabanı ile iletişimi sağlayan ve çok basit cümlecikleri uygun sorgulara otomatik dönüştüren bir kütüphanedir. .Net 3.0 ile gelmiştir. Bu kadar ön bilgiden sonra örneğimize geçmek istiyorum.Windows Application oluşturuyoruz ve  projemize sağ tuşla tıklayarak Add New Item diyoruz, Linq to Sql Classes’ı seçiyoruz. DataClasses1.dbml adında bir dosya eklendi projemize. Server explorerdan buraya tablolarımızı sürüklüyoruz. İşin en zor kısmı burasıydı, evet doğru duydunuz bu aşamadan sonra değişkenlerle uğraşıcaz, veri tabanındaki her bir hücreye sanki bir değişkenmiş

Devamı...

Silverlight 2 tarayıcımızın içinde çalışır ama bilgisayarın performansınıda sonuna kadar kullanabilir. (çapraz platform sayesinde). Yani silverlight kendi içinde sayfalar arasında geçiş yapabileceği gibi, tarayıcıya başka bir sayfaya gitmesi gerektiğinide söyleyebilir. Şu şekilde,  

System.Windows.Browser.HtmlPage.Window.

 Navigate(new Uri(http://www.mehmetbilen.com));

Silverlight kendi içinde ise bu navigate işlemini ana bir nesne seçerek değişmesi gereken sayfaları bunun içine koyarak yapıyor. Yani ekranda sabit bir grid,

Devamı...

   IJRCS (International Joint Robotic Competition Workshop) Robot Yarışması 20-24 Mayıs 2009 tarihleri arasında Süleyman Demirel Üniversitesinde gerçekleştirilecektir. Teknik Eğitim Fakültemiz bünyesinde böyle bir etkinliğe ev sahibliği yapmanın gruru ve heyecanı içindeyiz. Başta Mehmet Albayrak hocamız olmak üzere ekip olarak canla başla organizyon için hazırlanıyoruz. Bu güne kadar gördüğüm en sağlam organizyon

Devamı...

 Wcf Nedir ? Wcf Nasıl Kullanılır ? 

    Bu yazımızda Wcf servisine genel bir bakış yapıcağız ve basit bir servis yazıp bunu bir WindowsApplication ile çağıracağız. Öncelikle Wcf nedir ? Bir webservistir, web servislerin kullanım mantığı ise masa ütünden web sitemizde çalışması gereken kodları çalıştırabilmektir. Örneğin winapi’mizde login işlemimiz var ama kullanıcı adı ve şifremiz web teki veri tabanımızda. Bir sitedeki veri tabanına ulaşmak istiyorsak o site içinden kodlama yapmalıyız. Web servisimiz işte tamda bu işe yarıyor. Servisimizi yazıyoruz ve sitenin içine koyuyoruz. Daha sonra winapimizden bu servisi çağırıyoruz ve servis internette çalışarak bize istediğimiz sonucu veriyor. Kullanıcı adı ve şifreyi servisimize parametre olarak yollayıp , sonucu true ve false olarak alabiliriz. Bunun gibi bir çok kullanım yeri vardır, günümüz Web ortamında servise ihtiyaç duymadığımız zaman yok dersek yalan olmaz.  Gene fazla laf kalabalığı yaptım, o zaman hemen nasıl kullanılacağına geçelim, servisimiz bir asp .net sitesinin içinde olucak, yeni bir asp.net wep application Project oluşturuyorum.

 

Bir sonraki adımda oluşturduğum projeye sağ tuşa basıp add->new item diyerek wcf servsini seçebileceğim menünün açılmasını sağlıyorum.

 

Açılan menüden Wcf servisini seçiyorum. Seçim işlemini yaparken verdiğimiz isme dikkat etmemiz gerekiyor. Biz bir tane kullanıcağız, o yüzden ismini service1.svc olarak bırakıyorum. Ve add butonuna basarak projemin içine dahil ediyorum. 

 

Ve artık servisimi yazmak için gerekli olan tüm yapılara sahibim. Aşağıda gördüğünüz üzere Iservice1.cs ve Service1.svc altında iki tane yeni item eklendi projemize. Iservice dosyasının içinde kullanacağımız fonksiyonların tanımını yapacağız, service1.svc dosyasının altında ki cs uzantılı dosyada ise Iservice.cs'de yani kotratımızda tanımladığımız fonksiyonu kodlayacağız. Yani ilkinde benim böyle fonksiyonlarım var diye bir sözleşme yapıyoruz. Daha sonra diğerinde bu sözleşmedeki tanımlamaya bağlı kalarak fonksiyonlarımızı kodluyoruz.

 

Şimdi sözleşmemizin (Iservice.cs) içine bir bakalım neler var ?

using System;

using System.Collections.Generic;

using System.Linq;

using System.Runtime.Serialization;

using System.ServiceModel;

using System.Text;

namespace aspsitem

{

// NOTE: If you change the interface name "IService1" here, you must also update the reference to "IService1" in Web.config.

[ServiceContract]

public interface IService1

{

[
OperationContract] void DoWork();

}

Burda default olarak Dowork fonksiyonu gelmiş. Biz bunu silip kendi fonksiyonumuzu yazacağız.

Dowork fonskiyonunu silerek kendi fonksiyonumuzu yazacağız.

bool giris(string isim, string sifre);

Ondan sonra service1.svc.cs dosyasına geçip ordaki dowork fonksiyonunuda siliyoruz. Ve Service1:Iservice1 yazısının üstüne geldiğimizde sözleşmede tanımadığımız fonksiyonu üretmek için bize bir seçenek sunuyor.

#region IService1 Memberspublic bool giris(string isim, string sifre)

{

throw new NotImplementedException();

}

#endregion

throw ile başlayan satırı silip gelen kullanıcı adı ve şifreyi işlemek için bir kod yazıcağız.

if (isim=="Mehmet Bilen"&&sifre=="1986")

{

return true;

} return false;

Ve build edip projemizi kapatıyoruz. Artık herhangi bir projede bu webservisini kullanabiliriz. Hemen bir web application açalım. Ve projemize add web service reference ekleyelim.

Ve Açılan menüden web servisimizi kaydettiğimiz adresimizi yazarak go diyoruz. Aynı proje içine eklemiş olsaydık discover diyecektik. Kaydettiğimiz adres derken buil ederken localhostta bir adrese kaydeder o adresi belirtebiliriz. Veya publish etmişsek asp sitesini service1.svc dosyasının olduğu adresin buraya yazmamız lazım.

Giriş fonksiyonumuz direk gözüktü. Ok deyip projemize web servisi dahil edelim ve projemizde gerekli tanımlamalarımızı yapalım.

ServiceReference1.Service1Client servisim = new WindowsFormsApplication1.ServiceReference1.Service1Client(); Bu tanımlamadan sonra servisteki tanımlanan fonksiyonları kullanabilirim. Formumuza iki textbox ve bir buton ekleyip butonun click olayını aşağıdaki şekilde kodlayalım.

private void button1_Click(object sender, EventArgs e)

{

bool sonuc = servisim.giris(textBox1.Text, textBox2.Text);if (sonuc == true)

{

MessageBox.Show("Tebrikler Giris BaŸarili");

}

else MessageBox.Show("Hatali giriis, Lutfen tekrar deneyiniz");

}

Artık programımız hazır, derleyip çalıştıralım.

Tabi biz burada kafadan bir kullanıcı adı ve şifre kullandık,sağlıklı bir login uygulamasında veri tabanından çekilmesi lazım web servis kısmında. Onun dışında bir web sitesine masaüstünden müdahalede bulunmak istiyorsak,  web sitesi ile haberleşmesi gerekilen her konuda webservisler çok sağlıklı bir çözüm sunmakta.

Mehmet Enver Bilen   | enver_emb@hotmail.com | mehmetbilen.com

 


Aslında silverlight 2 ile hemen hemen ayni sadece bir kaç yerde çok ufak değişiklikler içeriyor. Öncelikle filedialog penceresini açtırabilmemiz için bir butonun click event'ına yazmamız lazım.

public MainPage()

      {

          InitializeComponent();

          btn1.Click += new RoutedEventHandler(btn1_Click);

         

           

      }

 

   

      void btn1_Click(object sender, RoutedEventArgs e)

      {

         

          OpenFileDialog op = new OpenFileDialog();

          op.Filter = "Jpg Dosyaları|*.jpg|Bitmap Dosyaları|*.bmp|Png Dosyaları|*.png|Gif Dosyaları|*.gif|Tüm Dosyalar|*.*";

          op.Multiselect = false;

          op.ShowDialog();

          if (op.File!=null)

          {

              Stream str = op.File.OpenRead();

              BitmapImage btmimg = new BitmapImage();

              btmimg.SetSource(str);      

              resim.Source = btmimg;

          }

         

      }

Şimdi kodumuzu inceleyelim.
Bunu ekrana getirmeden önce filter özelliğini sadece istediğimiz uzantıdaki resim dosyalaranı göstermesi için ayarladık. Ve multiselect false yaparak aynı anda sadece 1 dosya seçilebileceğini belirttik. Ve dialogumuzu show() diyerek ekrana getirdik. Esas mesele bundan sonra, hemen arkasından bir dosyanın seçilip seçilmediğini anlamak için bir if cümeciği koyduk ve seçilen dosya null değilse, yani bir seçilme işlemi yapılmışsa seçilen dosyayı açıyoruz. yeni bir bitmap resmi oluşturuyoruz, ve seçilen dosyayı bu bitmap resminin içine yüklüyoruz,. En sonunda da image nesnemizin source özelliğine bu oluşturduğumuz bitmapı veriyoruz.


Geçen sene ilki yapılan ve bu seneki sabırsızlıkla beklenen, sınıf yönetimi tiyatro şenliği bu sene 20 Mayısta yapılıyor. Süleyman Demirel Üniversitesi Teknik Eğitim Fakültesi öğrencilerinin katılımları ile hazırlanan tiyatrolar çeşitli aktivitiler ile birleşerek seyircilere güzel bir gün geçirmeyi planlıyor. Hazırlık ve önsunum aşamalarına yakından katılmış biri olarak şunu söyleyebilirim, tek kelime ile muhteşem bir şenlik bizi bekliyor. Yakınlarda olanlar varsa bu günü kaçırmamalarını öneriyorum. Çorbada bizim de tuzumuz olması açısından etkinlik için hazırladığım afişi sizlerle paylaşayım.

 

 Yer: Süleyman Demirel Üniversitesi, Teknik Eğitim Fakültesi , E12 102 nolu salon
 Tarih: 20 Mayıs 2009 Saat: 13:30

 


Etiketler : Etiket Yok
Kategoriler : Güncel
Yorumlar : 2 Yorum Yorum Yaz
Yazıcı Dostu Görünüm

Kısa bir aradan sonra tekrar beraberiz, teknik problemler nedeniye bu güne kadar bir çok sıkıntı çektik, ama bunlar bizi paylaşımdan alı koymadı.

Hayırlı olur İnşAllah...

Etiketler : Etiket Yok
Kategoriler : Güncel
Yorumlar : 0 Yorum Yorum Yaz
Yazıcı Dostu Görünüm