16 Kasım 2011 Çarşamba

Javascriptte basit hesap makinesi yapımı


Javascript c ve benzeri dillerdeki fonksiyon işlevini görmektedir.Javacripte yazdığınız işlevleri html kısmında fonksiyon adı ile çağırırsınız,böylece fonksiyondan yapmasını istediğiniz şey uygulanmış olur.Javascript kodları <head> tagi arasına yazılır.Basit bir hesap makinası örneği ile Javascriptin genel mantığı ile ilgili bir fikriniz olabilir:




<html><head><title>Untitled</title><script type="text/javascript">function   addition(){  s1=document.getElementById("textbox1").value;     //textboxa verilen id değeri yardımıyla ordaki değer alınıyor  s2=document.getElementById("textbox2").value;textboxresult.value=parseInt(s1)+parseInt(s2); //değerler var tipindedir,onlara işlem yaptırtmak için int çevirmek gerekiyor}function   subtraction(){  s1=document.getElementById("textbox1").value;  s2=document.getElementById("textbox2").value;textboxresult.value=parseInt(s1)-parseInt(s2);}function   multip(){  s1=document.getElementById("textbox1").value;  s2=document.getElementById("textbox2").value;textboxresult.value=parseInt(s1)*parseInt(s2);}function   division(){  s1=document.getElementById("textbox1").value;   s2=document.getElementById("textbox2").value; if(s2==0) alert("donomioater cant be ,change the value") elsetextboxresult.value=parseInt(s1)/parseInt(s2);}</script>
</head>
<body><input  type="text"  id="textbox1" ></br><input  type="text"  id="textbox2" ></br><input type="button"  id="buttonadd" value="+" onclick="addition()"><input type="button"  id="buttonasub" value="-" onclick=" subtraction()"><input type="button"  id="buttonamul" value="*" onclick="multip()"><input type="button"  id="buttondiv" value="/" onclick="division()"></br><input  type="text"  id="textboxresult" ></body>
</html>

For Next Döngü Örneği

bugünü baz alarak hergün bir gün artırarak, ekrana o günü 20 kere yazdırma


<%
tarih = now()
for sayac = 1 to 365
tarih = dateadd(“d”,1,tarih)
for gun = 1 to 20
response.Write (left(tarih,11)&”<br/>”)
next
next
%>
veya
<%
for i = 0 to 365
for a = 1 to 20
tarih = dateadd(“d”,i,now)
response.write formatdatetime(tarih,2) & “<br>”
next
next
%>

C# İki nokta arasındaki mesafe hesabı

private double mesafeHespla(Point from, Point to)
{
double rad = 6371; //Km cinsinden Dünyanın yarı çapı

double p1X = from.X / 180 * Math.PI;
double p1Y = from.Y / 180 * Math.PI;
double p2X = to.X / 180 * Math.PI;
double p2Y = to.Y / 180 * Math.PI;

return Math.Acos(Math.Sin(p1Y) * Math.Sin(p2Y) +
Math.Cos(p1Y) * Math.Cos(p2Y) * Math.Cos(p2X - p1X)) * rad;
}

C# Split String Kullanımı 2

string bir ifadedeki boşlukları yada tek karaktere göre ayırma işlemi


using
System;

class Program
{
static void Main()
{
string s = "bu cumleyi bol";
string s1 = "bu+cumleyi+bol";

//
// boşluğa göre parçalama.
//
string[] kelimeler = s.Split(' ');
foreach (string kelime in kelimeler )
{
Console.WriteLine(kelime );
}

//
// "+" karakterine göre parçalama.
//

string[] kelimeler1 = s1.Split('+');
foreach (string kelime in kelimeler1 )
{
Console.WriteLine(kelime );
}

}
}
birden çok karaktere göre bölme işlemi yada string bir ifadeye göre de diyebiliriz.
using System;
using System.Text.RegularExpressions;

class Program
{
static void Main()
{
string deger= "elma\r\narmut\r\nportakal\r\nkiraz";
//
// string bir ifadeye göre yada birden çok karaktere göre bölme.
//
string[] kelimeler = Regex.Split(deger, "\r\n");

foreach (string kelime in kelimeler )
{
Console.WriteLine(kelime );
}
}  

C# Split String Kullanımı

“+” gördüğünde yada “-” gördüğünde yada “*” gördüğünde ayırma işlemini uygula şeklinde bir örnek yapacağız.
char[] ayiraclar = new char[] { '+', '-','/','*' };
string ifade ="3x+4y-5z";
string[] parcalar= ifade.Text.Split(ayiraclar ,
StringSplitOptions.RemoveEmptyEntries); // StringSplitOptions.RemoveEmptyEntries bu ifade boş olan değeleri listeye atma anlamına geliyor
for (int i = 0; i < parcalar.Length; i++)
{
Console.WriteLine(parcalar[i].ToString());
}
Çıktı olarak görünecek;
3x
4y
5z

web.config controls add

Uygulama geliştirirken kendinize ait basecontroller yazmışsınızdır ve hangi sayfada kullanacaksınız mutlaka sayfa bu kontrolleri register etmeniz gerekir. Yada AjaxControlToolKit’i kullanıyorsunuzdur ve yine hangi sayfa kullanacak iseniz yine bu dll i sayfada register etmeniz gerekir. Tabi bu tanımlamayı web.config üzerinde yapmamış iseniz. Her sayfada register etmek yerine web.config te Pages nod ‘unda bir kere register eder iseniz uygulamanıza eklediğiniz her sayfada artık ekli olarak gelecektir. Bunun için web.configte aşağıdaki düzeltmeyi yapmanız gerekmektedir.
<compilation debug=”true” strict=”false” explicit=”true”>
 <assemblies>
      ...
      <add assembly="AjaxControlToolkit"/>
  </assemblies>
</compilation>
  <pages>
   ...
   <controls>
       <add assembly="AjaxControlToolkit"
 namespace="AjaxControlToolkit" tagPrefix="cc1" />
    </controls>
  </pages>

11 Kasım 2011 Cuma

Metod Kullanarak Klavyeden girilen sayının alttan ve üstten en yakın asal sayıları bulmak

using System;

class Program
{
static void Main()
{

int GirilenSayi;

Console.Write(" Bir sayi giriniz : ");
GirilenSayi = Convert.ToInt32(Console.ReadLine());

Console.WriteLine("Önceki Sayı {0} dır.", OncekiAsalSayi(GirilenSayi));

Console.WriteLine("Sonraki Sayı {0} dır.", SonrakiAsalSayi(GirilenSayi));

}

static int OncekiAsalSayi(int GirilenSayi)
{
int b, c, son = 0, d;
for (b = GirilenSayi - 1; b < GirilenSayi; b--)
{
d = 1;
for (c = 2; c < b; c++)
{

if (b % c == 0)
{
d = 0;

break;
}
}

if (d == 1)
{
son = b;
b = GirilenSayi + 1;
}
}
return son;
}

static int SonrakiAsalSayi(int GirilenSayi)
{
int b, c, son = 0, d;
for (b = GirilenSayi + 1; b > GirilenSayi; b++)
{
d = 1;
for (c = 2; c < b; c++)
{

if (b % c == 0)
{
d = 0;

break;
}
}

if (d == 1)
{
son = b;
b = 0;
}
}
return son;
}
}

C# LinQ Where in

var urunler = from m in entities.Urunlers
from p in entities.Kategoriler
where p.ReferansKategoriID == 4
where m.ReferansKategoriID == p.KategoriID
select m;
Üstte bulunan kod ile kategoriler tablosundaki bulunan ReferansKategoriID’si 4 olan kategorilere ekli olan ürünlerin listelenmesi sağlanmaktadır.