9 Haziran 2016 Perşembe

- C# REGEX CLASS SINIFI -

Regex(Regular Expression) bir kütüphanedir.

using System.Text.RegularExpressions;


Bu kütüphane String bir ifadenizi istediğiniz değerlerde bulmak ,değiştirmek,silmek ve denetlemek işlemlerini yapar.

www.regexlib.com

Örnek vermek gerekirse ;

String ifadenin içinde \ ters slash kullanacak olsaydık

  • @ işaretini , ifadenin önüne ekleriz.
  • \\ ters slash işaretini iki kez yazarız.
  • \n = (New Line) Yeni Satır 
  • \s = (Space) Boşluk Karakteri gibi..
Nerede işimize yarar?diye bir soru duyar gibiyim.Genel anlamda Telefon NO,Mail adresi,Rakamsal ve Metinsel ifadeleri String ifadenin içerisinde olup olmadığının denetlemesini yapmamıza olanak sağlar.
Ayrı bir derste hangi işaretin neyi temsil ettiğini göstereceğim.
Şimdilik kullanım şekli ve ihtiyacımızı nerede karşılıyor olduğuna bakacağız.

IsMatch METODU

Elimizde bir REGEX ifadesi varsa kontrol etmek için IsMatch metodunu kullanırız.Eğer ifade IsMatch metodu parametresi ile eş değer ise Sonuç TRUE döner.
Eş değerden kastımız String ifadelerinin REGEX 'e göre uyumlu olup olmadığı..


Sadece Rakam Girişi Yapmak için REGEX  ;

        "[0-9]+$"
  • 0-9 arasındaki rakamlar istediği kadar girilebilir.
Harf ve Rakam Girişi Yapmak için REGEX  ;

"[A-Za-z0-9]+$"
  • $ = metnin sonunu ifade eder;
  • + = kendisinden önce gelen karakterin en az bir kere tekrar edeceğini belirtir.


UYGULAMA ORNEGI : 

 string password = Console.ReadLine();
 Regex pass = new Regex(@"^[^ şçğüöı]{10,16}$");
pass.IsMatch(password)


Şimdilik siz " @"^[^ şçğüöı]{10,16}$" " bu ifadenin kodlarını anlamaya çalışmayın sadece bu ifadede belirlenen mantık içindeki verilen karakterlerin ;

pass.IsMatch(password)

pass ifademiz Regex kütüphanesini referans almış ve belirlediği karakter dizelerin var olup olmadığını kontrol edecek ama nasıl? burada yardıma IsMatch metodu koşuyor (password) ise bizim dışardan girdiğimiz veri bu şekilde girdiğimiz verideki karakterlerin olup olmadığı koşuluna göre "TRUE" değer döndürecek.
Bir başka ders 'te size en önemli olan REGEX ifadeleri tablosunu sunacağım..

DİĞER KULLANIMLAR : 
Escape: Meta karakterleri metin içerisinden çıkarır.
IsMatch: Katarın kalıpla eşleşip eşleşmediğini verir.
Match: Katar ve kalıbın eşleşmesini saklar.
Matches: Bir metin içerisinde  kalıpla eşleşen bütün katarları saklar.
Replace: Kalıpla eşleşen metini parametre olarak girilen katarla değiştirir.
Split: Kalıpla eşleşen ifadeyi önceden belirtilen pozisyondan parçalara böler.
ToString: Kalıbı metin olarak döndürür.
Unescape: Meta karakterleri metin içerisine geri koyar.


7 Haziran 2016 Salı

-C# ILE YAS HESAPLAMASI (GEÇEN TARIH VE ZAMANI BULMA)

Selamun aleyküm,
C#
Girilen bir tarih ile bugünün arasında geçen zamanı ayırma nasıl yapılır fark nasıl bulunur?
Öncelikle bu konuda kafanızın karışacağı noktalar ;

  • Subtract
  • DateTime.MinValue
  • Neden eksiltiyoruz?
Arkadaşlar kodları paylaşmadan önce bu 3 problemi yazının sonunda detaylı anlatacağım.
Öncelikle ne yapacağımızı öğrenelim.Bizim vereceğimiz Tarih ve yine Bizim vereceğimiz bir sayı,bu yaş olacak! ikisi arasındaki zaman dilimini nasıl öğrenebilirim?

C# Form Üzerinden Çalışacağımız için Gerekli Componentler ;

--2 ADET LABEL--

  1. Doğum tarihi
  2. Yaş Sınırı
--1 ADET TEXTBOX

--> Yaş sınırı için

--1 ADET BUTTON

-->Hesapla (isminde)

--1 ADET TIMEPICKER

Eğer form dizaynını yaptı iseniz,kodlamaya geçiyoruz..