Daha önceki makalemde C#.Net ile birkaç ipucunu ve uygulamalarımızda kullanabileceğimiz kısayolları göstermiştim. Şimdi o makalenin ikinci bölümüyle devam ediyoruz J
9. Bir web sayfasının HTML koduna nasıl ulaşabilirim ?
Formumuza bir textbox, bir button ve bir richtextbox ekliyoruz. Ayrıca System.Net ve System.IO namespacelerini projemize eklemeyi unutmuyoruz. Button’un click olayına aşağıdaki kodlarımızı yazıyoruz:
privatevoid button1_Click(object sender, EventArgs e)
{
this.richTextBox1.Clear();
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(this.textBox1.Text);
HttpWebResponse okuu = (HttpWebResponse)req.GetResponse();
Stream oku = okuu.GetResponseStream();
StreamReader okuyucu = newStreamReader(oku);
string gelen = "";
while ((gelen = okuyucu.ReadLine()) !=null)
{
this.richTextBox1.AppendText(gelen);
}
}
10. CD-ROM kapağını nasıl açıp kapatabilirim ?
Formumuza iki adet button koyalım. Bunlardan biri açma buttonu diğeri ise kapama buttonu olsun. Öncelikle aşağıdaki değişkenleri tanımlıyoruz:
[DllImport("winmm.dll", EntryPoint = "mciSendStringA", CharSet = CharSet.Ansi)]
protectedstaticexternint mciSendString(string lpstrCommand, StringBuilder lpstrReturnString, int uReturnLength, IntPtr hwndCallback);
Daha sonra açma butonumuzun click eventine aşağıdaki kodlarımızı yazıyoruz:
privatevoid button1_Click(object sender, EventArgs e)
{
int ret = mciSendString("set cdaudio door open", null, 0, IntPtr.Zero);
}
Şimdi ise kapama buttonumuzun click eventine şu kodları yazıyoruz:
privatevoid button2_Click(object sender, EventArgs e)
{
int ret = mciSendString("set cdaudio door closed", null, 0, IntPtr.Zero);
}
11. Metinleri nasıl formatlayabilirim ?
Metinleri biçimlendirmede kullanılan metod String.Format metodudur. Bu metodun birinci parametresi biçimi tanımlar, ikinci parametresi ise biçimlendirilecek olan metini belirtir. Aşağıdaki örnekleri inceleyin;
Örnek 1 :
string metin = "merhaba";
Console.WriteLine(string.Format("::{0,10}::", metin));
Console.Read();
Çıktısı :
:: merhaba ::
Örnek 2 :
string metin = "merhaba";
Console.WriteLine(string.Format("::{0,-10}::", metin));
Console.Read();
Çıktısı :
::merhaba ::
Bu iki örnekte süslü parantezler içerisindeki 0, değerler listesindeki birinci değeri (burada “metin”), 10 ise oluşturulacak metin biçimindeki karakter sayısını belirtir. İki değerli bir örnek şu şekilde olabilir:
Örnek 3 :
string metin1 = "merhaba";
string metin2 = "developer";
Console.WriteLine(string.Format("::{0,-10}:/:{1,-10}", metin1, metin2));
Çıktısı :
::merhaba : /: developer
12. Tamsayıları onaltılı tabanda nasıl yazdırabilirim ?
Bir tamsayının onaltılı tabanda karşılığını bulabilmek için Convert sınıfının ToString metodunu kullanabiliriz. Birinci parametre dönüştürülecek olan sayıyı, ikinci parametre ise formatı belirler. Aşağıdaki örneği inceleyin;
int a = 589;
string metin = (Convert.ToString(a, 16));
Console.WriteLine(metin);
Console.Read();
Bu uygulamanın çıktısı :
24d
13. Picturebox nesnesinde, internetteki bir resmi nasıl gösterebilirim ?
Öncelikle formumuza bir picturebox ve bir button koyuyoruz. System.Net namespaceini projemize mutlaka ekliyoruz.
Bunu dahada geliştirip bir textbox yoluyla linki isteyip, resmi pictureboxa getirebiliriz.
Aşağıdaki kodları yazdıktan sonra projemizi çalıştırdığımızda, belirttiğimiz resmin pictureboxa eklendiğini göreceksiniz.
Buttonumuzun click eventine şu kodları yazıyoruz:
privatevoid button1_Click(object sender, EventArgs e)
{
HttpWebRequest req = (HttpWebRequest)WebRequest.Create("https://mail.google.com/mail/help/images/logo.gif");
HttpWebResponse okuu = (HttpWebResponse)req.GetResponse();
System.IO.Stream oku = okuu.GetResponseStream();
this.pictureBox1.Image = Image.FromStream(oku);
}
14. Bir dosyadan okuduğumuz karakterlerin dilini nasıl belirtebiliriz ?
Bu durumla, internet üzerinden bir XML yada RSS belgesi okuttuğunuzda karşılabilirsiniz. XML belgesinde Türkçe karakterler düzgün görünmesine rağmen yaptığımız uygulamada bu karakterler yanlış görünebilir. Bu durumda “Encoding” sistemini belirtmemiz gerekir. Aşağıdaki kodu inceleyin;
Uri ur = newUri(@"httphttp://www.msakademik.net/rss.aspx");
HttpWebRequest req = (HttpWebRequest)HttpWebRequest.Create(ur);
HttpWebResponse wr = req.GetResponse();
Stream akim = wr.GetResponseStream();
StreamReader oku = newStreamReader(akim, System.Text.Encoding.GetEncoding(1254));
string metin = oku.ReadToEnd();
XmlDocument xdoc = newXmlDocument();
xdoc.LoadXml(metin);
Burada “System.Reader” sınıfının “Constructor” metodunun ikinci parametresi karakter sistemidir.
“System.Text.Encoding.GetEncoding(1254)” satırındaki “1254”, Türkçe karakterlerin de bulunduğu sistemi temsil eder.
Böylelikle “How Do I” makalelerimizin 2 bölümden oluşan serisini bitirmiş olduk. Umarım uygulama geliştirirken çeşitli faydalarından ve kolaylıklarından yararlanacağınız bir makale serisi olmuştur.
Kaynaklar:
Microsoft C#.Net Step by Step – John Sharp, Jon Jagger
Visual C#.Net 2005 – Abdullah Zengin