C#

Bul ve Değiştir (Find And Replace) İşlemi

Merhaba arkadaşlar, 
Zamanın acemilidiğini çekmiş biri olarakdan başlangıç seviyesinde bir uygulama yapmak istedim.

Bu makalemde metin editörlerinde sıkça rastladığımız olay olan bul ve değiştiri ele alacağız.

C# ve VB içerisinde hazır olarak da bulunan bu komutun olmadığını düşünerekten ve maksat algoritma geliştirmek amacıyla bu işlemi nasıl yapacağımıza bakalım.

İlk olarak kodlarımızda kullandığımız metotları açıklayarak işe başlayalım.

C# için string VB için String olan değişkenimizin metodu olan;

Insert(startIndex, value): string/String’in içerisine baÅŸlangıç deÄŸerinden itibaren value deÄŸerini ekler.

Remove(startIndex, count): string/String’in içerisinde baÅŸlangıç noktasından itibaren count deÄŸeri kadar veri siler.

IndexOf(value): string/String’in içindeki value deÄŸerinin baÅŸlangıç noktasını bulur. Geriye int/Integer olarak döner.

Åžimdi gelelim kodlarımıza; Bu yazının devamını okuyun »

Directory Sınıfı İle Klasör İşlemleri

Bu dersimizde Directory sınıfına değineceğiz.

Bu sınıf System.IO isim alanında bulunur ve içindeki tüm metotları static’tir. Yani direk olarak eriÅŸebilmemiz mümkündür. Directory sınıfına ait herhangi bir özellik yoktur. Bu sınıf altında sadece metotlar yer almaktadır. DirectoryInfo sınıfından farkı klasörlere ait özellikleri öğrenememizdir.

Directory.CreateDirectory(string yol);

Bu işlem bile belirtilen yolda(yol) bir klasör oluşturulur.

Ör; Directory.CreateDirectory(@”C:\Klasör”;

Directory.Delete(string yol);

Bu işlem ile belirtilen yoldaki boş klasörü silmek için kullanılır.

Directory.Delete(string yol, bool recursive);

Bu da silme işlemidir tek farkı ikinci parametre true veya false olarak belirtirilir. İkinci parametre True ise klasör içindekilerle birlikte sinilir.

Directory.Exists(string yol);

Bu işlem belirtilen yolda klasörün bulunup bulunmadığını kontrol etmek için kullanılır. Eğer klasör bulunuyorsa true bulunmuyorsa false değeri döner.

Directory.GetCreationTime(string yol);

Belirtilen yoldaki klasörün ne zaman oluşturulduğuna dair tarih bilgisi döndürür.

Directory.GetCurrentDirectory();

Bu metot herhangi bir parametre almaz. Çalışan programın hangi klasörde olduğunu öğrenmek için kullanılır.

Directory.GetDirectories(string yol);

Bu metot belirtilen yoldaki bütün klasörlerin ismini bir dizi ile döndürür. Dönen dizinin türü string türündendir. Bu yazının devamını okuyun »

ListBox’lar Arası Sürükle-Bırak TekniÄŸi

(Mizah Soslu Programcılık Yazısı)

Windows iÅŸletim sisteminde sürükle-bırak tekniÄŸi asıl Windows 95 ile yaygın bir ÅŸekilde kullanılmaya baÅŸlanmıştır. Sürükle-bırak tekniÄŸi deÄŸiÅŸik amaçlarla kullanılsa bile konu programcılık dersleri olduÄŸunda ilk akla gelen örnek ListBox’lar arası eleman taşıma ve kopyalamadır. Bu nedenle sürükle-bırak tekniÄŸini anlatan hocalar forma 2 ListBox yerleÅŸtirip birisinden diÄŸerine eleman taşıma ve kopyalamadan söz ederler. Her ne kadar programcılık derslerinde sürükle-bırak tekniÄŸi anlatılırken genellikle ListBox’lardan yararlanılıyor olunsa bile forma 2 ListBox nesnesi yerleÅŸtirme iÅŸlemi ilk olarak 2003 yılında bir Türk programcılık kitabı yazarı tarafından akıl edildi. Umarım mesleÄŸinin zirvesinde olan bu yazarımız forma 2 ListBox yerleÅŸtirmeyi ilk kez kendi(leri) akıl ettiÄŸi için bizi fikrini çalmakla tekrar suçlamaz. 

Sürükle-bırak tekniÄŸini anlatmak için forma 2 ListBox yerleÅŸtirdim ve ilk ListBox’a bir basketbol takımının 10 oyuncusunun adını aktardım. Tabi ÅŸimdi bu oyunların üçü hariç hepsi baÅŸka takımlarda oynuyorlar. Sürükle-bırak tekniÄŸi ile bu 2 ListBox arasında eleman taşımak istediÄŸim için Properties penceresinde her 2 ListBox’ın AllowDrop özelliÄŸini true yaptım. Bu özellik false iken söz konusu nesne sürükle-bırak iÅŸlemine izin vermez.  Bu yazının devamını okuyun »

Tablolar Arası İliÅŸkiler – DataRelation Sınıfı

Bu makalede 2004 yılında yayınlanan ilk C# kitabımda tablolar arası ilişkilerin anlatıldığı sayfaları küçük eklemelerle sizinle paylaşacağım.

Önce biraz önbilgi: 
Tablolar arası iliÅŸki kurmayı ilk kez 1993 yılında Clipper kitabını yazarken anlatmıştım. 1993 yılından 2003′te yazdığım .NET uyumlu ilk Visual Basic kitabıma gelene kadar sayısız kez tablolar arası iliÅŸkileri anlattım. İyi mi anlattım, kötü mü bilemem ama sayısız kez tablolar arası iliÅŸkilerden söz ettim. .NET Framework uyumlu ilk Visual Basic kitabımda tablolar arası iliÅŸkileri anlatmak için hazırladığım metni 2004 yılı başında aynen alıp küçük deÄŸiÅŸikliklerle yani aynı cümlelerle ilk C# kitabımda kullandım. Elim kırılaydı da .NET uyumlu ilk Visual Basic kitabımda kullandığım metni 2004 yılında yayınlanan ilk C# kitabımda kullanmayaydım. Çünkü mesleÄŸinin zirvesinde bulunan 2 yerli yazar beni DataRelation sınıfı hakkında yazdıklarımdan dolayı suçladı ve dediler ki ‘sen bizim kitaptan çalıntı yapmadan mümkünü yok .NET Framework ile gelen DataRelation sınıfından haberdar olamazsın’. Ben de kendilerine yapmayın etmeyin, siz daha bilgisayar nedir bilmezken benim dergilerde programcılık konulu yazılarım yayınlanıyordu. Ötesi 1994 ve 1995 yıllarında yazdığım ilk 3 kitabın hepsi veritabanı konuluydu. Yani tablolar arası iliÅŸki nedir bilmem gerekir dedim ama dinletemedim. 

Bu makalede 2004 yılında yayınlanan ilk C# kitabımda tablolar arası iliÅŸkilerin anlatıldığı sayfaları küçük eklemelerle sizinle paylaÅŸacağım. Bu arada dikkatinize ÅŸunu sunmak istiyorum: Bu metinde tablolar arası iliÅŸkileri anlatırken yalnızca ve yalnızca 2 satır(yazı ile iki) kod yazdığımı bilmenizi isterim. Bu arada sizden bir isteÄŸim var:Ne olur ÅŸartlarınızı zorlayınız beni çalıntı yapmakla suçlayan yazarların kitaplarından üçer beÅŸer adet satın alın. Belki bu sayede Memik Yanık’ı suçlamaktan vazgeçerler.  Bu yazının devamını okuyun »

File Sınıfı İle Dosya İşlemleri

Bu makalemizde File sınıfı ile dosya üzerinde ne gibi işlemler yapabileceğimizi göreceğiz.

File sınıfının bazı metotları Directory sınıfındaki metotlar ile aynıdır. Arasındaki fark Directory sınıfında klasörler üzerinde, File sınıfında ise dosyalar üzerinde çalışırsınız.

Aynı olan metotlar; 

Exists(), Delete(), 
GetCreationTime(), 
GetLastAccessTime(), 
GetLastWriteTime(), 
Move(), 
SetCreationTime(), 
SetLastAccessTime(), 
GetLastWriteTime().

Bu yazının devamını okuyun »

        Hosting Hizmetlerimiz