TemplateColumn ile Keyfi Sütunlar
DataGrid hakkındaki yeni bir makale ile tekrar birlikteyiz. Bu makalede konumuz TemplateColumn.. Önceki makalelerdeki gibi durumun vehametini anlatır paragraflarla giriş yapmak yerine, çok hoşunuza gideceğinden emin olduğum TemplateColumn 'un ne olduğunu, nasıl kullanıldığını anlatmayı öne almayı tercih ediyorum.
Basit Bir Not Defteri
Bu yazımızda konu olarak Windows Form’u seçtim; çünkü bu konuda Türkçe kaynak neredeyse yok. Doğru dürüst bir programın yapımını gösteren bir yazı, bir site bulamadım. Tabi ki Türkçe bir çok makale var sitelerde, bende onlardan yararlanarak ve deneyerek bir şeyler yaptım. Şimdi bu yaptıklarımı sizinle paylaşıyorum.
DataGrid ile Sayfalama (Paging)
Önceki makalelerde DataGrid 'i basitçe gösterdim ve özelliklerinden bahsettim. DataGrid 'e nasıl stil verildiğini, tasarımımıza nasıl uydurabileceğimizi, hangi sütunların görünmesini ve başlıklarının ne olmasını istediğimizi nasıl belirteceğimizi anlattım. Ancak DataGrid 'in daha karmaşık işler için sunduğu destekleri makalelerime dahil etmedim.
ASP.NET’e Giriş
Arkadaşlar makaleme başlamadan önce hepinizin içinden "ya önce asp şimdi de asp.net nedir bizim bu Microsoft'tan çektiğimiz" diye iç geçireceğinizi düşünüyorum. Aslına bakarsanız Microsoft'un Windows98'den bu yana yaptığı en büyük atılımlardan biri olarak görüyorum .NET teknolojisini. Burada asıl önemli olan gelişme .NET Framework. Kısaca .NET Framework bize ASPX (ASP.NET te asp sayfalarımızın yeni uzantısı aspx unutmayalım!!!) uygulamalarımızı çalıştırıp sunucu-istemci arasında çok kuvvetli ve dinamik bir bağ oluşturmaktadır.
ASP.NET'le gelen en büyük yeniliklerden birisi de uygulamamızı istediğimiz herhangi bir dille yazabilme serbestliği. Bu dil VB.NET, C#, C++, Pascal, Delphi, Visual C++, Phyton, Java, vs. Uygulama hangi dille yazılırsa yazılsın CLR (Common Language Runtime) özelliği ile ara bir dil olan MSIL'e (Intermediate Language) çevrilmekte ve uygulama sunucuda sadece bir kereye mahsus derlenmektedir. Daha sonraki işlemler için MSIL kodu kullanılmakta, bu da sunucuya mükemmel bir hız ve performans kazandırmaktadır.
Klasik ASP ile uğraşan arkadaşlar bilirler ki, ASP sayfalarımızı yaparken yazdığımız kodlar html tag'lerinin içine gömülü olan kod parçacıklarını kullanırdık. Buna karmaşıklığı sebebiyle "spagetti code" (makarna kod) benzetmesi de yapılmaktaydı. Ancak aspx'te durum bundan oldukça farklı; en önemlisi artık sayfayla ilgili tüm kodlarımızı (veritabanı bağlantısı, üye kontrol kodları, değişken tanımlamaları.. ) artık script tag'leri arasına yazıyor olmamız. Bu bize inanılmaz bir çözüm üretme hızı getiriyor. Bununla birlikte sayfamızda kullandığımız herşey (table, button, image, ..) aspx için birer "nesne". Yazacağımız program kodlarıyla bu nesnelere "event" (olay) tanımlaması yaparak istediğimiz işlemi sayfamızda gerçekleştirebiliriz. Hem de en basit şekilde. Lafı kısa tutmak istiyorum fakat ASP.NET çok geniş bir platform. Konuş konuş bitmez, üzerine ansiklopedi bile yazılabilir. Şimdi ilk denememize geçelim.
Neler Gerekli?
1. Windows2000 Pro., Server; WinXP Professional; Windows Server 2003
2. IIS 5.0 veya üstü
3. Internet Explorer 5.0 veya daha üstü
4. .NET Framework (microsoft.com'dan ücretsiz olarak indirebilirsiniz)
5. Notepad (vefakar ve cefakar notepad!)
6. WebMatrix veya DreamWeaver MX
Arkadaşlar Notepad'de yazabilirsiniz fakat ben ilk zamanlar zıvanadan çıktım. Hata olduğunda hatayı ayıklamak Nnotepad'de çölde kibrit aramak gibi. Bu yüzden size hem bedava hem de kolay indirebileceğiniz bir program olarak WebMatrix (www.asp.net ten tam sürümü indirebilirsiniz) öneriyorum. Çok rahat çalışabilirsiniz. Ben WinXP Pro'da çalışıyorum, sorunsuz bir program. Tabi daha önce .NET Framework'ü yüklemeyi unutmayın; yüklemeden sonra artık wwwroot klasörü içine atacağınız aspx sayfalarınız çalışacaktır. Ancak daha profesyonel bir çalışma içine gireceksek tabi ki Dreamweaver MX bizim için büyük nimet. Sunduğu birçok arayüz ve otomatik kod tamamlama ile bir web programcısının işini oldukça kolaylaştırmakta.
İlk Deneme
Şimdi basit ama temel örneğimize yani sayfamıza yazı yazdırmaya gelelim. Bu basit ama önemli bir örnektir. Örneğinimizde TextBox'tan aldığımız ifadeyi sayfamızda "Merhaba ..(ifade).." şeklinde yazdıracak aspx sayfamızı yapacağız. Şimdi Dreamweaver MX'i açıp, dnm.aspx sayfamızı wwwroot klasörü altında kaydetmek üzere örneğimize başlıyoruz. Söylemem gereken önemli bir şey ise, aspx nesnelerinin sayfa içersinde gözükmeyeceğidir (aspx nesneleri sunucuda çalıştırıldıktan sonra görsel hale gelir..).
Ctrl+N deyip New Document 'tan ASP.NET VB seçeneğini tıklayıp dnm.aspx sayfamızı oluşturuyoruz.
F9 veya WindowTag Inspector 'ı açıyor ve sayfada kullancağımız kodlarımızı buradan yönetiyoruz.Sayfanın en başında page language="vb" yazılı bir ifade göreceksiniz.Bu sayfada yazılan kodların Visual Basic 'e göre derleneceği anlamına gelir.Şimdi de vb kodlarımızı yazacağımız kısma geldi, HTML in üstüne gelip sağ tuş New Tag BeforeNew Tag deyip script tagimizi oluşturuyor ve bu tagimize hemen altta bulunan kutucuklardaki runat kısmına server yazıp kodumuzun sunucuda çalıştırılacağını belirtiyoruz.Bu yaptıklarımızı isterseniz kendiniz kod bölümüne direk de yazabilirsiniz tercih sizin.
Bunu da yaptıktan sonra artık asp.net taglerini kullanmaya geldi, sayfanızın tasarımı nasıl olursa olsun bu nesneleri form runat=server tag'i içersinde kullanmak zorundasınız.Aksi halde hatayla karşılaşırsınız.Bu tagimiz body tag'i içinde herhangi bir yerde olabilir.
Şimdi imlecimiz form taglerininin arasında iken sağ tuş yapıp insert tag diyoruz ve karşımıza Tag Chooser geliyor.Tag Chooser ASP.NET Tags asp:textbox tıklayıp insert ediyoruz.
Bu artık bizim aspnet objemiz artık programatik olarak bu nesnemizi her şekilde kullanabiliriz.Bu nesnemize şimdilik sadece id="textbox1" tanımlaması yapıyoruz.Bunu yapmamız kesinlikle mecburi;çünkü bu nesneyi program kodumuzun görmesi için nesnenin bir id si olması şart.Ayrıca yine runat=server olmasına dikkat edin.
Hemen yanına textbox1 deki veriyi program bloğuna iletecek olay yönlendirmeli butonumuzu tanımlaya geldi.Olay yönlendirmeli diyorum çünkü butonumuz tıklandığında veya mouse üzerinde olduğu zaman gerekli yordamı çalıştıracaktır.Bunun için Tag Chooser'dan asp:button tagini seçiyor id=buton1 , onclick=butona_basildi (Events'in altında) , text=Tıkla özelliklerini giriyoruz.Burada butona basıldığı zaman butona_basildi yordamı çalıştırılarak bu yordamla ilgili gerekli işlemler yapılacaktır.
Şimdi sıra geldi alınan ifadeyi yazdırmaya, yazdırma işlemleri için asp.net'in asp:label tag'i kullanılmaktadır.Yine benzer şekilde asp:label tag'imizi de oluşturup id=label1 olarak giriyoruz.
En son olarak da artık programı çalıştıracak kodu yazmaya geldi.Söylediğimiz gibi kodumuzu script runat=server tagimizin içine yazıyoruz.
Uygulamamızı çalıştırmak için ie açıp http://localhost_name/dnm.aspx yazmamız yeterli olacaktır.Burada hemen dikkati çeken asp.net taglerinin alışagelmiş taglerden farklı olması.Özellikle tagler hem klasik anlamda olarak da hem de .../> olarak da kapatılabilmektedir.Kullanımı tamamen size kalmış.
ASP.NET platformdan bağımsız çalıştığından artık yazdığınız bu uygulama (sayfa) hemen hemen her platformda çalışacaktır.Bunlar Wap Telefonları,Palm'lar, Tablet PC ler,.. vs.
Datagrid – 2
Bir önceki makalede ASP.NET ile birlikte gelen ve
web kontrollerinin en güçlüsü olduğunu söylediğim DataGrid hakkında özetleyici bilgi
vermiştim. DataGrid'in nasıl kullanılacağına dair VB ile yazılmış bir kod göstermiş
ve çalıştırıldığında sayfada nasıl durduğunu göstermiştim.
Ancak çok fazla özelliği olan bu gelişmiş web kontrolünün envai çeşit özelliği hakkında
detaya girmemiştim. Çünkü bu geniş konuyu tek tek ayrı makalelerde işlemeyi düşünüyorum.
C# ve OpenGL
OpenGL (Open Graphics Library - Açık grafik kütüphanesi), mevcut OpenGL
destekli grafik donanımınızın sağladığı olanaklardan, uygulamalarınızda sonuna kadar
faydalanabilmeniz için kullanıcıya, kolay anlaşılabilir ve kullanılabilir fonksiyonlar
sağlayan endüstri standartı haline gelmiş bir grafik kütüphanesidir.
.NET Üzerinde Kriptografi
Bugünlerde bilgisayar dünyasında en çok konuşulan konulardan biri kriptografi,
yani şifreleme. İki tarafın kulak misafiri kaygısı olmaksızın haberleşmelerini
sağlayan bu teknoloji, özellikle son birkaç yılda İnternet''in yaygınlaşmasıyla
önem kazandı. .NET platformu üzerinde gelistirdiğiniz uygulamaları nasıl daha güvenli
hale getirebileceğimize bu yazımızla kısa bir başlangıç yapıyoruz.
SOAP Nedir? Avantajları Nelerdir – I
Dağıtık, tek merkezli olmayan uygulamaların veya çeşitli noktalardaki nesnelerin,
kendi barındıkları platformla aynı veya farklı platformlardaki nesnelerle aynı dili
konuşması mevcut nesne iletişim arayüzlerinin (COM, CORBA, EJB
gibi) kullandığı transfer protokollerinin gerek uygulamayla bağdaşmaması, yani kullanılan
programlama diline veya işletim sistemine uyumsuzluğu, gerekse protokolun mevcut
diğer protokollerle olan uyumsuzluğundan dolayı hep sorun teşkil etmiştir ve ortak
standart bir protokole ulaşılamamıştır.
Datagrid
Üyelik sistemi ile çalışan bir sitede, klasik ASP ve ADO'nun sunduklarını kullanarak,
tüm üyelerin listesini veren bir sayfa hazırlamak çok zaman alır. Bu iş için, belli
sayıda kayıtın veritabanından alınıp, belirlenmiş bir formatta gösterilmesi gerekir.
String İşlemleri – 2
Regex
Aslında Regex sınıfını anlatmamayı planlamıştım, çünkü bu sınıfı tam olarak anlayabilmeniz
için başlangıç seviyesinde C# yada VB.NET ve birazcık da nesne yönelimli programlama
bilmeniz gerekir.