Merhaba Çocuklar, Console ekranında digital saat yapabilmek için; önce console ekranında 1′den 59′a kadar sayıları -aslında saniyeyi, 1 saniye geçtikten sonra- yazan bir uygulama geliştirmek istiyorum. Bunun için yazacağım program şu anki bilgimizle aşağıdaki gibi olacak ve istediğim şeyi elde edebilmek için yeni eklediğim komutlarla sırasıyla evrimleşerek, son şekline kavuşacak. Böylelikle basit bir kronometre yapmış olacağız.
1//Bu programın çıktısında alt alta 1 den 59'a kadar
2//sayıları teker teker yazdığını görürsünüz.
3for (int i = 1; i < 60; i++)
4{
5 Console.WriteLine(i);
6}
7Console.ReadKey();
Ancak benim istediğim aynı yere saniye gibi sırayla 1-2-3- şeklinde yazması. Dolayısıyla aynı pozisyona yazdırabilmek için her yazdıktan sonra ekranı sildirebilsem böylelikle aynı yere yazmış olur. Ekranı silmek için Clear metodunu kullanıyoruz.
1//Bu programın çıktısında ekranda sadece 59 görürsünüz.
2for (int i = 1; i < 60; i++)
3{
4 //Ekranı Silmek için
5 Console.Clear();
6 Console.WriteLine(i);
7}
8Console.ReadKey();
Bu programda da ben F5 tuşuna basıp çalıştırdığımda döngü çok hızlı bir şekilde çalışmış ve ben sadece i'nin son değeri olan 59'u ekranda görebiliyorum. Her bir i değeri için döngünün içindeki komut olan Console.WriteLine(i) çalıştırdığında ekrana i'nin değerini yazacak. Yazdıktan sonra döngü bloğu başa dönüp, çok hızlı bir şekilde i'nin sonraki ve sonraki değerlerini yazmasın diye epey geniş aralıkta 0-100000000 gibi boş bir döngü açarak, sonraki döngüye geçmeden boş dönen 100 milyona kadar sayan (işlemciye ne yapıyoruz böyle) aslında bir döngü açıyoruz. Böylelikle istediğim digital saatin saniye kısmını yapmış oluyoruz.
01for (int i = 1; i < 60; i++)
02{
03 //Ekranı Silmek için
04 Console.Clear();
05 Console.WriteLine(i);
06 //i değişkeninin değerini 1 için yazdıktan sonra
07 //boş dönen bir döngü ile i'nin sonraki
08 //değerine geçmeden yavaşlatıyoruz.
09 for (int k = 0; k < 100000000; k++) ;
10}
11Console.ReadKey();
Bir sonraki yazacağım, console ekranında formatlı yazım makalesini de okursanız, bir digital saat yapabilirsiniz. İyi Çalışmalar.


