Asp.net Csharp Veritabanı Javascript Ajax VB.Net Güncel



Turan Yazılım
Payanda
Artı Form
Bilisimdershanesi



 Asp.net'te Türkçe Karakter Sorunu Düzeltme
 

Asp.net ile hazırladığımız web projelerinde genellikle Türkçe karakter sorunu ile karşılaşılır. Sitemizde kullandığımız Türkçe karakterler hostta bozuk çıkar. Bunu önlemenin yolu web.config dosyamızda bu sorunu belirtmemizdir. Çözüm ise; system.web tagları arasına aşağıdaki kodları eklemek. Böylece sitemizde kullandığımız karakterler artık düzgün çıkacaktır.

<globalization requestEncoding="iso-8859-9" responseEncoding="iso-8859-9" culture="tr-TR" uiCulture="tr" fileEncoding="iso-8859-9" /> İyi Çalışmalar. Faik TURAN.



 HAYAT PINARIMDAM DAMLALAR
 
HAYAT PINARIMDAM DAMLALAR
HAYAT PINARINDAN

Hayat pınarımdan düşen damlalar,
Göl olur ömürde çağlar giderim.
Gönül pınarımdan düşen damlalar,
İçime dökülür yanar giderim.

Acı tatlı farklı geçen günlerim,
Bir gün susar şu konuşan dillerim,
Özlemle hasretle sıkan ellerim,
Uzanamaz sana bakar giderim.

Ülkem, ülküm için var olduğumda,
Rabb’ıma yakışır kul olduğumda,
Akarsu misali yol bulduğumda,
Çağlayanlar gibi yıkar giderim.

Kayaturan ay yıldızlı bayrağa,
Sarılarak gitsem en son durağa,
Kefenin bu deyip konsam toprağa,
Asker gibi selam çakar giderim.
 

Şevki KAYATURAN

 

"Hayat Pınarımdan Damlalar"isimli şiir kitabımında adı aynı zamanda Bilge Karınca Yaınlarından çıktı benim ilk kıtabım ilk göz ağrım. Şevki KAYATURAN
 

Sevgili Abim, Güzel İnsan, Sivaslı Yiğido, Halam oğlu Değerli Şair.

Sayın abim yüreğine sağlık ne güzel şiirler bunlar. Muhakkakki bu sözler gönül dilinden parmaklarına döküldü. İykide dökülmüş. Şiirlerin çok güzel. Bütün arkadaşlara tavsiye ederim. Israrla kitapçınızdan isteyin. Hayat Pınarımdan Damlalar"isimli şiir kitabı Bilge Karınca Yayınlarından çıktı. Edebiyatı, sanatı olmayan bir millet yaşayamaz. Sevgili arkadaşlar ne kadar luzümsuz şeylere ne kadar çok paralar harcıyoruz. Ama kitaba, sanata harcadığımız parayı lüzümsuz ve boş görüyoruz. İnsan iki boyutlu bir varlıktır. Hem maddi, hemde manevi yönü vardır. Tek kanatlı nasıl bir kuş uçamazsa, tek boyutlu insanda yaşamaz. Sadece yaşadığını sanır.

Bu vesile ile Sayın büyüm, abim Şevki KAYATURAN'a bu kadar güzel bir eseri bize hediye ettiği için teşekkür ediyorum. Allah kalemine güç kuvvet versin. İnşallah daha çok insana ulaştırmak ümidiyle. Yüreğine, gönlüne, sevgine, emeğine sağlık. Kendinize iyi bakın. İstanbuldan muhabbet dolu sevgi ve selamlar? Faik TURAN

 

 



 .Net ile Ajax Uygulamaları
 .Net projelerimizde ajax kullanımı

 Javascript Uygulamalar
 Javascript ile hazırlanan uygulamalar ??

 Access Kullanımı
 .Net ile Access Kullanma?..

 MySql kullanımı
 Mysql'i .Net ile nasıl kullanırız.

 Visual C# ile Windows Menüleri Hazırlama
 
Merhaba, bu makalemizde, hemen hemen tüm Windows uygulamalarının temel yapı taşı olan Windows menülerinin nasıl hazırlandığını ve basit bir uygulamasını adım adım göreceğiz. Bildiğiniz gibi Windows menülerini şimdiye kadar Visual Basic ortamında çok basit bir şekilde yapmak mümkündü. Ama artık Visual C# ile menü hazırlamak hem daha kolay hem de daha eğlenceli. Bu makalede yapacağımız uygulamadaki amacımız, File ve Edit bölümünden oluşan Windows menüsünü tek bir Windows butonuyla aktif ya da pasif duruma getirmek.
Şimdi uygulamamızın ilk adımı olan yeni proje oluşturma sayfasını açalım.
File->New -> Project menüsünü kullanarak aşağıdaki gibi yeni bir proje oluşturalım.
Proje tipi olarak Visual C# Project, template olarak da Windows Application seçtikten sonra projemize uygun isim verip OK butonuna tıklayalım.
Projemizi oluşturduğumuzda Visual C# IDE 'sinin bizim için bir başlangıç formu oluşturduğunu görürüz. Bu form doğal olarak şu anda boştur. Toolbox menüsünü kullanarak Form üzerine istediğimiz kontrolleri sürükle bırak yöntemiyle yerleştirebiliriz. Ya da istediğimiz kontrolü çift tıklayarak da aynı işlevi gerçekleştirebiliriz. Eğer toolbox menüsünü göremiyorsanız ekranın sol alt küşesinde bulunan
ToolBox ikonuna tıklayın. Şimdi formumuza basit bir MainMenu kontrolu ekleyelim. Yine ToolBox menüsünden aşağıdaki ikona şekline benzeyen kısma çift tıklayın. Eğer işlem başarılıysa formunuzun en üst kısmında edit edilmek üzere bir menü oluşacaktır.
MainMenu üzerine fare ile gelerek istediğiniz menü elemanlarını ekleyin.Ben önce File elemanını sonra Edit elemanını ve Edit elemanının içinde de Copy ve Paste menü elemanlarını aşağıdaki gibi oluşturdum.
Şimdi menü elemanlarımıza Properties penceresinden isim verelim. Aşağıda gördüğünüz pencereden form design penceresinden seçtiğiniz elemanla ilgili özelliklere ulaşabilirsiniz.Şimdi Edit menü elamanına tıklayarak Properties ekranındaki name özelliğine "menuEdit" yazalım. Burda menu elemanına verdiğimiz ismi daha sonra kod yazarken kullanacağımız için aklımızda kalacak bir isim vermemiz düzenli kod yazmak için önemli bir sebeptir. Menü elemanlarıyla işimiz bittiğine göre sıra menüyü kontrol edeceğimiz butonu yerleştirmeye geldi. ToolBox penceresinden "Buton" a çift tıklayarak forma bir buton yerleştirelim .Daha sonra butona tıklayıp Properties penceresinden buton ismi (Name) olarak "BizimButon " yazalım. BizimButon ' un text özelliğine ise "MENU PASİF ET" yazısını yazalım. Bu yazıyı yazmamızın sebebi ise şudur: Mene elemanları varsayılan olarak aktif durumdadırlar. Bu yüzden menüyü pasif hale getirmek için bu yazıyı seçtik.
Evet,Form tasarım işlemi bitti. Şimdi sıra geldi BizimButon ile menüye aktif ve pasif durumları arasında geçiş yaptırmak. Tabi asıl işte şimdi başlıyor.
Form üzerindeki butona çift tıklayarak kod yazma ekranına gelelim.
Gördüğünüz gibi Visual C# bizim için bir takım kodlar oluşturdu. Biraz bu hazır kodları ana hatlarıyla inceleyelim.
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;
Yukarıdaki kodlarla programımızın kullanacağı bir takım sistemler derleyiciye bildiriliyor.
public class Form1 : System.Windows.Forms.Form
System.Windows.Froms.Form sınıfından yeni bir Form1(bizim form) sınıfı türetilerek bu form içindeki elemanlar tanımlanıyor.
private System.Windows.Forms.MainMenu mainMenu1;
private System.Windows.Forms.MenuItem menuFile;
private System.Windows.Forms.MenuItem menuEdit;
private System.Windows.Forms.MenuItem menuItem3;
private System.Windows.Forms.MenuItem menuItem4;
private System.Windows.Forms.Button BizimButon;
private System.ComponentModel.Container components = null;
private void InitializeComponent() işlevi ile Form1 sınıfı içindeki elemanlarla ilgili ilk işlemler yapılıyor. Elemanların form üzerindeki yeri ve elemanlara ait Properties penceresinden tanımladığımız bütün özellikleri bu işlev ile yerine getirilir.
static void Main()
{
Application.Run(new Form1());
}
Uygulamamızın Form1 üzerinden gerçekleştirileceğini belirtir.
İşte bu da bizim kodumuz :
private void BizimButon_Click(object sender, System.EventArgs e)
{
if (menuEdit.Enabled)
{
menuEdit.Enabled=false;
BizimButon.Text="MENU AKTIF ET";
}
else
{
menuEdit.Enabled=true;
BizimButon.Text="MENU PASIF ET";
}
}
Bu kodu yazabilmek için form design penceresinden BizimButon çift tıklayarak BizimButon_click() işlevinin içine geçelim. Yukarıdaki kodda eğer menuEdit aktifse pasif duruma getiriyoruz ve BizimButon 'a da "MENU AKTIF ET" yazıyoruz. Eğer menuEdit zaten pasifse Menuyu aktif hale getirip BizimButon yazısını da "MENU PASIF ET" yapıyoruz. Aşağıda her iki durum için programımızın çıktısı mevcuttur.
Başarılar…
 
Faik TURAN


 Her Yönüyle ilk C# Programımız
 

 

C# dili ortaya çıkalı daha hiç bir şey yapmayan varsa ya da birşeyler yapıp da ne yaptığından emin olmayan varsa işte bu yazı tam size göre. Bu yazımızda klasik Merhaba Dünya programımızı yazacağız.Ama programımızı yazarken her şeyi adım adım öğreneceğiz. Unutmayın amacımız burada Merhaba Dünya yazmak değil. :) O halde aşağıdaki programı iyice inceleyin önce, şöyle bir süzün programı yukarıdan aşağıya, fazla detaylara inmeden yazımızı okumaya devam edin;

//dosya adı : Merhaba.cs

using System;
namespace MerhabaDunya
{
    class Sınıf1

    {
        static void Main(string args[])

        {
        Console.WriteLine("Merhaba Dünya");
        }
    }
}

Yukarıdaki ilk programımızı incelediğinize göre açıklamalarımıza geçebiliriz. Eğer önceden C++ ve Java ile ilgilenmiş arkadaşlar varsa yukarıdaki kodlar tanıdık gelebilir. Nitekim, her ne kadar Microsoft firması ilk başlarda bunu kabul etmese de C# dili Java ve C++ dillerinin harmanlanmasından oluşmuş bir dildir. Bugün bunu kabul etmeyen yoktur sanırım.

Yukarıdaki ilk programımızın kodunu ben Notepad ile yazdım. Ama kodu derleyip çalıştırmak için bir C# derleyicisine ihtiyacımız olacak. C# derleyicisi Visual Studio.NET ile kurulabileceği gibi www.microsoft.com web sitesinden .NET Framework yazılımını indirerek de kurulabilir. Eğer Visual Studio ortamında çalışıyorsanız yukarıdaki kodları Visual Studio .NET ' in sunduğu hazır proje şablonlarından rahatlıkla oluşturabilirsiniz. Visual Studio programını çalıştırdıktan sonra Project->New menüsünden dil olarak Visual C# ve proje şablonu olarak da "Console Application" seçerseniz, main işlevi içindeki kodlar dışındaki yapı otomatikmen oluşturulacaktır.Eğer .NET Framework yapısını kurduysanız Console Ekranından C# derleyicisini çalıştırmalısınız. Komut ekranını <csc Merhaba.cs> yazarak kaynak kodumuzu derleyebilirsiniz.

Şimdi kodlarımızı inceleyelim. İlk satırdaki
<using System;> ifadesi System adlı bir isim alanının kullanılacağını belirtiyor.Peki nedir bu isim alanı(Namespace). İsimalanı kavramı son yıllarda program modüllerinin çok sayıda artmasından dolayı popüler hale gelmiştir. Kolay ve hızlı programlama yapmamızı sağlayan bir takım hazır kütüphaneler her ne kadar işimizi kolaylaştırsa da eğer isimalanları olmasaydı kullanacağımız her kütüphane bizim için işin içinden çıkılmaz bir hale gelebilirdi. Düşünün ki iki ayrı firma iki ayrı sınıf kütüphaneleri oluşturdu ve bu kütüphanelerin içinde aynı isimli birden çok sınıf yapısı var. Eğer biz programcı olarak iki firmanın da kütüphanesini kullanmak istiyorsak her ikisini aynı kod içinde kullanamayız. Çünkü aynı isimli sınıflar derleme aşamasında hata verecektir. Bu durumda yapılması gereken tek şey ya da en etkili yöntem isimalanlarını kullanmaktır. Yani bir sınıfa(class) ulaşabilmek için onun isim alanıyla çağırmak. İsim alanları hiyerarşik yapıda olabilir. Mesela System isim alanının altında başka bir isim alanı onun altında başkaları vs. İşte .NET isimalanı(namespace) hiyerarşisinin en tepesinde bulunan isim alanı System adlı isimalanıdır. En temel işlemlerimiz için bile bu isim alanını kullanmalıyız. Aksi halde programımız çalışmayacaktır. İsimalanlarını kullanmak için isimalanının başına using sözcüğü getirilir.

Soru: System isim alanının içinde Data isimalanında bulunan bir cs adlı sınıfı kullanabilmek için kaynak kodumuza ne eklememiz gerekir.

Cevap : Kaynak kodumuzun en başına aşağıdaki ifadeyi yazmamız gerekir.

using System.Data;

Bildiğiniz gibi C# dili %100 nesne tabanlı bir dildir. Yaptığımız herşey bir sınıf nesnesidir C# dilinde. Nesne olmayan hiçbir şey yoktur. C++ dilindeki main işlevini hatırlarsınız çoğunuz. Programımız c++ dilinde main işlevinden başlar ama main işlevi hiç bir zaman bir sınıf içinde olmamıştır.C# dilinde herşey sınıflarla temsil edildiği için main işlevi de bizim belirlediğimiz bir sınıfın işlevi olmak zorundadır. Yukarıdaki programımızda
<class Sınıf1> ifadesi ile programımızda bir sınıf nesnesi oluşturuyoruz. Sınıf1 sınıfının bir işlevi olan main'in elbette eskiden de olduğu gibi özel bir anlamı vardır. Biliyorsunuz ki derleyiciler programın nerden çalışacağını bilmek isterler, aksi halde derleme işleminden sonra "programınız için başlama noktası bulunamadı" hatası alırız. Bu yüzden main işlevi bizim için eskiden de olduğu gibi programımızın başlangıç noktasıdır. Yani biz programda yapmak istediklerimizi main işlevi içinde gerçekleştireceğiz. Sınıf tanımlamalarımızı ise istediğimiz noktada yapabiliriz. Daha öncede dediğimiz gibi isimalanları birçok sınıfın veya tek bir sınıfın oluşturduğu kümedir. Bizim ana programımız da bir sınıf olduğuna göre Class1 sınıfını istediğimiz isimli bir isimalanına sokabiliriz. Yukarıda <namespace MerhabaDunya> yazarak isimalanını başlatıyoruz.

Şimdi main işlevinin içine bakalım, System isimalanında bulunan Console sınıfının bir metodu olan WriteLine() ile ekrana bir string ifadesi yazdırıyoruz. Biz burda iki tırnak ifadesi içinde yazımızı belirtmemize rağmen fonksiyonun kullanmı bununla sınırlı değildir. C# dilindeki fonksiyon aşırı yükleme (function overloading)kullanılarak fonksiyonu birçok parametrik yapıda kullanabilmemiz sağlanmıştır. Fonksiyon aşırı yükleme konusuna bundan sonraki yazılarımızda değineceğimizi belirtelim. WriteLine() işlevinin adından da anlaşılacağı gibi ekrana basmak istediğimiz yazıdan sonra satır atlama işlemi yapar.Bunu test etmek için bir tane "Merhaba Dünya" da siz yazdırın. Göreceksiniz ki siz belirtmemenize rağmen alt alta iki tane "Merhaba Dünya" yazısı çıkacak.

Eğer bu programı yazıp derlediyeseniz ne mutlu size ki C# dünyasına güzel bir adım attınız.
 
Başarılar?

Faik TURAN



 Asp.net'e Giriş
 

Standart bir ASP.NET uygulaması 4 temel maddeden oluşuyor

  1. Uygulamanın çalışacağı IIS dizini
  2. ASPX dosyaları
  3. Global.asax dosyası
  4. Web.config dosyası

 

    ASP.NET, uygulamamızı daha yetenekli ve kullanışlı hale getirecek bir çok dosyayıda beraberinde getirdi. Bunlar : .ascx, .asmx, .vb, .cs . Bu dosyaları kısaca yüzeysel tanımları şöyledir.

.ascx : Kullanıcı kontrollerinin barındıran dosya türüdür.
.asmx : XML Web hizmetlerini uygulamak için kullanılmaktadır.
.vb : Visual Basic .NET kod modüllerinin uzantısıdır. Code-Behind yöntemi kullandığınıldığında kullanılan aspx dosyaından aynı ismi taşıyan bir de vb dosyası oluşturulur.
.cs : C# Visual Studio .NET kod modüllerinin uzatısıdır. Code-Behind yöntemi kullanıldığında C# dili kullanılıyorsa aynı isimi taşıyan bir de cs dosyası oluşturulur.

    Yukarıda bahsettimiğimiz Global.asax ve Web.config ise uygulamanın temeli işlevlerini üstlenir.

Global.asax : Eski ASP deki global.asa nın görevini üstlenir.

Web.config : Uygulamanın yapılandırılmasını sağlar. XML veri içerir. Hiyerarşik yapıya sahiptir. Yani içinde bulunduğu klasör ve alt klasörlerini etkiler. Fakat alt klsasörlerden birinde web.config dosyası daha bulunursa bir üstteki web.config dosyası geçersiz olur.

    ASP.NET bir çok yenilikle geliyor demiştik. Bunlardan biride ASP ile yaptığımız uzun ve zahmetli işlerin Visual Studio.NET ile çok daha kolay ve hızlı bir şekilde yapılabilmesi. Bir veritabanındaki bilgileri görüntülemek için yaptığımız veritabanı bağlantısı, recordset oluşturma ve bu recordset teki bilgileri bir döngü ile döndürüp html etiketleri arasına sıkıştırma işlemi Visual Studio.NET ve ASP.NET in getirdiği yeniliklerden DataGrid ile 30 saniye süren bir işleme dönüyor.

    Eski ASP aslında o kadar kötü değildi. ASP yazan kişinin farkına varmadan bazı yetenekler kazanmasına neden oluyordu. Bazen günde 40-50 yi bulan Server.CreateObject ifadesini kullanmak ve buna benzer rutin işleri yapmak size ekrana ve klavyeye bakmadan arkadaşınızla muhabbet etmek, milli maç seyretmek gibi yetenekler kazandırıyordu. Aynı sayfada kod yazmaya alışmış ve kolay kolay bırakamayacak olanlarda düşünülmüş ve ASPX sayfaları Code-Behind çalıştığı gibi ASP.NET kodlarınızı aynı ASP.NET sayfasında yazabilme imkanı verilmiş.

Peki nedir bu Code-Behind ?

    Türkçeye Arka-Kod olarak çevirebilir. Yani arkada çalışan kod. Yukarıda bahsettiğimiz .vb ve .cs uzantılı dosyalar Arka-Kod un bulunduğu dosyalar. Uygulamanın tüm kodları bu dosyada bulunur ve burdan çalıştırılır. Diyelimki ASPX sayfamızda bulunan bir Label1 isimli bir etiketimiz var ve uygulamamızı Visual Basic.NET ile geliştiriyoruz. .vb uzantılı dosyamızda Page_Load isimli fonksiyonumuzun içine Label1.Text ="Merhaba Dünya" yazdık. .aspx sayfamızı çağırdımız zaman aynı ismi taşıyan .vb uzantılı dosyasındaki Page_Load fonksiyonu çalışır ve .aspx sayfamızda bulunan Label1 isimli etiketimizin Text özelliğine "Merhaba Dünya" değişkenini atar ve karşımızda bize merhaba diyen bir sayfa çıkar.

Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs)_
Handles MyBase.Load
	
	Label1.Text = "Merhaba Dünya"
	
End Sub

  İyi de uslu uslu aynı sayfada çalışmak varken neden kodlarımızı ayrı bi dosyada tutalım ki ? Bunu bana be gibi bir getirisi olur ? Aslında bir değil bir çok getirisi var. Code-Behind kavramını görsel işleri üstlenen HTML işe uygulamayı üstlenen ASPX kodunun birbirinden ayırmayı sağlayan bir yöntemdir diye kısaca tanımlayabiliriz. Getirisine gelince de
 

  1. Görsel ve uygulama kodlarının birbirinden ayırarak daha sağlıklı bir uygulama geliştirme olanağı sağlar.
  2. Farklı projelerde kullanılacak ASPX dosyasının yeni projelere daha kolay adapte edebilme imkanı verir.
  3. Uygulama kodu HTML den ayrıldığı için daha kolay okunur.
  4. Telif haklarının korunmasına olanak sağlar. Code-Behind sayesinde derlenmiş kod kullarak yazdığımız kodun saklı olmasını sağlayabiliriz

İşte kısaca ASP.NET.












© 2008 Copyright Faik TURAN. Tüm Hakları Saklıdır.