rtyucel tarafından yazılmış tüm yazılar

C# ile Dosyalama ve Şifreleme Örneği

Uzun zamandır programlama örneği vermiyordum. Bu yazımızın konusu yarın yapacağım sınav öncesinde öğrencilerime pratik olsun diye hazırlattığım bir uygulama.

Soru:Bir Metin (text) dosyası içerisine yazılanları şifreli olarak saklayacak ve o metin dosyası, yazacağımız program dışında başka herhangi bir metin editörü ile açıldığında şifreli olarak görüntülenecektir. Yazının şifrelenmemiş halini ancak kendi yazdığımız program ile görüntüleyebileceğiz.

İşlem Basamakları:

1)Form üzerine 1 Label, 1 TextBox, 2 Button, 1 OpenFileDialog ve son olarak da 1 SaveFileDialog elemanlarını aşağıdaki şekildeki gibi form üzerine yerleştiriyoruz.

2)Nesnelere aşağıdaki özellikleri tanımlıyoruz;

  • Label1.Text = “Metin İçeriği:”
  • button1.Text = “Kaydet”
  • button2.Text = “Aç”
  • saveFileDialog1.Filter = “Metin Dosyası (*.txt)|*.txt”
  • openFileDialog1.Filter = “Metin Dosyası (*.txt)|*.txt”

3) sifrele ve sifreCoz isimli 2 adet metot oluşturuyoruz.

[sourcecode language=”csharp”]private string sifrele(string icerik)
{
string sifrelenmisi = "";
foreach (char harf in icerik)
{
sifrelenmisi += Convert.ToChar(harf+2);
}
return sifrelenmisi;
}[/sourcecode]

 

[sourcecode language=”csharp”]private string sifreCoz(string sifreliIcerik)
{
string cozulmusIcerik = "";
foreach (char harf in sifreliIcerik)
{
cozulmusIcerik += Convert.ToChar(harf – 2);
}
return cozulmusIcerik;
}[/sourcecode]

4) button1 tıklandığında;

[sourcecode language=”csharp”]saveFileDialog1.Filter = "Metin Dosyası (*.txt)|*.txt";
saveFileDialog1.ShowDialog();
string yol=saveFileDialog1.FileName;
File.CreateText(yol).Close();
string icerik = textBox1.Text;
string yeniIcerik = sifrele(icerik);
File.WriteAllText(yol, yeniIcerik);
MessageBox.Show("Kayıt İşlemi Gerçekleştirildi");
textBox1.Clear();[/sourcecode]

  5) button2 tıklandığında;

[sourcecode language=”csharp”]openFileDialog1.ShowDialog();
string yol = openFileDialog1.FileName;
string sifreliIcerik = File.ReadAllText(yol);
string yeniIcerik = sifreCoz(sifreliIcerik);
textBox1.Text = yeniIcerik;[/sourcecode]

komutlarını yazıyoruz.

Şifreleme işleminde parametre olarak gönderilen metinsel (string) ifadeyi, karakter karakter okutup, ilgili karakteri, kendisinden 2 karakter sonra gelen karakter ile değiştirme yöntemiyle metnimizi şifreliyoruz. (Örneğin a=c,b=d,c=e…)

Şifre çözme işleminde de şifreleme işleminde yaptığımız işlemin tam tersini yapıp, gelen karakteri, kendisinden 2 karakter önce gelen karakter ile değiştirerek kullanıyoruz.

Programa ait çalışma anı görselleri için aşağıdaki ekran görüntülerini inceleyebilirsiniz.

İskambil Kağıt Resimleri

Geçtiğimiz gün sınıfta öğrencilerle ne programı yazsak ne programı yazsak diye düşünürken aklımıza iskambil kağıtlarıyla oynanan basit bir oyun yazmaya karar verdik.

Ancak oyun kartlarını hemen bulabileceğimizi tahmin ediyordum ki yanılmışım. Bir çok yerli ve yabancı sitede aramamız sonucunda 52 kartın tümünün bir yerde Wikipedia’da bulduk. Buradan da tüm resimler tek tek indirerek kendi paketimizi oluşturmuş olduk.

Şimdi aşağıdaki linkten 1 deste 52 kartımızı indirebilirsiniz. (Kartlar 691px X 1056px boyunda ve PNG formatındadır.)

Dosyaları indirmek için tıklayınız.

Nesne Tabanlı Programlama Dersi 1.Dönem 3.Sınavı Soru ve Cevapları

Bugün TL-12/A sınıfına gerçekleştirmiş olduğum Nesne Tabanlı Programlama Dersi 1.Dönem 3.Sınavı Soru ve Cevaplarını bu yazının sonundaki linkten indirebilirsiniz.

SORU-1) Aşağıdaki formu tasarlayıp, textbox’lara girilen sayıların toplamını, ortalamasını, en büyük ve en küçük olanlarını buldurup label içerisine yazdıran programı aşağıdaki adımları göz önünde bulundurarak tasarlayınız.

SORU-2)Aşağıdaki fonksiyonun sonucunu ilk 50 eleman için hesaplayıp CONSOLE ekranına yazdıran programın kodunu yazınız.

SORU-3) Bir bankanın kredi bölümünde çalışanların işini kolaylaştıracak bir uygulama yazın. Uygulama kullanıcıdan çekilmek istenen kredi miktarını, faiz oranı ve vadeyi alıp müşterinin ödeyeceği faiz miktarını hesaplayacaktır. Faiz miktarını mesaj kutusu yardımıyla gösteren programı hazırlayınız.Faizi hesaplamak için kullanacağımız formül:
Faiz = ( Ana Para x Faiz Oranı x Gün ) / 360

Programı ve sınav evraklarını indirmek için http://www.rtyucel.com/site/notlarim/NTP_TL_12_A.rar adresini ziyaret ediniz.

C# Örnekleri -2

Daha önce şurada dizilerle ilgili ve şurada da başlangıç seviyesi C# program örnekleri vermiştim.

Geçtiğimiz haftalar da öğrencilerime ödev olarak vermiş olduğum sorulardan sizlerin de faydalanabileceğini düşündüklerimi burada, onların anlatımıyla yayınlamaya başlıyorum.

İlk örneğimiz TL-11-A sınıfından Samet BAL’ın hazırlamış olduğu ” KENAR UZUNLUKLARI GİRİLEN ÜÇGENİN, ÇEŞİTKENAR MI, İKİZKENAR MI, EŞKENAR MI YOKSA DİK ÜÇGEN Mİ OLDUĞUNU BULAN  PROGRAM

Buyurun Samet’in dilinden programın kodları ve çalışması;
C# Örnekleri -2 yazısına devam et

Telefon Dolarıcılarının Yeni Yöntemi !!!

Çok sevdiğim ve yakınen tanıdığım bir öğretmen arkadaşımdan gelen mail, doğrudur/yanlıştır kararı size kalmış Ben bilgilendireyim de benden günah gitsin 😀

“Size  Cumartesi günü başımdan geçen çok çirkin bir olayı  anlatmak istiyorum.  Cumartesi günü 0544 243 87 83 numaralı bir telefon, beni arayıp adımı  vererek benimle görüşmek istediğini söyledi. Ben de  aranan kişiyle konuştuğunuzu söylediğimde bana,  “Ben ….. asayişten arıyorum yaka numaram bu deyip,  bu numaradan dün aksam ….. no’ lu telefona  astsubay ….. isimli kişiye 7 kere küfürlü  mesaj atıldığını ve bu yüzden de  telefonumun  izlenmeye alındığını ve hakkımda suç duyurusunda  bulunulduğunu, savcılığa gidip ifade vermem  gerektiği” söyledi.   Ben de “adımı bilen insan benim iş ve ev adresimi  de bilir; böyle bir iş varsa gelin beni bulun, şu an size  yardımcı olamam dedim.”  Telefonun diğer ucundaki şahıs (tahminen 45-50  yaşlarında olsa gerek) bana bağırmaya başlayıp “Mecbursunuz  yardımcı olacaksınız  şimdi sizi …. Savcılığına aktarıyorum. 154 ü  tuşlayın.” dedi.    Ben de hiçbir yeri tuşlamayacağımı söyleyip bayağı  bir bağırıştan sonra telefonu kapattım. Amacım en  yakın karakola gidip ilgili numarayı aratmaktı.     Bu arada tesadüfen konuştuğum bir mahalle esnafı bunun  son günlerde defalarca yapıldığı söyleyip en son bir  mağaza sahibinin 154 ü  tuşlandığını ve telefonu otomatik olarak yurtdışı  görüşmelere açılıp yaklaşık 2-3 Milyarlık fatura  geldiğini söyledi….  Karakolların ve savcılığın bu olayla son  günlerde defalarca karsılaştığını ve sadece o semtte  o gün 23 defa bu konuyla ilgili oradaki karakola müracaat  olduğunu söyledi. Sadece aman diyorum dostlar aman, dikkat  edelim bu çete işi…”

154 ü  TUŞLAMAYIN SAKIN,.. KİM NE DERSE DESİN.


 Lütfen sizler de arkadaşlarınıza  yollayın ve onları uyarın.