Fare imlecinin konumunu bulmak

Yağız Gönüler tarafından yayınlanmıştır 27. Kasım 2008 15:36

Bazen çok işe yarar bir kod olabiliyor. Windows formuma 1 adet button ekledim ve click eventine aşağıdaki kodları yazdım. Tıklandığında messagebox yardımıyla bana imlecin koordinatlarını verecek.

Point p = Cursor.Position;
MessageBox.Show((p.X - this.Location.X) + " : " + (p.Y - this.Location.Y));

Bu yazıyı ilk değerlendiren siz olun

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Etiketler:

Programming Clues

Windows'ta yüklü olan programı çalıştırmak

Yağız Gönüler tarafından yayınlanmıştır 27. Kasım 2008 15:25

Windows projelerimizde yine sık kullandığımız kodlardan birini daha yayınlamak istiyorum. Windowsumuzda yüklü bir programı, projemizden çağırmak için öncelikle aşağıdaki fonksiyonu deklare ediyoruz.

[DllImport("kernel32")]
public static extern long WinExec(string lpCmdLine, int nCmdShow);

Burada lpCmdLine isimli değişken programın adını tutmaktadır. nCmdShow ise programın açılış ekranının şeklini tutar. Mesela ekranı kaplaması için 2, orjinal boyutu için 9 ve simge durumunda bulunması için 6 değeri verilebilir. Daha sonrasında forma bir button ekleyip click eventine aşağıdaki kodları yazıyorum.

long programicagir;
programicagir = WinExec("C:\\Windows\\System32\\notepad.exe”, 2);

Bu kodlarla ilgili programın çalışabildiğini göreceksiniz. Ben notepad'i örnek olarak aldım. WinExec() fonksiyonu çalıştığı zaman sayısal bir değer döndürür. Çağırdığımız program eğer hard disk'te yoksa 2, sürücü veya ilgili klasör yoksa 3, yeterli ram yoksada 8 değerini verir.

1 kişi tarafından 3.0 olarak değerlendirildi

  • Currently 3/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Etiketler:

Programming Clues

Random sayı üretmek

Yağız Gönüler tarafından yayınlanmıştır 26. Kasım 2008 15:35

Websayfamdaki Programlama İpuçları bölümüne başlarken kodların hem vb.net hemde c#.net hallerini yazıyordum. Karar değiştirdim ve projelerimde hangi dili kullanıyorsam onu kodlamaya karar verdim. Neticede online convert sayfalarından diğer dildeki halini de görebilirsiniz. Bunun için özellikle burayı tavsiye ederim. Hepimizin en çok kullandığı kodlardan biri de random sayı üretme kodlarıdır. Random sınıfı kripto işlemleri için yeterli değil. .NET Framework ile birlikte gelen RandomNumberGenerator sınıfından yararlanıp istediğimiz amaçlar işler için rastgele sayılar üretebiliriz. Bu sınıfı kullanabilmek için aşağıdaki satırı namespace olarak eklemeliyiz:

using System.Security.Cryptography;

Şimdi kodlara geçelim. Ben Memik Yanık'ın algoritmasını kullanıyorum projelerimde. Dolayısıyla farklı yerlerde görürseniz şaşırmayın Smile

Aşağıdaki örnekte ilk olarak 10 elemanlı bir byte dizisi hazırlanıyor. Rastgele hazırlamak istediğimiz sayının daha uzun veya kısa olmasını istiyorsak, byte tipindeki dizi değişkenin eleman sayısında değişiklik yapmamız gerekiyor.

Private void Form1_Click(object sender, EventArgs e)
{
byte[] Dizi = new byte[10];
RandomNumberGenerator Sayi;
Sayi = RandomNumberGenerator.Create();
Sayi.GetBytes(Dizi);
string Str="";
for (int i = 0; i < Dizi.Length; i++)
Str = Str + Dizi[i].ToString();
textBox1.Text = Str;
}

Devamında RandomNumberGenerator tipinde bir değişken tanımlayıp Create() metodu ile RandomNumberGenerator nesnesi hazırlanıyor. Bu sınıfın GetBytes() metodu parametre olarak aldığı Byte dizisinin içeriğini rastgele dolduruyor.

Bu yazıyı ilk değerlendiren siz olun

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Etiketler:

Programming Clues

Bilgisayarınız ne zamandan beri açık?

Yağız Gönüler tarafından yayınlanmıştır 21. Kasım 2008 13:10



Ne kadar işinize yarar bilmiyorum ama aşağıdaki kodlar vasıtasıyla bilgisayarınızın ne kadar zamandır açık olduğunu öğrenebilirsiniz. Mutlaka işinize yarayacak bir tarafı olabilir logger uygulamalarında falan Smile

C#:

public string getuptime()

            String cevap = String.Empty; 
            cevap += Convert.ToString(Environment.TickCount / 86400000) + " gün, "
            cevap += Convert.ToString(Environment.TickCount / 3600000 % 24) + " saat, "
            cevap += Convert.ToString(Environment.TickCount / 120000 % 60) + " dakika, "
            cevap += Convert.ToString(Environment.TickCount / 1000 % 60) + " saniye."
            return cevap; 
}

Visual Basic .Net:

Public
Function getuptime() As String
        Dim cevap As String = String.Empty
        cevap += Convert.ToString(Environment.TickCount / 86400000) + " gün, " 
        cevap += Convert.ToString(Environment.TickCount / 3600000 Mod 24) + " saat, " 
        cevap += Convert.ToString(Environment.TickCount / 120000 Mod 60) + " dakika, " 
        cevap += Convert.ToString(Environment.TickCount / 1000 Mod 60) + " saniye." 
        Return cevap
End Function

1 kişi tarafından 5.0 olarak değerlendirildi

  • Currently 5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Etiketler: , ,

Programming Clues

Sayfanızda javascript sorunu gözükmesin

Yağız Gönüler tarafından yayınlanmıştır 20. Kasım 2008 14:46



Aşağıdaki satırları head tagi içerisine kopyalarsanız, sayfanızın sol alt köşesinde eğer varsa javascript kodları görünmez hale gelecektir.
Bunun çok daha uzununu biliyordum ancak kısasıyla beni tanıştıran Hakan Coşar kardeşime teşekkürler.

<script LANGUAGE="JavaScript">
function CC_noErrors() {
return true;
}
window.X_onerror = CC_noErrors;
</script>

Bu yazıyı ilk değerlendiren siz olun

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Etiketler: ,

Programming Clues

Türkçe harflerin unicode karşılıkları

Yağız Gönüler tarafından yayınlanmıştır 11. Kasım 2008 15:22



Özellikle websayfamda ve uğraştığım web projelerinin birçoğunda çok yardımını gördüm aşağıdaki kodların. Mesela websayfamda sağ menüdeki last.fm widget'inin .cs dosyasını editlerken çok yardım aldım.

  • ğ - \u011f
  • Ğ - \u011e
  • ı - \u0131
  • İ - \u0130
  • ö - \u00f6
  • Ö - \u00d6
  • ü - \u00fc
  • Ü - \u00dc
  • ş - \u015f
  • Ş - \u015e

Bu yazıyı ilk değerlendiren siz olun

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Etiketler: ,

Programming Clues

Uygulamanın aynı anda birden fazla çalışmasını önlemek

Yağız Gönüler tarafından yayınlanmıştır 11. Kasım 2008 11:51



Yeni bir kategoriye başlamış bulunuyorum: Programlama ipuçları. Çok kısa kodlarla çok işe yarar işler yapacağız. Biraz nutukvari bir ifade oldu ama işin özeti forumlarda çok sorulan ve çözümü kolay olan sorunlara yardımcı olmak. Bu konuda sormak istediklerinizi iletişim bölümünden bana ulaştırabilirsiniz.

İlk ipucum bir windows uygulamasının aynı anda birden fazla çalışmasını önlemeye dair. Yukarıda task manager'da görüyoruz, sidebar.exe isimli program iki kez çalışıyor ve bilgisayarımızı gereksizce yoruyor. İşte bunu önlemek için visual studio.net yardımıyla formumuzun load olayına aşağıdaki kodları yazıyor. Hem vb hem de c# olarak kodları yazdım. Ayrıca kodun işlevini visual studio'dan debug ederek göremezsiniz, exe'den çalıştırarak farkı görebilirsiniz. İpuçlarım devam edecek..

C#:

Process[] workPr = Process.GetProcessesByName(Process.GetCurrentProcess().ProcessName ); 
    foreach (Process pro in workPr)

    if (Process.GetCurrentProcess().Id != pro.Id) 
    { 
    pro.Kill(); 
    }
}

Visual Basic .Net:

Dim workPr As Process() = Process.GetProcessesByName(Process.GetCurrentProcess().ProcessName)
For Each pro As Process In workPr
If Process.GetCurrentProcess().Id <> pro.Id Then
pro.Kill()
End If
Next

Bu yazıyı ilk değerlendiren siz olun

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Etiketler: , ,

Programming Clues



Bu site BlogEngine.NET 1.4.5.0 ile oluşturulmuştur. Türkçe çevirisi BlogEngine TR ekibi tarafından yapılmıştır.
Sitedeki kod ve tasarım değişiklikleri ise Yağız Gönüler tarafından geliştirilmiştir.
2008 © www.yagizgonuler.com

Şifahen değil acilen!

Anket

Yazılım geliştirirken en keyif aldığınız alan hangisi?




Sonuçlar

Son Yorumlar

Comment RSS

Calendar

<<  Ocak 2009  >>
PaSaÇaPeCuCuPa
2930311234
567891011
12131415161718
19202122232425
2627282930311
2345678

Yazıları geniş takvimde göster

Ne Dinliyorum?

Kirpi - TearDrop (8 saat önce)
Kirpi - My Name Is Kirpi (8 saat önce)
Kirpi - The Song (8 saat önce)
Kirpi - Spell (8 saat önce)
Huseyin Karadayi - Bonus Track Funk Clarinet (String Mix) (8 saat önce)
Huseyin Karadayi - Sacred Gate (8 saat önce)
Huseyin Karadayi - Exotica (8 saat önce)
Huseyin Karadayi - Take Me Away / No Time To Waste (Vocal By Melis Sökmen) (8 saat önce)
Huseyin Karadayi - Eyes Don't Lie (Duet By Enoi & Funky C) (8 saat önce)
Huseyin Karadayi - This Way (Usy Groove) (8 saat önce)

Ne Okuyorum?


Haftanın Sözü


"Sukûnetim asaletimdendir;
Lâkin her lâfa verilecek bir cevabım var.
Bir bakarım lâf lâfmı diye,
Birde bakarım söyleyen adammı diye.."

Mevlânâ Celaleddin-i Belhi Rumi
(1207-1273)

Adanmış Hayatlar

"Zaten aşklar hep yalan dolan,
Sonu hep acı hüsran.
Bize her sevdadan geriye kalan
Sadece Galatasaray..
"

Son Dakika

İstanbul'da Hava

ISTANBUL

Ziyaretçi Sayısı

Ziyaretçi Sayısı