C# Ekranda Yazı Yazdırmak



 

Program yazmanın iki
boyutundan bahsedebiliriz, bunlar ise programcı açısından program
ve kullanıcı açısından programdır. Program geliştiriciler olarak
başlangıçta her iki kişi de biziz. Rolümüz programcıdan
kullanıcıya değişince ya da kullanıcıdan programcıya değişince,
bakış açımız da değişecektir. Mesela, programımızın verdiği çıktı,
kullanıcı açısından girdidir. Kullanıcının programa girdiği
veriler program açısından girdi, kullanıcı açısından çıktıdır.

Burada bahsedilen girdi
ve çıktı kavramları üzerinde durmak istiyorum. Programın dış
dünyaya verdiği bilgiler, gösterdiği tepkiler çıktı olarak
tanımlanırken, dış dünyadan aldığı bilgiler ise girdi olarak
tanımlanır. Bir bilgisayar programı da aldığı girdileri yorumlar,
saklar, bu bilgilere dayanarak dış dünyaya bir takım sonuçlar
gönderir. Bu modele I/O modeli denir.
 

I/O Modelleri

Windows ortamında
çalışan bir program kullanıcıdan girdileri klavye, mouse, buton ya
da kaydırma çubukları gibi çeşitli kontroller yardımı ile alır.
Bir Windows programı çıktıyı kullanıcıya yazı veya grafik olarak
gösterir. Bir fırını çalıştıran program ise farklı bir kullanıcı
I/O modeline sahiptir. Burada girdiler fırınını ön panelindeki
butonlarla yapılır. Çıktılar ise fırının açılması, fırının
kapanması, tepsinin döndürülmesi, ışığın yakılması şeklinde
olacaktır. C ve C# gibi dillerde kullanıcı girdi ve çıktısı için
özel bir model yoktur. Bu bir eksiklik gibi görünüyor fakat değil.
Bunu şöyle söylemek daha doğru olacaktır: C#, kullanıcıyı herhangi
bir girdi ve çıktı modelini kullanmaya zorlamaz. Siz yazdığınız
programın nerede kullanılacağına göre girdi ve çıktı modelinizi
kendiniz seçersiniz.

Bu bölümde konsol
ekranı yardımıyla kullanıcıya çıktı verebilen bir program yazmaya
çalışacağız. Bunu yapmadan önce bazı kavramları açıklamakta yarar
var. Ekranda yazı göstermeye yarayan System.Console.WriteLine() ve
System.Console.Write komutlarıdır. Bu komutlar neden üç parçadan
oluşuyor? Bu parçaların adları nelerdir?

System bir isimuzayıdır.
İsimuzayları C#’a C++ dilinden miras kalmıştır. İsimuzayları
birbiri ile alakalı yöntemleri bir paket içinde toplamaya yarayan
bir paketleme sistemidir. Bir isimuzayının içindeki bir yöntemin
adı diğer bir isimuzayı içinde de bulunabilir. Bu da isimuzayının
bir diğer işlevidir.

System isimuzayı;
kullanıcı ile iletişim kurmaya yarayan I/O modeli olan Console,
matematiksel işlemlerin bir araya toplandığı Math gibi temel
sınıfları içinde barındırır. Burada sınıf terimi geçti. Bir önceki
bölümde de anlattığımız gibi, C# programının temel birimi
sınıftır. Bunu daha doğrusu şöyle söylemek lazım: Nesne yönelimli
dillerin temel birimi sınıftır. Sınıfların özellikleri ve
yöntemleri vardır. Bir arabayı örnek alalım. Rengi, modeli fiyatı
gibi özellikleri vardır. Hareket etmek, korna çalmak, durmak gibi
yöntemleri vardır. Daha sonra bu temel araba sınıfından bir takım
farklı özellik ve yöntemlere sahip olan otobüs, kamyon, minibüs
gibi sınıflar türetiriz. Bu sınıfların örnekleri olan nesneler ise
araba sınıfının niteliklerini taşırlar. Türetilmiş sınıftan
oluşturulan nesne de türetilmiş sınıfın özelliklerini ve temel
sınıfın özelliklerini taşır.

Yöntemler ise sınıfın
dış dünya ile etkileşimini sağlayan eylemleridir. Mesela Console
sınıfının WriteLine yöntemi ekranda bir satır yazı gösterir. Write
yöntemi ise ekranda yazı gösterir ama alt satıra geçmez işini
bitirince.

WriteLine yöntemini
kullanan bir program bu yönteme bir argüman yollar:

1

System.Console.WriteLine(ToplamMeyve);

Bazı programcılar
parantez ile argümanı ayırmak için argümanın sağına ve soluna
boşluk koymayı tercih ederler.

1

System.Console.WriteLine( Toplam );

WriteLine yöntemine bir
değişkeni argüman olarak geçebildiğimiz gibi, bir sayısal ifadeyi
de geçebiliriz.

1

System.Console.WriteLine( Elma + Armut );

Yukarıdaki iki satırı
incelersek ilkinde bir işlemin sonucunu tutan değişkenin değerini
yazdırıyoruz. İkincisinde ise işlemin kendisini direkt
parantezlerin içine yazıyoruz. Sonucu hesaplayıp ekrana yazıyor.

Eğer amacımız sadece 2
ve 3 sayılarının toplamını ekrana yazdırmak ise

1

System.Console.WriteLine( 2+3 );

yazabiliriz.

using Direktifi

Eğer programda birden
fazla System.Console.WriteLine yöntem çağrısı yapıyorsak System
isimuzayınu using direktifini sınıf tanımı yapmadan önce
programımızın başına ekleriz. using direktifi ile tanımladığımız
herhangi bir isimuzayına dahil sınıfların yöntemlerini çağırırken
artık isimuzayı ismini yazmadan sadece sınf.yöntem() şeklinde
yöntemi yazarız. Bu bize zaman kazandırır. using direktifine
direktif denmesinin sebebi programın çalışma zamanında hiçbir
işlevinin olmamasındandır.

1

Console.WriteLine(Toplam);

Şimdi artık çalışan ve
ekrana yazı yazan bir program yazalım.

1

using System;

2

class BirProgram

3

{

4

  static void Main()

5

  {

6

    int Elma, Armut, Toplam;

7

 

8

    Elma = 2;

9

    Armut = 3;

10

    Toplam = Elma + Armut;

11

    Console.WriteLine ( Toplam );

12

  }

13

}

Yeni yorum gönder

Bu alanın içeriği gizli tutulacak ve açıkta gösterilmeyecektir.
  • Web sayfası ve e-posta adresleri otomatik olarak bağlantıya çevrilir.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <img>
  • Satır ve paragraflar otomatik olarak bölünürler.

Biçimleme seçenekleri hakkında daha fazla bilgi

CAPTCHA
Aşağıdaki resimde yer alan karakterleri kutucuğa doğru olarak yazınız
Image CAPTCHA
Enter the characters shown in the image.

Anket

Web sitesinde hangisi daha önemlidir:

Son Konular

2012-04-10 00:53 - Chrome Pili daha çabuk bitiriyor
2012-03-22 19:47 - Geliştirdiğin kodları satmak ister misin
2012-02-12 23:21 - SMF forumu vbulletin foruma aktarmak
2011-12-14 21:50 - Motorlu araçlar otomobil vergisi sorgulama
2011-12-14 21:47 - Sorgulamalar
2011-12-11 14:33 - Ben az önce ne arayacaktım
2011-09-10 22:51 - DSLR Fotograf Makinası sınıflandırması
2011-09-09 17:33 - ‘Crop Factor’ Nedir, hakkında bilgi
2011-09-09 17:30 - Fotograf Rehberi
2011-08-20 21:30 - Samsung LEDTV'lerde .SRF ve XFS süprizi
2011-08-19 00:45 - 2011 yılının web tasarım trendleri
2011-04-09 20:18 - Alan adları gerçek isim sahiplerine verilecek!
2011-01-13 01:43 - SEO İçin Dikkat Edilmesi Gereken Hususlar
2011-01-13 01:42 - Meta tag SEO Optimization
2011-01-13 01:41 - Google Adsense Hakkında Detaylı Bilgi
2011-01-13 01:40 - Soru Ve Cevaplar ile Google Adsense
2011-01-13 01:39 - Arama motoru Google ve Pagerank
2011-01-13 01:38 - Seo Sözlüğü
2011-01-13 01:37 - Google Arama Özellikleri
2011-01-13 01:36 - Adsense Reklam Yerleşimi
2011-01-13 01:35 - Robots.txt Dosyası Kullanım Robotları Yölendirme Kontrol
2011-01-13 01:34 - Sitenizin Google ve Web deki Yeri
2011-01-13 01:33 - Arama Motoru Bilgi ve İpuçları
2011-01-13 01:31 - Arama Motorları Teknikleri
2011-01-13 01:29 - Google Pagerank Detaylı Anlatım
2011-01-13 01:27 - Sitenize Ziyaretçiler En Çok Hangi Kelimeler İle Gelmiş
2011-01-13 01:25 - Pagerank Nedir?
2011-01-13 01:19 - Fireworks Shadow and Glow
2011-01-13 01:18 - Fireworks Sharpen
2011-01-13 01:16 - Fireworks Other
2011-01-13 01:13 - Fireworks Blur
2011-01-13 01:09 - Fireworks Bevel and Emboss
2011-01-13 01:05 - Fireworks Adjust Color
2011-01-13 01:03 - Fireworks Save as Style
2011-01-13 00:58 - Fireworks Text Menüsü
2011-01-13 00:54 - Fireworks Select Menüsü
2011-01-13 00:54 - Fireworks Modify Menüsü
2011-01-13 00:51 - Fireworks View Menüsü
2011-01-13 00:18 - Fireworks Edit Menüsü
2011-01-13 00:16 - Fireworks File Menüsü
2011-01-13 00:05 - İnternet - Web Tarayıcılar (Browser)
2011-01-13 00:04 - İnternet - Web Server Yazılımları
2011-01-13 00:03 - İnternet ve Web İlişkisi
2011-01-13 00:02 - İnternette Kullanılan Protokoller
2011-01-13 00:01 - İnternet - World Wide Web (WWW) Nedir?
2011-01-13 00:00 - İnternet - URL nedir?
2011-01-12 23:43 - İnternet Backorder Nedir?
2011-01-12 23:34 - İnternet - Virüs Nedir?
2011-01-12 23:32 - İnternet Paypal nedir? Nasıl Kullanılır?
2011-01-12 23:31 - İnternet - DNS Nedir?