Google Maps çoklu Marker ekleme

Google maps api kullanarak bir noktayı işaretleme olayına marker diyoruz. Bir raporda harita üzerinde bayilerimizi bulundukları şehirlere göre işaretlemem gerekiyordu fakat şehir adeti arttıkça aranan şehrin bulunamaması gibi bir problem oluşuyor. Bunun sebebi de şehirlerin isimlerini bir servise gönderip geriye koordinatları almakla ilgili..
Okumaya devam et Google Maps çoklu Marker ekleme

Pi sayısının paralel bilgisayarlarla hesaplanması

Geliştirme ortamı ve kullanılan süreçler aşağıdaki gibidir;
    ° Bilgisayarlara Pardus 2009 işletim sisteminin kurulması
    ° Bilgisayarlarda tam yetkili (ssh protokollü) aynı kullanıcı adı ve şifreye sahip kullanıcı oluşturulması.
    ° Bilgisayarlara gcc (C derleyicisi) ve OpenMPI (Mesaj Tabanlı Paralel Programlama Modeli) paketlerinin kurulması.
    ° Pi sayısını hesaplayan kodun MPI kütüphanesi ile C programlama dili kullanılarak yazılması
    ° Programın derlenmesi
        $mpicc MPIdeneme.c – o ck
    ° Programın tek bilgisayarda çalıştırılması
        $mpirun –np 10 ck
    ° Programın birden fazla makinada birden fazla süreçle çalıştırılması
        $mpirun –H 192.168.1.5 –H 192.168.1.3 –np 10 ck

MPI Nedir?
    MPI başta dağıtık bellekli sistemler olmak üzere paralel algoritma yazmaya yarayan bir kütüphane standardıdır.Bir programlama dili değildir.MPI kütüphanelerinin C, C++ ve Fortran dili aileleri için sürümleri bulunmaktadır.MPI, “mesaj geçme” mantığına dayalıdır. Değişik işlemciler, birbirleriyle iletiler sayesinde haberleşirler.

MPI kütüphanesine ait bazı fonskiyonlar;

MPI_Init(&argc,&argv)
    MPI_Init fonksiyonunu bütün kodlarınıza eklemeniz gerekmektedir. MPI_Init fonksiyonuna komut satırından da parametre verebilirsiniz ama mecbur değilsiniz. MPI_Init size bir değer dönmektedir bu “MPI_SUCCESS” olursa kod geri kalan MPI_X fonksiyonlarını kullanabilecektir, eğer bu değer dönmezse MPI_X fonksiyonlarını kullanamazsınız.

MPI_Comm_size(comm,&size)
   
Bu fonksiyonumuz proses sayısını bize vermektedir. Genellikle “comm” kısmına MPI_COMM_WORLD üst fonksiyonu yazılmaktadır.

MPI_Comm_rank(comm,&rank)

    Bu MPI fonksiyonu çağıran prosesin sırasını vermektedir. Başlangıçta bütün prosesler 0 veya -1 değerlerini almaktadır. Daha sonra MPI tarafından sıraya sokulunca bütün prosesler numaralandırılmaktadır. Aşağıda ki örneğimizde göreceğimiz gibi makineler 0 dan başlayarak rank(sıra) alacaklardır.

MPI_Get_processor_name(&name,&resultlength)
    İşlemcinin adını ve adın uzunluğunu dönmektedir.

MPI_Wtime( )
    Double deger olarak paralel kodun çalışmaya başlamasından sonra geçen zamanı vermektedir.

MPI_Send(buf, count, datatype, dest, tag, comm)
    Bir sürecin bir diğerine değişken göndermek istediği zaman bu fonksiyon kullanılır. Tek bir değişken gönderilebildiği gibi tamamen bir dizi veya bir dizinin bir kısmı da bir kerede gönderilebilir.

MPI_Recv(buf, count, datatype, source, tag, comm, status)
    Bir süreç, başka bir sürecin gönderdiği değişkeni veya değişkenleri bu fonksiyon yardımıyla alır.

MPI_Finalize( )
    Bütün işlemlerimizden sonra MPI_Finalize diyerek işlemlerimizi sonlandırıyoruz.

MPI_REDUCE(data, result, count, type, op, root,comm)
    Bu fonksiyonumuz N tane makinede oluşmuş sonuçları derleyerek ana proses’ te result dizisinde saklamaktadır. Geri kalan değişkenlerden count “reduce”(alınmış veri) sayısını, type alınan verilerin türlerini, op yapılan alınma işlemlerinin sonuçlarını, root verilerin alındığı prosesleri ve son olarak comm haberleşme ortamının adını (MPI_COMM_WORLD) almaktadır.

Derleyen Emre Tekelioğlu
Kaynaklar;
http://www.mpi-forum.org/docs/mpi21-report.pdf
http://en.wikipedia.org/wiki/Message_Passing_Interface
http://www.grid.org.tr/etkinlikler/egitim/sunumlar/mpi_ornekleri.pdf http://ab.org.tr/ab03/tammetin/114.pdf
http://www.emresururi.com/mpich2/mpich2_rehberi_v1_2.pdf

Projenin orjinal PDF dökümanını ve kaynak kodlarını indirmek için Tıklayın !

Css ile hazırlanmış Web 2.0 butonlar

Daha dün hiç bir şey yazmayacağım diyordum bugün yazıyorum, elimde değil dayanamıyorum. Geçenlerde bir projede kullanmak üzere kendimce css ile web 2.0 butonlar hazırlamıştım. Tasarımdan çok fazla anlamadığımı her seferinde dile getiriyorum ama inanıyorum ki bu butonlar birilerinin işine yaracaktır. Dosyaların içerisinde .psd dosyası da bulunuyor, css kodlarıyla da oynayarak istediğiniz gibi şekillendirebilirsiniz.

Css web 2.0 butonlar

Sosyal imleme mekanızması yapmak.

Kaç zamandır aklımdaydı siteme sosyal imleme mekanızması eklemek. Öcelikle sosyal imleme nedemek kabaca bunu anlatmaya çalışayım. Beğendiğiniz bir siteyi veya bir yazıyı tekrar lazım olur diye tarayıcılarımızda bulunan Sık Kullanılanlar kısmına ekliyoruz ve ne hikmetse bilgisayarımıza format atarken genellikle yedeklemeyi unutuyoruz ve hepsi birden siliniyor. Yada kendi bilgisayarımız başında değilken sık kullanılanlara erişmemiz mümkün değildir.  Bağlantılarımızı saklayıp insanlarla paylaşabileceğimiz sitelere, sosyal imleme sitesi diyoruz. Özellikle Facebook gibi sosyal ağların popüler olduğu günümüzde bu ağlarda haber, resim ve video paylaşımlarıda epeyce popüler. Şimdi düşünelim kullanıcı sitemizdeki bir yazıyı çok beğendi ve Facebook’ da bunu arkadaşlarıyla paylaşmak istiyor. Eğer sitemizde paylaşım için herhangi bir bilgi yoksa %99 kullanıcı paylaşımdan vazgeçiyor, varsa bir tıkla işini hallediyor ve sitemizin ciddi anlamda ziyaretçi kazanmasını sağlıyor. Uzun lafın kısası Web 2.0 ile birlikte popüler olan bu paylaşım tarzı bize güzel şeyler sunuyor. Geçelim mekanızmamızı yapma işlemine;

Öncelikle JavaScript ile birlikte küçük bir yapı kuracağız, amacımız yeni bir imleme sitesi eklerken çıkarırken kolaylık olsun. Kodlarda anlatılacak çok fazla bir şey bulunmuyor, baktığınızda basit bir yapı olduğunu zaten anlayacaksınız.

Farklı bir imleme sitesi eklemek isterseniz, if bloklarına bir yenisini ekleyecek olduğunuz sitenin adresi ve değişken kısımları şeklinde ekleyebilirsiniz.  Buradan bitmiş halini indirebilir, demosu içinse bu yazının altına bakabilirsiniz ;) bu arada dosyaları indirdiğinizde diğer sosyal paylaşım sitelerinin logolarını kendimce bonus olarak sizlere sunuyorum :)

function sosyalAdres(gelen)
{
  var baslik = encodeURI('Eklencek yazının başlığı');
  var adres = escape('Eklenecek yazının içeriği');
  var pencereAyar = "height=700,width=800,titlebar=no,status=no,toolbar=no,menubar=no,location=no,resizable=no,scrollbars=1";
  var sAdres='';

  if(gelen==1)
  sAdres="http://www.facebook.com/sharer.php?title=" + baslik + "&u=" + adres;

  if(gelen==2)
  sAdres="http://www.google.com/bookmarks/mark?op=edit&bkmk=" + adres+ "&title=" + baslik;

  if(gelen==3)
  sAdres="http://digg.com/submit?url="+adres+"&title=" + baslik;

  if(gelen==4)
  sAdres="http://del.icio.us/post?url="+adres+"&title=" + baslik;

  if(gelen==5)
  sAdres="http://reddit.com/submit?url="+adres+"&title=" + baslik;

  window.open(sAdres.replace(/amp;/gi,''),null,pencereAyar);
}

Daha Sonrasında, güzel bir görüntü için style kodlarımızı ve işin görüntü olan kısmını ekliyoruz.

	.sosyal{background-color:#f5f5f5;border-bottom:1px solid #ededed;width:715px;padding:5px 0 0 5px;cursor:default;margin-bottom:5px}
	.sosyal span{font-family:Helvetica,sans-serif;color:#0063dd;font-size:14px;font-weight:bold}
	.sosyal:hover {border-bottom:1px solid #c0c0c0}
	.sosyal img{margin-left:20px;cursor:pointer;}
	.sosyal img:hover{margin-bottom:-5px}
[/html]
 
	<div class="sosyal">
		<span>Bu yazıyı paylaşın;</span>
		<img border="0" src="img/sosyalButton/google.png" alt="bu bağlantıyı Google' e eklemek için tıklayın" onclick="sosyalAdres(2)" />
		<img border="0" src="img/sosyalButton/facebook.png" alt="bu bağlantıyı Facebook' e eklemek için tıklayın" onclick="sosyalAdres(1)" />
		<img border="0" src="img/sosyalButton/reddit.png" alt="bu bağlantıyı Reddit' e eklemek için tıklayın" onclick="sosyalAdres(5)" />
		<img border="0" src="img/sosyalButton/digg.png" alt="bu bağlantıyı Digg' e eklemek için tıklayın" onclick="sosyalAdres(3)" />
		<img border="0" src="img/sosyalButton/delicious.png" alt="bu bağlantıyı Delicious' e eklemek için tıklayın" onclick="sosyalAdres(4)" />
	</div>

Volkan arkadaşıma teşşekür ediyor ve ekliyorum.
Bu hizmeti Türkçe olarak EkleBunu sitesinden edinebilirsiniz.

Web Tasarımının Katledildiği Anlar..

Bazı insanlarda doğuştan bir yetenektir tasarım, kuralını kaidesini bilmeden tasarlar. Günümüzdeki modern web tasarımlarında görünen kısım kadar arkaplandaki modernlikte çok fazla önemli. Tasarımların neredeyse tamamı Css kullanılarak yapılıyor. Fakat haleda bazı şık sitelerin kaynak kodlarını görüntülediğimizde şaşkınlığımızı gizleyemiyoruz. Çok sevdiğim bir abim, bu işin tasarım kısmının üstadlarından denebilecek bir abim ne varki haleda eski usul tasarlıyor. Her nekadar yeniliklere ayak uydurmama adına kendini kassada ya yeniliğe uyacak yada uyacaktır. Aşşağıda basit bir örnek gösteriyorum, merak eden html editörüne yapıştırıp çıktısını görebilir. Bu adamın bir eTicaret veya Haber portalı tasarladığını düşünsenize :|

<font face=”Arial”><span id=”odeme_1″ style=”display: block; font-weight: 700″>
<font size=”2″>Kredi Kartınızla Tek Çekim Ödeme Yaptığınızda
Kartınızdan Çekilecek Toplam Tutar <u><font color=”#840018″>
KDV Dahil:&nbsp;&nbsp;</font></u></font><u><font color=”#840018″><font class=”yazi16″><font size=”2″>288,00
TL</font></font></font></u></span></font>

ASP de Querystring ile alınan bilgide Türkçe karakter problemi

Epey zamandır ASP ile uğraşıyorum türlü türlü Türkçe karakter problemleriyle karşılaştım fakat ilk kez böylesine rastladım. Google da ufak bir araştırma yaptıktan sonra sonuca ulaşamadım, hemen kolları sıvayıp bir replace fonksiyonu yazdım. Belki birilerinin işine yarar diye paylaşayım istedim.
[asp]
function tCevir(gelenveri)
gelenveri=Replace(gelenveri,”ı”,”ı”)
gelenveri=Replace(gelenveri,”ÄŸ”,”ğ”)
gelenveri=Replace(gelenveri,”ü”,”ü”)
gelenveri=Replace(gelenveri,”ç”,”ç”)
gelenveri=Replace(gelenveri,”Ä°”,”İ”)
gelenveri=Replace(gelenveri,”Ä”,”Ğ”)
gelenveri=Replace(gelenveri,”Ç”,”Ç”)
gelenveri=Replace(gelenveri,”Ãœ”,”Ü”)
gelenveri=Replace(gelenveri,”ö”,”ö”)
gelenveri=Replace(gelenveri,”Ö”,”Ö”)
tCevir = gelenveri
end Function
[/asp]

ASP ile SEO

Merhabalar efendim, uzun bir zamandan sonra yeni bir makale ile tekrardan karşınızdayım. Bu yazımda ASP ile SEO (Arama motoru optimizasyonu) için gerekli olan en önemli işlemlerden olan linklerin yazı başlığı şeklinde uzantısının .html şeklinde olması olayını (SEF) kendimce anlatmaya çalışacağım. Bu ne için gereklidir dilerseniz önce bunu anlamaya çalışalım. Google bu konu hakkında şunu der; kullanıcı bir arama sonucunda yada bir yerde sitenizin içeriği hakkında bir link gördüğünde, linkten konunun içeriğini anlamalıdır.Olayın özeti budur. Bakınız bu site. Linkler; baslik-deneme-1-2.html şeklindedir. Burdaki .html uzantısı ise sayfanın sabit bir içerik olduğunu temsil eder. PHP ASP.NET gibi dillerde bu işlemi yapmak gayet basitken ASP gibi modası geçmiş bir dilde birazcık zahmetlidir. Birden fazla yolu vardır fakat bence en kolay şu şekilde yapılmaktadır. Sitemde ki yapıda aynen anlatacağım şekildedir.

Öncelikle asp sayfalarımızı yorumlayan programımız olan IIS e ufak bir ayar yapmamız gerekiyor. Bunun nedeni de şu; www.sitemiz.com/deneme.html diye bir istek olduğunda eğer böyle bir sayfa yoksa dizinimizde 404 numaralı hatanın sayfası çıkar ve Aradığınız sayfa bulunamadı gibisinden bir uyarıyla karşılaşırız. Bizim kuracağımız yapıda her başlığa ait bir .html dosyası olmayacağından bu duruma el atıp 404 uyarısı verildiğinde default.asp sayfamıza yönlendirme yapmamız gerekiyor. Sonrasında gerekli kodlarımızı yazıp veritabanı sorgulama işlemimizi sağlıklı bir şekilde yapıp kullanıcının ruhu bile duymadan istediği sayfayı istediğimiz şekilde kendisine sunacağız.

Denetim Masası\Yönetimsel Araçlar \ Internet Information Services (IIS) Yöneticisini çalıştırıyoruz. Şuandaki bilgisayarımda Windows Vista olduğu için IIS 7 üzerinden yönlendirme işlemini göstereceğim. Bu IIS 6 da ve farklı versiyonlarda değişiklik gösterebilir, fakat ufak bir araştırmayla 404 yönlendirmesini basit bir şekilde yapabilirsiniz.

IIS açıldıktan sonra sol taraftaki ağaç menüden Default Web Site yi tıklıyoruz. Sonrasında karşımıza çıkan ekrandan Hata Sayfaları simgesine tıklıyoruz.

Gördüğünüz gibi hata kodlarıyla birlikte hata olduğunda hangi sayfanın görüntüleneceği bir kısım geldi karşımıza. Bu ekrandayken direk sağ taraftaki Özellik Ayarlarını Düzenle linkine tıklıyoruz.

Normalde Ayrıntılı Hatalar seçili durumdadır, biz bunu Özel Hata Sayfaları olarak değiştiriyoruz.

Daha sonra bir önceki sayfada bulunan hata sayfalarından 404 numaralı hatanın üzerine çift tıklayıp Bu sitedeki bir URL’ i yürüt kısmına ister default.asp dosyamızı veya kendinizin belirleyeceği bir yorumlama sayfasının yolunu giriyoruz. Ben örneğimde default.asp kullandım, sizde olayı kavramak açısından bu ismi kullanın ilerde konuyu anladığınızda istediğiniz değişikliği rahatlıkla yapabilirsiniz ;)

Herşey bukadar basit arkadaşlar. Hemen wwwroot klasörümüzün altına deneme amaçlı bir aspUrl klasörü oluşturup içinede default.asp adında bir dosya oluşturuyor ve içine Response.Write “deneme” yazıyoruz. Tarayıcımızın adres satırına localhost/aspUrl yazdığımızda ekrana deneme yazısı çıkıyor. localhost/aspUrl/asdasdasd yazınca ne oluyor peki ? yine deneme yazısı çıkıyor. Nedenide hata olduğunda default.asp sayfamıza yönlen işlemini yapmamış olmamızdır. Buraya kadar sorun yoksa burdan sonrası yaratıcılığımıza kalıyor. Örneklerimize hemen geçelim.

Öncelikle adres satırında yazan yazıyı alıp işlememiz gerekiyor. Bunun için ben Request.QueryString komutunu kullanacağım.

Default.asp sayfamı aşşağıdaki gibi değiştirip olanları gözlüyoruz.

<%
gelenAdres = Request.QueryString
response.write gelenAdres
%>

Adres çubuğuna http://localhost/aspUrl/seo-deneme-linki yazdığımda sayfamızda 404;http://localhost:80/aspUrl/seo-deneme-linki şeklinde bir çıktı göreceğiz. Yaşasın diyoruz çünki herşey istediğimiz gibi ilerliyor. Şimdi biraz kod yazmaya başlıyoruz.

Default.asp sayfamızın içine aşşağıdaki kodları yazıyoruz.

<a href="hakkimda">hakkımda</a> <br />
<a href="seo">seo</a> <br />
<%
gelenAdres = Replace(Request.QueryString,"404;<a href="http://localhost:80/aspUrl/%22,">http://localhost:80/aspUrl/",</a>"")  ' burada baştaki istemediğimiz kısımdan kurtuluyoruz ve elimize sadece  istediğimiz kısım geliyor.
if gelenAdres="hakkimda" Then ' eğer adres satırına hakkimda yazarsak burası
call hakkimda
elseif gelenAdres="seo" Then ' eğer adres satırına seo yazarsak burası  çalışıyor.
call seo
end if
Sub hakkimda
response.write "Burası Hakkımda"
End Sub
Sub seo
Response.Write "Seoooo Seooooo"
End Sub
%> 

Bu kısımdan sonrası yaratıcılığa kalıyor, gelen adresi istediğiniz gibi parçalayıp işleyebilirsiniz. Mesela Kategori/UrunAdı şeklinde olan bir link yapısını nası yapabilirdik bunu inceleyelim.

Default.asp sayfamızın içine aşşağıdaki kodları yazıyoruz. Burda geçen Split fonksiyonunu daha önce şurada anlatmıştım.

<a href="Anakart/Islemci">Kategori / Ürün Adı</a> <br />
<%
gelenAdres = Replace(Request.QueryString,"404;http://localhost:80/aspUrl/","")
if not gelenAdres="" Then ' gelenAdres değişkenimiz boş değilse aşşağıdaki  işlemleri yapıyoruzki, sayfamız hata vermesin.
gelenAdresParcala = Split(gelenAdres,"/") ' / karakterini  split edip isteğimiz olan birinci ve ikinci bölümleri alıyoruz. (Anakart/Islemci)
response.write gelenAdresParcala(0) &amp;"<br />" ' birinci  dizide Anakart
response.Write gelenAdresParcala(1) ' ikinci dizide de  Islemci geliyor.
end if
%>

İşte bu kadar basit arkadaşlar. Korkulacak en ufak bişiy bulunmuyor. Zaman bulursam Veritabanı işlemlerine bir örnekle bukonuyu sonlandıracağım. Anlamadığınız noktaları sorabilirsiniz. Herkese kolaylıklar dilerim.

ASP ile veriyi olduğu yerde düzenleyin (Instantedit)..

Belki başlık biraz alakasız oldu ama aklıma bu olaya verecek Türkçe bir isim gelmedi. Bir veriyi düzenlemek için ya yeni bir pencere açtıyoruz veya olduğu sayfayı yeninden düzenleyip düzenleme formunu kullanıcıya sunuyoruz. Genellikle yorucu bir işlem olan bu olayı gösterecek olduğum şekilde rahatça ve oldukça şık bir şekilde halledebilirsiniz. Bir çok kullanım alanına sahip olan bu scriptin orjinal sayfası Burası fakat herzamanki gibi PHP :D burda ASP versiyonuna çevrilmiş hali var. Çalışır halini ise buradan indirebilirsiniz..

Default.asp

<script type="text/javascript" src="instantedit.js"></script><span id="id degeri" class="editText">icerik icerik icerik</span>

Update.asp

Response.CacheControl = "no-cache"
Response.AddHeader "Pragma", "no-cache"
id=Request.QueryString("fieldname")	' gelen id miz..
veri=Request.QueryString("content")	' gelen verimiz..

'-------------------------- verileri veritabanına kayıt edeceksek
'Set Rs = Server.CreateObject("AdoDb.RecordSet")
'Sql = "Select * from Tablo_Adi" 'eğer koşul belirteceksek cümlemizi - Select * from Tablo_Adi where alan_adi = '"&amp;id&amp;"' - şeklinde düzenlememiz yeterli olacaktır.
'rs.open sql,baglantimiz,1,3
'	rs.addnew
'		rs("alanadi")=veri
'	rs.Update
'----------------------------------------------------------------

Response.Write veri

C#.Net ile MonthCalendar nesnesini kullanarak verileri filtremelek.

Merhabalar efendim, bu seferde C#.net de MonthCalendar nesnesiyle tarihe göre filtreleme nasıl yapacağımızı göreceğiz.. Bu uygulama ilk yaptığımız örneğin bir nevi meyvelerinden birtanesi. Sadece kullanının takvim üzerinden seçeceği günü sql cümlemize ekleyip datagridview1 nesnemizi yeniden dolduracağız. c# monthcalendar örneği..

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            gridDoldur("SELECT * FROM TABLO order by ALAN DESC");
        }

        private void gridDoldur(string sqlCumle) {
            string ConStr = "Server=server_adresi; Database=veritabani; uid=kullanici_adi; " +
                            "pwd=sifre;pooling=true; connection lifetime=10; connection timeout=5; packet size=1024;";
            SqlConnection conn = new SqlConnection(ConStr);
            string sql = sqlCumle;
            SqlDataAdapter da = new SqlDataAdapter(sql, conn);
            DataSet ds = new DataSet();
            da.Fill(ds);
            dataGridView1.DataSource = ds.Tables[0];
        }

        private void monthCalendar1_DateChanged(object sender, DateRangeEventArgs e)
        {

            string tarih = monthCalendar1.SelectionRange.Start.ToString();
            tarih = tarih.Substring(0, 10);
            gridDoldur("SELECT * FROM TABLO WHERE TARIH = '" + tarih + "' ");
        }

    }
}

C#.Net ile DataGridView içinde veri gösterimi..

C#.Net öğrenmeye, ilgilenmeye yeni yeni başlıyorum. Bildiklerimi, gördüklerimi ve yaptıklarımı sizlerle paylaşmak istedim. Webde bir çok kaynak bulunmasına rağmen sıfırdan başlayan birinin işine yarayacak kaynak malesef oldukça az. Aşşağıdaki kodlar sayesinde veritabanındaki kayıtları oldukça basit bir şekilde listeleyebilir veya filtreleyebilirsiniz. Bu yapı sayesinde her seferinde veritabanı bağlantısını ve datagridview ile ilgili diğer tanımlamaları yapmak zorunda kalmıyorsunuz. Sadece istediğiniz sql sorgusunu yolluyorsunuz okadar.. Terimlerde veya ifadelerimde hata varsa affola :)

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;

namespace WindowsFormsApplication2
{
    public partial class Form2 : Form
    {
        public Form2()
        {
            InitializeComponent();
        }

        public void Form2_Load(object sender, EventArgs e)
        {
            griddoldur("select * from tabloadi"); // form yüklendiğinde, yani program ilk çalıştığında bu sorguyla birlikte datagridview1 nesnemizi dolduruyoruz.

        }

        public void griddoldur(string sqlCumle) {
            string ConStr = "Server=veritabani_adresi; Database=veritabani_adi; uid=kullanici_adi; " +
                               "pwd=sifre;pooling=true; connection lifetime=10; connection timeout=5; packet size=1024;";
            SqlConnection conn = new SqlConnection(ConStr);
            string sql = sqlCumle; // sql cümlemiz fonksiyonumuzdan değişken bir biçimde geliyor. bkz: griddoldur(string sqlCumle)
            SqlDataAdapter da = new SqlDataAdapter(sql, conn);
            DataSet ds = new DataSet();
            da.Fill(ds);
            dataGridView1.DataSource = ds.Tables[0]; // veritabanına bağlanıp son olarakda dataGridView1 veri kaynağını dataadaptere bağlıyoruz.
        }

        private void buton1_Click(object sender, EventArgs e)
        {
            griddoldur("select * from digertabloadi"); // butona tıkladığımızda diğer tablodaki verileri datagridview1 nesnesinde görüntüleyebiliriz.
        }

        private void buton2_Click(object sender, EventArgs e)
        {
            griddoldur("SELECT * from tabloadi where alanadi = "+textbox1.text+" ") // istediğimiz gibi şekillendirebiliriz. bu sayede herseferinde yeniden yeniden kodlar yazmamıza gere kalmaz.
        }

    }
}

FastFind Menu Script ASP !

Find Fast Menu ASP

Çok güzel bir menü navigasyonu olan bu script, orjinalinde PHP ile yapılmış. Bende ASP ye çevirdim. Kolay ve anşalır bir biçimde sizlerle paylaşmak istedim. Scriptin orjinal sayfası
http://labs.activespotlight.net/jQuery/menu_demo.html

Demo http://www.apostylee.com/scripts/FastFindMenu/
İndir http://www.apostylee.com/scripts/FastFindMenu/ffm.rar

Ajax Scriptler Adres Listesi..

Öncelikle Ajax nedir ondan biraz bahsedelim. Kabaca ajax; sayfa yenilenmeden sunucu tarafında işlem yapmamızı sağlayan bir kodlama tekniği. Yani bir linke tıklıyorsunuz veya bir form dolduruyorsunuz farklı bir sayfaya gitmeden işlemler oracıkta gerçekleşiyor. Bu adresten detayına bakabilirsiniz http://tr.wikipedia.org/wiki/AJAX_(programlama) Web 2.0 denildiğinde akla ilk gelen özellik Ajax kullanılarak yapılmış atraksiyonlar geliyor. Eğer sizde benim gibi asp ile kodlama yapıyorsanız, veritabanı işlemlerinin neredeyse çoğunun php ile verildiğini göreceksiniz. Kendimce 3-5 scripti asp ye çevirdim. Yakın gelecekte onları sizlerle paylaşacağım. Buyrun alttaki scriptleri inceleyin..

http://www.ajaxrain.com/
http://www.hotajax.org/
http://www.ajaxrain.com/
http://ajax-tr.com/
http://www.ajaxdaddy.com/
http://ajax-tutorials.com/
http://miniajax.com/
http://www.crackajax.net/
http://freeajaxscripts.net/
http://www.funkyajax.com/
http://www.ajaxonomy.com/
http://www.bestajaxscripts.com/
http://www.ajaxcss.com/
http://www.noupe.com/jquery/50-amazing-jquery-examples-part1.html
http://www.noupe.com/ajax/50-amazing-jquery-examples-part1.html
http://www.smashingmagazine.com/2008/09/11/75-really-useful-javascript-techniques/
http://www.smashingmagazine.com/2007/06/20/ajax-javascript-solutions-for-professional-coding/
http://speckyboy.com/2008/04/09/41-of-the-best-mootools-ajax-example-downloads/
http://webdeveloper.econsultant.com/ajax-demos-examples-code-samples/
http://designsadvice.com/ajax/30-of-the-best-ajax-tutorials

Ajax Yükleniyor Animasyonları
http://ajaxload.info/
http://www.webscriptlab.com/
http://mentalized.net/activity-indicators/
http://www.ajax.su/ajax_activity_indicators.html