12 Kasım 2010 Cuma

Javascript'de Captcha Kod Yaratma...

İlgimi çeken bir konu olmuştur her zaman javascript te olması da ayrı bir zevk açıkcası.

Öncelikle Bir Asp.Net Web Site oluşturuyoruz. Default.aspx e yazılacak kod bölümü;


<%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
    <title></title>
     <script language="javascript">
         var a = 49, b = 65;
         var c = 100;
         var d = 70;
         function show() {
             if (a == 57) {
                 a = 49;
             }
             var main = document.getElementById('txt1');
             var a1 = String.fromCharCode(a);
             var b1 = String.fromCharCode(b);
             var c1 = String.fromCharCode(c);
             var d1 = String.fromCharCode(d);
             main.value = a1 + b1 + c1 + d1;
             a = a + 1;
             b = b + 1;
             c = c + 1;
             d = d + 1;
         }
  </script>
    <style type="text/css">
        #form1
        {
            height: 95px;
        }
    </style>
</head>
<body>
    <form id="form1" runat="server">
    <div>
    <input type="text" id="txt1" runat="server"
            style="border-style: none; border-color: inherit; border-width: medium; background-color:black; color:red; font-family: 'Curlz MT'; font-size: x-large; font-weight: bold; font-variant: normal; letter-spacing: 10pt; width: 120px; background-image: url('glitter_background_b4.gif');"
            value="4e5yt" />
  <input type="button" onclick="show()" value="Change"  />
        </div>
    <asp:TextBox ID="txtverification" runat="server"></asp:TextBox>
&nbsp;&nbsp;&nbsp;&nbsp;
    <asp:Button ID="Button1" runat="server" Text="Verification"
        onclick="Button1_Click" />
    &nbsp;&nbsp;&nbsp;&nbsp;
    <asp:Label ID="lblmsg" runat="server" Font-Bold="True" ForeColor="Red"></asp:Label>
    </form>
</body>
</html>
Cs tarafında yazılacak kodlar;
protected void Button1_Click(object sender, EventArgs e)
{
    if (txtverification.Text == txt1.Value)
    {
        lblmsg.Text = "Successful";
    }
    else
    {
        lblmsg.Text = "Failure";
    }
}

9 Kasım 2010 Salı

Word Formatını html,rtf,txt,xml formatlarına çeviren Class

Aklıma geldi nasıl olur diye bir class yazayım dedim küçük bir araştırma ile şöyle birşey yazdım.

Öncelikle Class Library Yaratıyoruz
Sonra Referans ekleme işlemlerinden COM tabına gelip
Oradan Microsoft.Office.Interop.Word Component ını seçiyoruz.


public void WordFileTo(string originalFile, object SavePath, string SaveFile, string FileTo)
{
  try
  {
    if (SaveFile == "")
    {
         return;
    }
 
    if (originalFile.Trim() != "" && SavePath.ToString().Trim() != "")
    {
      Microsoft.Office.Interop.Word.ApplicationClass WordApp = new
            Microsoft.Office.Interop.Word.ApplicationClass();
      Microsoft.Office.Interop.Word.Document WordDoc = new
Microsoft.Office.Interop.Word.Document();
      object DocNoParam = Type.Missing;
      object DocFileName = originalFile;
      object DocReadOnly = false;
      object DocVisible = false;
      object SaveToFormat = "";
 
      // Dosya yolunu belirttikten sonra word dökümanımızı açıyoruz
      WordDoc = WordApp.Documents.Open(ref DocFileName, ref DocNoParam, ref DocReadOnly,
ref DocNoParam, ref DocNoParam, ref DocNoParam, ref DocNoParam,
ref DocNoParam, ref DocNoParam, ref DocNoParam, ref DocVisible,
ref DocNoParam, ref DocNoParam, ref DocNoParam, ref DocNoParam,
ref DocNoParam);
      WordDoc.Activate();
 
      if (FileTo == "html")
      {
         SaveToFormat = Microsoft.Office.Interop.Word.WdSaveFormat.wdFormatHTML;
         SavePath = SavePath + SaveFile + ".html";
      }
      if (FileTo == "rtf")
      {
         SaveToFormat = Microsoft.Office.Interop.Word.WdSaveFormat.wdFormatRTF;
         SavePath = SavePath + SaveFile + ".rtf";
      }
      if (FileTo == "txt")
      {
         SaveToFormat = Microsoft.Office.Interop.Word.WdSaveFormat.wdFormatText;
         SavePath = SavePath + SaveFile + ".txt";
              }
      if (FileTo == "xml")
      {
         SaveToFormat = Microsoft.Office.Interop.Word.WdSaveFormat.wdFormatXML;
         SavePath = SavePath + SaveFile + ".xml";
      }
     
//Belirtilen yol ve formata göre dosyayı kayıt ediyoruz.
      WordDoc.SaveAs(ref SavePath, ref SaveToFormat, ref DocNoParam, ref DocNoParam, ref
                  DocNoParam, ref DocNoParam, ref DocNoParam, ref DocNoParam, ref
DocNoParam, ref DocNoParam, ref DocNoParam, ref DocNoParam, ref DocNoParam, ref DocNoParam, ref DocNoParam, ref DocNoParam);
 
 
      // Orjinal dosyaya herhangi bir değişiklik yapmak istemiyorsak
     object SaveChanges = false;
      WordApp.Quit(ref SaveChanges, ref DocNoParam, ref DocNoParam);
    }
    else
    { return; }
  }
  catch (Exception)
  {
      return;
  }
}

7 Kasım 2010 Pazar

C# Twitter Class

Ufak bir araştırma neticesinde bulduğum ve değişiklikleri yapmış olduğum class twitter apilerini kullanıyor yazacağımız methodlar ve classımız twitter hesabımıza follower eklemeye ve tweetlemeye yarıyor.

Öncelikle tweet göndermeye yarayan classımız;

public void PostTweet(string username, string password, string tweet)
        {
            try
            {
                // kullanıcı adı ve şifre encode ediliyor
                string user = Convert.ToBase64String
                (System.Text.Encoding.UTF8.GetBytes(username + ":" + password));
                byte[] bytes = System.Text.Encoding.ASCII.GetBytes("status=" + tweet);
                // güncelleme sayfasına bağlanılıyor
                HttpWebRequest request = (HttpWebRequest)
                WebRequest.Create("http://twitter.com/statuses/update.xml");
                // metod post olarak ayarlanıyor.
                request.Method = "POST";
                request.ServicePoint.Expect100Continue = false;
                request.Headers.Add("Authorization", "Basic " + user);
                request.ContentType = "application/x-www-form-urlencoded";
                request.ContentLength = bytes.Length;
                Stream reqStream = request.GetRequestStream();
                // yazılıyor
                reqStream.Write(bytes, 0, bytes.Length);
                // kapatılıyor
                reqStream.Close();
            }
            catch (Exception ex) {/* burası boş */}
        }
Yazdığımız class ı kullanarak c# da yazacağımız programla twitter hesabımıza tweet gönderebiliyoruz.
Şimdide birini takip etmemiz için Friendship adında yapı oluşturuyoruz.
public enum FriendshipID
        {
            ByID,
            ByUserID,
            ByScreenName,
            Follow
        }
Daha sonrada hemen altına fonksiyonumuzu ekliyoruz.
public string Friendship_Create
(string username, string password, FriendshipID friendshipID, string id)
        {
            try
            {
                string responseStr = string.Empty;

                switch (friendshipID)
                {
                    case FriendshipID.ByID:
                        {
                            HttpWebRequest messageRequest =
                        (HttpWebRequest)WebRequest.Create("http://twitter.com/friendships/create/" + id + ".xml");
                            messageRequest.Method = "POST";
                            messageRequest.Credentials = new NetworkCredential(username, password);
                            messageRequest.ContentLength = 0;
                            messageRequest.ContentType = "application/x-www-form-urlencoded";
                            WebResponse response = messageRequest.GetResponse();
                            StreamReader sReader = new StreamReader(response.GetResponseStream());
                            responseStr = sReader.ReadToEnd();

                            break;
                        }
                    case FriendshipID.ByScreenName:
                        {
                            HttpWebRequest messageRequest = (HttpWebRequest)
                            WebRequest.Create("http://twitter.com/friendships/create.xml?screen_name=" + id);
                            messageRequest.Method = "POST";
                            messageRequest.Credentials = new NetworkCredential(username, password);
                            messageRequest.ContentLength = 0;
                            messageRequest.ContentType = "application/x-www-form-urlencoded";
                            WebResponse response = messageRequest.GetResponse();
                            StreamReader sReader = new StreamReader(response.GetResponseStream());
                            responseStr = sReader.ReadToEnd();

                            break;
                        }
                    case FriendshipID.ByUserID:
                        {
                            HttpWebRequest messageRequest = (HttpWebRequest)
                            WebRequest.Create("http://twitter.com/friendships/create.xml?user_id=" + id);
                            messageRequest.Method = "POST";
                            messageRequest.Credentials = new NetworkCredential(username, password);
                            messageRequest.ContentLength = 0;
                            messageRequest.ContentType = "application/x-www-form-urlencoded";
                            WebResponse response = messageRequest.GetResponse();
                            StreamReader sReader = new StreamReader(response.GetResponseStream());
                            responseStr = sReader.ReadToEnd();

                            break;
                        }
                    case FriendshipID.Follow:
                        {
                            HttpWebRequest messageRequest = (HttpWebRequest)
                           WebRequest.Create("http://twitter.com/friendships/create/" + id + ".xml?follow=true");
                            messageRequest.Method = "POST";
                            messageRequest.Credentials = new NetworkCredential(username, password);
                            messageRequest.ContentLength = 0;
                            messageRequest.ContentType = "application/x-www-form-urlencoded";
                            WebResponse response = messageRequest.GetResponse();
                            StreamReader sReader = new StreamReader(response.GetResponseStream());
                            responseStr = sReader.ReadToEnd();

                            break;
                        }
                }
                return responseStr;
            }
            catch (Exception ex)
            {
                return ex.Message;
            }
        }
Burada ise takip ediceğiniz kişinin ID mi yoksa Ekran Adı mı gibi kriterlerini yazıyoruz.

//twitterCs.cs classımız
//textBox1.Text kullanıcı adı
//textBox2.Text şifre
//twitterCs.FriendshipID.ByScreenName burada ise ekranda görünen adı ile çağırıcağımızı belirtiyoruz
//textBox3.text burada ise arkadaş olarak eklenicek kişinin adı
t.Friendship_Create(textBox1.Text, textBox2.Text, twitterCs.FriendshipID.ByScreenName, textBox3.text);

3 Kasım 2010 Çarşamba

JavaScript Kullanarak ListBox da Arama yapmak

<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
    <title>SearchList</title>

</head>
<script type="text/javascript" language="javascript">
    function SearchList()
    {
        var l =  document.getElementById('<%= ListBox1.ClientID %>');
        var tb = document.getElementById('<%= TextBox1.ClientID %>');
        if(tb.value == "")
        {
            ClearSelection(l);
        }
        else{
            for (var i=0; i < l.options.length; i++)
            {
                if (l.options[i].value.toLowerCase().match(tb.value.toLowerCase()))
                {
                    l.options[i].selected = true;
                    return false;
                }
                else
                {
                    ClearSelection(l);
                }
            }
        }
    }
    function ClearSelection(lb)
    {
        lb.selectedIndex = -1;
    }

</script>
<body>
    <form id="form1" runat="server">
    <asp:TextBox ID="TextBox1" runat="server" onkeyup="return SearchList();"/><br />
    <asp:ListBox ID="ListBox1" runat="server" Height="150px" Width="250px">
    <asp:ListItem>Ali</asp:ListItem>
    <asp:ListItem>Veli</asp:ListItem>
    <asp:ListItem>Kır</asp:ListItem>
    <asp:ListItem>Dokuz</asp:ListItem>
    <asp:ListItem>Elli</asp:ListItem>
    </asp:ListBox>
    </form>
</body>
</html>