Google URL Kısaltıcısı, C#

Google URL Shortener, C#

Merhabalar,

Google’un hizmete sunduğu URL kısaltıcısısı, Goo.gl appspot üzerinden API desteği vermeye başladı. Hatta başlayalı bayağı oldu ama ben genede yeni bir habermiş gibi vereyim :) .

Goo.gl’dan kısaltmak istediğimiz adrese (http://ggl-shortener.appspot.com/?url=http://kaansengul.com) gidip, bize döndürdüğü nesneyi JSON objesi gibi okuyup, JSON.Net kullanarak sonucu basit bir şekilde elde edebiliyoruz:

        private string short(string url)
        {
            try
            {

                WebClient client = new WebClient();
                client.Headers.Add("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.0.3705;)");
                string jsonText = new StreamReader(client.OpenRead("http://ggl-shortener.appspot.com/?url=" + url)).ReadToEnd();

                Googl gShortUrl = JsonConvert.DeserializeObject(jsonText, typeof(Googl)) as Googl;

                return gShortUrl.short_url;
            }
            catch
            {
                return null;
            }
        }
    }

    public class Googl
    {
        public string short_url { get; set; }
    }

Bu yöntemi kullanarak yaptığım basit WinForms uygulamasına buradan erişebilirsiniz.

Google URL Shortener, C#Projeyi ziyaret et

Microsoft Speech SDK ile basit bir uygulama

Windows işletim sistemlerinde yıllardır bir özellik olan metin okuma, gene yıllardır API desteği ile geliştiricilere olanak sağlanıyor. Geliştiriciler buradaki adresten indirdikten sonra yüklenmesi gerekiyor.

Ve Başlıyoruz..

Microsoft Visual Studio’da yeni bir Winforms uygulaması oluşturduktan sonra uygulama penceremize Toolbox ‘tan bir adet Textbox ve bir adet Button sürükleyip bırakıyoruz.

Continue reading

T.C. Kimlik Numarası Doğrulama (C#, VB)

Basit bir şekilde girilen 11 haneli T.C. kimlik numarasının doğrulaması şu algoritma sayesinde yapılabilir:

  1. 11 hanelidir.
  2. Her hanesi rakamsal değer içerir.
  3. İlk hane 0 olamaz.
  4. 1. 3. 5. 7. ve 9. hanelerin toplamının 7 katından, 2. 4. 6. ve 8. hanelerin toplamı çıkartıldığında, elde edilen sonucun 10′a bölümünden kalan, yani Mod10′u bize 10. haneyi verir.
  5. 1. 2. 3. 4. 5. 6. 7. 8. 9. ve 10. hanelerin toplamından elde edilen sonucun 10′a bölümünden kalan, yani Mod10′u bize 11. haneyi verir.

Bunu kontrol etmeniz için gerekli fonksiyonlar ise:

C#

public static bool TcDogrulaV2(string tcKimlikNo)
{
    bool returnvalue = false;
    if (tcKimlikNo.Length == 11)
    {
        Int64 ATCNO, BTCNO, TcNo;
        long C1,C2,C3, C4, C5,C6,C7,C8, C9,Q1,Q2;

        TcNo = Int64.Parse(tcKimlikNo);

        ATCNO = TcNo / 100;
        BTCNO = TcNo / 100;

         C1 = ATCNO % 10;  ATCNO = ATCNO / 10 ;
         C2 = ATCNO % 10;  ATCNO = ATCNO / 10 ;
         C3 = ATCNO % 10;  ATCNO = ATCNO / 10 ;
         C4 = ATCNO % 10;  ATCNO = ATCNO / 10 ;
         C5 = ATCNO % 10;  ATCNO = ATCNO / 10 ;
         C6 = ATCNO % 10;  ATCNO = ATCNO / 10 ;
         C7 = ATCNO % 10;  ATCNO = ATCNO / 10 ;
         C8 = ATCNO % 10;  ATCNO = ATCNO / 10 ;
         C9 = ATCNO % 10;  ATCNO = ATCNO / 10 ;
         Q1 = ((10-((((C1+C3+C5+C7+C9)*3)+(C2+C4+C6+C8))%10))%10);
         Q2 = ((10-(((((C2+C4+C6+C8)+Q1)*3)+(C1+C3+C5+C7+C9))%10))%10);

         returnvalue = ((BTCNO * 100)+(Q1 * 10)+Q2 == TcNo);
    }
    return returnvalue;
}

VB

Public Shared Function TcDogrulaV2(ByVal tcKimlikNo As String) As Boolean
     Dim returnvalue As Boolean = False
     If (tcKimlikNo.Length <> 11) Then
         Return returnvalue
     End If
     Dim TcNo As Long = Long.Parse(tcKimlikNo)
     Dim ATCNO As Long = (TcNo / 100)
     Dim BTCNO As Long = (TcNo / 100)
     Dim C1 As Long = (ATCNO Mod 10)
     ATCNO = (ATCNO / 10)
     Dim C2 As Long = (ATCNO Mod 10)
     ATCNO = (ATCNO / 10)
     Dim C3 As Long = (ATCNO Mod 10)
     ATCNO = (ATCNO / 10)
     Dim C4 As Long = (ATCNO Mod 10)
     ATCNO = (ATCNO / 10)
     Dim C5 As Long = (ATCNO Mod 10)
     ATCNO = (ATCNO / 10)
     Dim C6 As Long = (ATCNO Mod 10)
     ATCNO = (ATCNO / 10)
     Dim C7 As Long = (ATCNO Mod 10)
     ATCNO = (ATCNO / 10)
     Dim C8 As Long = (ATCNO Mod 10)
     ATCNO = (ATCNO / 10)
     Dim C9 As Long = (ATCNO Mod 10)
     ATCNO = (ATCNO / 10)
     Dim Q1 As Long =((10-(((((((C1+C3)+C5)+C7)+C9)*3)+(((C2+C4)+C6)+C8))Mod 10))Mod 10)
     Dim Q2 As Long =((10-(((((((C2+C4)+C6)+C8)+Q1)*3)+((((C1+C3)+C5)+C7)+C9))Mod 10))Mod 10)
     Return ((((BTCNO * 100) + (Q1 * 10)) + Q2) = TcNo)
End Function

Kaynak: Kodaman.org