Yıllık Arşiv: 2008

NTLDR Bulunamıyor Hatası

Dün bilgisayarımı açtığımda ‘NTLDR bulunamıyor’ adında enteresan bir hata verdi, bilgisayarım açılmadı. Bunun bir donanım hatası olduğunu düşünerek kasayı açıp tüm bağlantıları kontrol ederek bilgisayarımı yeniden başlattım ama nafile,aynı hata yeniden karşımdaydı. İnternette yaptığım küçük bir araştırmadan sonra (Google sağolsun :D) bunun donanımsal değil yazılımsal bir hata olduğunu öğrendim. Hatanın bilgisayarın boot edilmesi sırasında kullandığı dosyalardan ntldr yada ntdetect.com isminde olan dosyalardan birinin yada her ikisinin birlikte silinmiş yada zarar görmüş olabileceğinden kaynaklı olduğunu öğrendim. Olay yazılımsal olmayla kalmayıp sistem dosyalarından bazılarının da zarar görmüş olma olasılığının yüksek olması,yakın zamanda format çekmiş olma gerçeğiyle bütünleşince moralim baya bozuldu.Her an format çekme zorunluluğuyla karşı karşıya kalabilirdim. Sorunun nedeni belli olmuştu ve çözümler aramaya başladım. Yaptığım araştırmalara göre windows’u onarıp, zarar gören dosyaları XP cd’sinden tekrar yükleyebilirsem problem hallolacaktı. Taktım XP cd’mi boot ettirdim,ön yüklemeden sonra karşıma çıkan seçeneklerden Window’u onarmayı ‘R’ tuşuyla seçtim. Daha sonra onarmak istediğim işletim sistemini seçtim – ki bu 1 seçeneğinde olandı – benden yönetici şifresini istedi. Bir sorunla da burada karşılaştım. Yönetici şifremi bilmiyordum,normalde kişi formatta belirlemediyse boş olur. Format attığım cd içerisinde ekstra bazı programları barındırdığı gibi belirtilmeyen bir yönetici şifresini de ihtiva ediyormuş :). Hal böyle olunca şifreyi sıfırlamak gerekiyordu. Tekrar google’a başvurup şifreyi sıfırlamak için işletim sistemi şeklinde bir iso dosyası buldum. Bunu cd’ye başka bir bilgisayarda yazdırıp, boot ettirdim. (Bu iso’nun download linkini en yakın zamanda yayınlayacağım). Komutları izleyerek şifreyi sıfırladım. Bu problemden kurtulduktan sonra diğer probleme tekrar döndüm, yönetici şifresini bana sorana kadarki bölümde yaptıklarımı tekrarladım. Şifre bölümüne gelince yeni yönetici şifremi yazdım ve msdos komutlarını yazabileceğim ekran karşıma geldi. Buraya aşağıda görülen kodları sırasıyla yazıp,enter’ladım. Bu iki dosyada hatasız olarak yüklendi. Daha sonra komut satırına exit yazıp bilgisayarı yeniden başlattım.Ne kadar sevindim bilemezsiniz..:))) Problem halloldu ve bilgisayar sorunsuz başladı.

XP Windows bileşenleri eksik yada hasarlı

Geçenlerde arkadaşım formattan sonra bilgisayarında windows oyunlarının bulunmadığını söyledi. Sebebi tabiki cd’nin oyunların olmaması şeklinde ayarlanması. Bu şekilde ayarlanan cd’ler insanların başına dert olabiliyor, tabi sadece oyun anlamında söylemiyorum, bu diğer windows hizmetlerinin birisi de olabilir. Bu durumu çözebilmek için öncelikle elimizde kullanmak istediğimiz programı içeren bir XP cd’miz olması gerekiyor. Daha sonra Başlat>Denetim Masası>Program Ekle/Kaldır>Windows Bileşeni Ekle/Kaldır bu yolu izledikten sonra Window Bileşeni Ekle/Kaldır penceresinden istediğimiz hizmeti seçip yükle dediğimizde sorun birkaç dakika içerisinde çözülecektir. Burada unutulmaması gereken önemli bir nokta daha var,örneğin yüklemek istediğimiz program orada yüklü görünüyor olabilir, bu durumda yapılması gereken ise şudur; o bileşenin yanındaki tik kaldırılır, devam edilir. Yani bileşen tamamen silinir.İşlem bittikten sonra tekrar tik konur, baştan yüklenir. Problem kalmamıştır. 🙂

C# Inputbox kullanımı

Aşağıdaki kodda sadece OK butonu içeren bir inputbox’ın kullanımı vardır. Değer girilip OK’e tıklanınca formda bulunan textbox’ın ismi girilen değer olacaktır. Değeri bu şekilde aldıktan sonra başka şekillerde de kullanabilirsiniz. Ayrıca projenize sağ tıklayarak add reference kısmından, Microsoft.VisualBasic referansını eklemeniz gerekmektedir.


private void  buttonTest_Click(object  sender, System.EventArgs e)
{
InputBoxResult sonuc= InputBox.Show(“konu”, “Pencere başlığı”, “textboxt text”, null);
if (sonuc.OK)
{
textBox1.Text = result.Text;
}
}

Alternatif Çözüm olarak aşağıdai kodu deneyebilirsiniz. Projenize sağ tıklayıp Add Reference kısmından Microsoft.VisualBasic referansını eklemeyi unutmayın.

private void  buttonTest_Click(object  sender, System.EventArgs e)
{

string inptTry = Microsoft.VisualBasic.Interaction.InputBox(“Değer Giriniz”, “Değer girmelisiniz”,”Default”, 8, 5);

}

C# Arraylist

Bilindiği üzere arraylist’lerin en büyük özelliklerinden birisi dinamik olmalarıdır.Kullanıcının runtime’da belirleyeceği bir boyutta dizi gerekiyorsa,bunu en kolay arraylist’lerle yapabiliriz.Yeni bir arraylist tanımlanacaksa Arraylist alistismi = new Arraylist(); şeklinde alistismi isminde bir arraylist nesnesi oluşturulabilir. Arraylist’in burada iki metodundan bahsedeceğim,tabi başka metodları da var.Örneğin sayılar adında bir arraylistimiz olsun.Formda da bir textBox bulunsun.Textbox’ın içine yazdığımız sayının arraylistte olup olmadığına bakalım.

alistismi.contains(textBox1.text);   // bize true/false dönderecektir.Ayrıca alistismi.Capacity();  metodu da o an için dizideki eleman sayısını dönderecektir.

Arraylist kullanımı için System.Collections; kütüphanesini eklemeyi unutmayın.

 

C# imagelist kontrolü

Imagelist kontrolü, formumuzda resimleri kullanacaksak işimize yarayacaktır. Bilindiği gibi resimle alakalı bir diğer kontrol olarak picturebox bulunmaktadır. Imagelistte depoladığımız resimleri indis numaralarıyla picturebox’ta görüntüleyebiliriz. Örnek olarak formumuzda birden fazla picturebox var ve biz bu resimleri runtime’da değiştirmek istiyoruz. Gerekli kodlardan sonra formumuzdaki resimleri dinamik olarak değiştirebilme imkanı doğabilmekte. Imagelistten picturebox’a resim aktarma kodu ise aşağıda verilmiştir.

pictureBox1.image=imagelist1.images[0];
Yukarıda da dediğim gibi dinamik olarak değiştirmede işinize yarayabilir. Örneğin son olarak ben, yazdığım fikstür çekme projesinde, her hafta gösteriminde takımların amblemlerinin olmasını istedim,böylece form her yenilenmede takımların amblemleri label’da yazan isme göre değişti.

C# bazı konsol kodları (console)

Konsolda beep(bip) sesi        Console.Beep(1986, 2);       // örnek kod 1986 frekansında 10sn ses çıkarır

Konsolun arkaplan rengini değiştirme Console.BackgroundColor = ConsoleColor.Blue;

Konsol yazı rengini değiştirme      Console.ForegroundColor = ConsoleColor.Black;

Konsolun başlığını değiştirme       Console.Title = “deneme”;

Konsol ekranını temizleme           Console.Clear();

C# picturebox’taki resmi kontrollerin altına alma

Bloğumda C# bölümünde program yazarken karşılaştığım ve o an için bilmeyip, öğrendiğim kodları yazıyorum…bunlarda birisi de picturebox kontrolünü herhangibir kontrolün altına almaktı. Çünkü forma picturebox eklendiğinde bi kontrol üzerine denk geliyorsa kontrol görünmüyor. Bu sorun aşağıdaki kodla basitçe çözülebilmektedir.


textBox1.BringToFront();       //  bu kodla textbox resimin üzerine çıktı.

C# Text dosyaya yazdırma

using System.IO;        // io kütüphanesi eklenmeli

StreamWriter yaz;
yaz =  File.AppendText(“C:deneme.txt”);
yaz.WriteLine(“deneme uygulamasi”);
yaz.WriteLine(textBox1.Text);
yaz.WriteLine(“—————–“);
yaz.Close();

Bu kodu denedikten sonra, oluşturulan text dosyanın içeriğini inceleyerek siz de istediğiniz verileri dosyaya yazdırabilirsiniz.