30 Nisan 2012 Pazartesi

Listview ve Kolonları Yönetimi 1

Merhaba dostlar.

Bugün sizlerle Listview nesnesine nasıl kolon eklenir ve o kolonlara nasıl istediğimiz şeyi yazdırırız onu anlatmaya çalışacağım.

Öncelikle listview nesnesine kolon ekleyelim. Resimde görülen listview nesnesinin sağ üst köşesindeki kutucuğa tıkladığımızda "Listview Tasks" penceresi görünecektir. Buradan "Edit Columns" seçeneğine tıklayıp kolonları yönetebilirsiniz. Bu seçeneğe tıkladığımızda aşağıdaki pencere görünecektir.

Bu pencereden kırmızı halka ile gösterilen Add tuşuna her bastığınızda listview nesnesine yeni bir kolon eklenir. Bu kolonların isimlerini de resmin sağ tarafındaki "Text" kısmından değiştirebilirsiniz. Kolon genişliklerini de bu pencerede ayarlayabilirsiniz. Onun için de "Width" seçeneğini değiştirmeniz yeterli olacaktır. Kolonları ekledikten sonra muhtemelen form ekranında eklediğiniz kolonları göremeyeceksiniz bu sorunu aşmak için de şöyle bir yol izlemelisiniz.
Yine listview nesnesinin sağ üst köşesindeki kutucuğa tıklıyoruz ve açılan pencereden "View" kutusundan "Details" seçeneğini seçiyoruz ve eklediğimiz kolonlar görünür oluyor.

Gelelim bu kolonların altına istediğimiz şeyi yazdırmaya. Bunun için şöyle bir kalıp kullanmanız gerekiyor;
"ListView1.Items.Add(New ListViewItem(New String() {"Merhaba"}))". Bu kalıpta "Merhaba" yazısı ilk kolonun altına eklenir. Eklenecek yazılar kolon sayısı kadar artırılabilir. String bir ifadeyi tırnak içinde yazdırmak yerine string bir değişken de yazabilirsiniz.

Şekildeki örnek kutulara girilen değerleri listview kolonlarına yazdırıyor. Bunun için sadece "EKLE" tuşunun yordamına şu kod satırını yazmamız yeterli;
ListView1.Items.Add(New ListViewItem(New String() {TextBox1.Text, TextBox2.Text, TextBox3.Text, TextBox4.Text, TextBox5.Text}))


Bir sonraki konuda listview kolonlarındaki ifadeleri nasıl elde edeceğimizi anlatacağım. Şimdilik hepinize kolay gelsin.

15 Nisan 2012 Pazar

Hakkında Penceresi (About Box)

Merhaba dostlar.

Bugün sizlerle hakkında penceresinin nasıl yapıldığını paylaşacağım. Hakkında penceresi de SplashScreen penceresiyle benzerlik gösteriyor. Bakınız SplashScreen

Project > Add Windows Form seçeneğine tıklayıp gelen ekrandan About Box seçeneğini eklediğimizde hakkında penceremiz eklenmiş olur.


Hakkında penceresinin yazılarını da yine SplashScreen penceresinde olduğu gibi  My Project seçeneğine çift tıkladığımızda çıkan ekranda Assembly Information bölümünden değiştirebiliriz.




Bu pencereden istediğiniz değişiklikleri yapıp pencereyi özelleştirebilirsiniz. İsterseniz hakkında penceresinin resmini de değiştirebilirsiniz. O da şöyle yapılabilir.


Hakkında penceresine gelip resim bölümünün sağ üst köşesindeki kutucuğa tıklayıp Choose Image dediğimizde Select Resource penceresi çıkar ve burdan Import diyerek istediğimiz resmi yükleyebiliriz.

Bu pencerenin gösterimini bir tuşa bağlamak şık bir görünüş oluşturur. Sonra o tuşun yordamına girip 
AboutBox1.Show() dediğimizde iş tamamlanmış olur. Çıkış için herhangi bir şey yazmanıza gerek yok çünkü penceredeki tamam tuşu pencereyi kapatır.

Hepinize kolay gelsin.



Splash Screen (Bekletme Ekranı)

Merhaba dostlar.

Bugün sizlerle bekletme ekranının nasıl yapılacağını paylaşacağım. Bu ekran Form_Load kısmında çok işlem olan ve açılması uzun süren programlarda kullanılabilir. Form_Load kısmı program açıldığında programın size bir şey sormadan işlediği kodlar bölümüdür. Şimdi bu ekranın nasıl oluşturulacağını anlatacağım.

Project > Add Windows Form seçeneğine tıklıyoruz ve şu ekran çıkıyor karşımıza.


Bu ekrandan Splash Screen seçeneğini seçip eklediğimizde ekranımız programa dahil olur. Bu ekrana Solution Explorer penceresinden ulaşabilir ve değişiklikler yapabilirsiniz.

Çember içindeki seçeneğe çift tıkladığımızda şu ekran çıkar karşımıza.

Bu ekranda yazılı şeyleri aşağıdaki resimde görülen bölümden değiştirebilirsiniz.

Sağ kısımdaki My Project seçeneğine çift tıklayıp Assembly Information tuşuna tıklarsak karşımıza bir pencere çıkar oradan Title, Version ve Copyright kısmına istediğinizi yazarsanız program çalışırken Splash Screen ekranında kaydettiğiniz şey yazar.

Şimdi kod kısmına geçelim. 

Form_Load yordamının başına SplashScreen1.Show() yazarsınız, bu ekranın görünmesini sağlar, ardından işlenmesi zaman alan kodlarınızı yazarsınız. Bu kodların bitimine SplashScreen1.Close() yazarsınız bu da bu pencereyi kapatır ve form ekaranı görünür.

Hepinize kolay gelsin.






13 Nisan 2012 Cuma

Listbox Nesnesi Ve Kullanımı

Merhaba dostlar.

Bugün sizlerle Listbox nesnesinin kullanımını paylaşacağım. Listbox'a istediğimiz değeri girme , girilmiş değerleri seçerek silme ve seçtiğimiz değeri elde etme  yollarını açıklamaya çalışacağm. Küçük bir örnek üzerinden anlatıma başlıyorum.


Girilecek Değer = TextBox1 ve Seçilen Değer= TextBox2 olmak üzere:
Ekle tuşuna çift tıklayıp yordamını açıyoruz ve o yordamın içine TextBox1 içindeki değeri ListBox1 içine atan kod satırını yazıyoruz. Kodumuz şöyle;

ListBox1.Items.Add(Trim(TextBox1.Text)) , Trim komutu isteğe bağlıdır, istemeyen yazmayabilir.

Listbox nesnesine siz string bir ifadeyi kendiniz de yazdırabilirsiniz. Onun kodu ise şöyle olur;

ListBox1.Items.Add("Merhaba") , bu kod Listbox'a tam olarak tırnak içindeki ifadeyi yazdırır.

Silme işleminde iki seçeneğiniz var :
Tüm değerleri sildiren ListBox1.Items.Clear() komutu,
Seçilen nesnenin silinmesine yarayan ListBox1.Items.RemoveAt(ListBox1.SelectedIndex) komutudur.

Getir seçeneğinde ListBox'ta seçtiğimiz herhangi bir değeri TextBox2 nesnesine yazdırıyoruz. Bunun için önce seçtiğimiz index değerine karşılık gelen string ifadeyi elde etmemiz gerekiyor.


ListBox1.Items(ListBox1.SelectedIndex) , bu kod bize seçtiğimiz değerin kendisine veren koddur.

Artık Getir tuşunu işler hale getirmemiz için tek adım kaldı o da bu değeri nereye yazacağı.

TextBox2.Text = ListBox1.Items(ListBox1.SelectedIndex)


Bu satırla da seçtiğimiz değeri "Seçilen Değer" kutusuna yazdırıyoruz.

Resimde olan örneği de ekliyorum.

İndirmek için tıklayın.

Hepinize kolay gelsin.

12 Nisan 2012 Perşembe

Textbox 'a Sadece Sayı Veya Harf Girme , Sadece Seçtirme


Merhaba dostlar.

Bugün sizlerle textbox nesnesinde sadece sayı veya sadece harf girilmesine izin veren veya sadece seçilmesine izin veren kodları paylaşacağım. Resimlerle daha iyi anlaşılacağını umuyorum.


Şekildeki gibi önce biçimlendirmek istediğimiz textbox nesnesini seçiyoruz sonra "Properties" penceresine geçiyoruz.

Bu pencerede kırmızı daire içinde olan "Events" sekmesine tıklıyoruz ve karşımıza nesne ile ilgili olayların sıralandığı bir pencere çıkıyor. Bu pencereden "KeyPress" seçeneğinin yanındaki resimde işaret edilen boş kutuya çift tıklıyoruz ve karşımıza bir yordam (Sub) çıkıyor.


Bu yordama girilen kodlar klavyeden tuşa her bastığımızda çalıştırılır ve eğer kod izin verirse nesneye yazdırılır. Şimdi sadece harf girilmesine izin verecek kodu yazalım.

If Not (Char.IsLetter(e.KeyChar) = True) And e.KeyChar <> ChrW(Keys.Back) And e.KeyChar <> ChrW(Keys.Space) Then
    e.Handled = True
 End If

Burada "e.KeyChar <> ChrW(Keys.Back)" ve "e.KeyChar <> ChrW(Keys.Space)" komutları ile silme(Keys.Back) ve boşluk(Keys.Space) tuşlarına da izin veriliyor isterseniz bunları çıkartıp sadece harf girişine izin vermeniz de mümkün. Bu nesneye sadece küçük ya da sadece büyük harf yazılmasını istiyorsanız "Properties" penceresinden "Character Casing" bölümünden upper veya lower seçeneklerini kullanabilirsiniz.

Sadece sayı girilmesine izin verecek kod ise şöyle:

If Not (Char.IsNumber(e.KeyChar) = True) And e.KeyChar <> ChrW(Keys.Back) Then
            e.Handled = True
End If


Burada da sadece sayı girilmesine ve silme tuşunun kullanılmasına izin veren kodu görüyoruz.

Sadece seçilmesine izin verecek kod ise şöyle:

If e.KeyChar <> ChrW(Keys.Select) Then
            e.Handled = True
End If


Hepinize kolay gelsin.








11 Nisan 2012 Çarşamba

Tarih Hesaplamaları (DateDiff)


Merhaba dostlar.

Bugün sizlerle tarih hesaplamalar konusunu paylaşacağım. Bu hesaplamayı sağlayan komut ise "DateDiff()" komutudur. Komutun kullanımı ise şöyledir: DateDiff("yyyy", eski tarih değeri , yeni tarih değeri)

Bu komtta tırnak içinde olan yyyy değeri iki tarih arasında yıl hesaplaması için kullanılır, bu değrin diğer türleri ise şöyledir;
"s"---------saniye                    
"n"---------dakika
"d"---------gün
"ww"-------hafta
"m"--------ay
"yyyy"-----yıl

Burada eski tarih ve yeni tarih değerlerinin "Date" formatında olması gerekiyor yoksa komut çalışmaz. Tanımlı olan tarih (date) formatı ise gg.aa.yyyy şeklindedir.

Birkaç örnek yazalım; DateDiff("d",11.04.2001,13.04.2001)=2 ,  DateDiff("ww",11.04.2001,18.04.2001)=1


Yaptığım bu küçük programı da alta ekleyeceğim. Bu program iki tarih seçici arasındaki tüm verileri hesaplıyor.


Hepinize kolay gelsin.

10 Nisan 2012 Salı

LTrim , RTrim , Trim , UCase , LCase , Val Komutları

Merhaba dostlar.

Bugün sizlerle başlıkta yazılı olan komutların nasıl kullanıldığını paylaşacağım.

LTrim

String bir ifadenin sol kısmındaki boşluğu silen komuttur.İngilizcedeki left(sol) kelimesiyle alakalı bir kod.      
LTrim("   merhaba   ")="merhaba   " LTrim("mer ha ba")="mer ha ba" 
İkinci örneğin bu komutla alakası yok ama onu uyarı olarak yazdım. Bu üç trim komutu da sadece string ifadenin başı ve sonu ile işlem yapar, ifadenin ortasındaki boşluklara dokunmaz.

RTrim

String bir ifadenin sol kısmındaki boşluğu silen komuttur.İngilizcedeki right(sağ) kelimesiyle alakalı bir kod.  
RTrim("   merhaba   ")="   merhaba" , RTrim ("    merhaba dostlar      ")="    merhaba dostlar"

Trim

String ifadenin hem sağındaki hem de solundaki boşlukları silen komuttur. Mesela
Trim("   merhaba   ")="merhaba" , Trim ("    merhaba dostlar      ")="merhaba dostlar"

Trim komutu kayıt tutmanız gereken uygulamalarda çok işe yarayan bir komuttur, özellikle de o kayıtlara arayarak tekrar ulaşmanız gerekiyorsa. Örneğin kaydınızı "ben " şeklinde yanlışlıkla yanında bir boşlukla beraber kaydederseniz aramada "ben" olarak belirlediğiniz değişkenle kaydınız eşleşmeyecektir. O tek boşluktan dolayı farklı bir string ifade olarak algılanır.

UCase

Bu komut string ifadelerinizin küçük karakterlerini büyük karakter olarak çevirir. İngilizcedeki upper kelimesiyle alakalıdır. Örnek verecek olursak; UCase("merHaba")="MERHABA"  UCase("BEn gEldim")="BEN GELDİM"

LCase

Bu komut string ifadelerinizin büyük karakterlerini küçük karakter olarak çevirir. İngilizcedeki lower kelimesiyle alakalıdır. LCase("MerHabA")="merhaba"  LCase("BEn gEldim")="ben geldim"

Val 

Bu komut string ifadeyi sayı formatına dönüştürür. Normalde string formatında olan bir sayı ile matematik işlemlerini yapamazsınız, bu işlemleri yapmak için Val komutuna ihtiyaç vardır.Birkaç örnekle bu komutu açıklayalım.
Val("3465")=3465 , Val("23ads")=23 , Val("43addf56545")=43

Bu komut string ifadenin rakam olan kısımlarını sayı formatına dönüştürüyor fakat string ifadenin içinde harf varsa ilk harfe kadar olan rakamları sayı formatına dönüştürüp gerisini atıyor.

Bu komutlarla ilgili küçük bir örnek;

İndirmek için buraya tıklayınız.

Hepinize kolay gelsin




9 Nisan 2012 Pazartesi

Round, Int, Fix, Mid, Len Komutları.

      Merhaba dostlar.
Bu paylaşımda sizlerle round, int, fix, mid, len gibi küçük komutlardan bahsetmeye çalışacağım. Öncelikle matematik komutlarından başlamak istiyorum. Bunlar round, int ve fix komutlarıdır. Bu komutlardan round komutunu  yeni açtığınız bir visual basic uygulamasında hemen kullanırsanız hata ile karşılaşırsınız. Bu komutu kullanmak için önce Public Class bölümünün üstündeki alana bu komutun tanımlı olduğu kütüphaneyi belirtmelisiniz.


Resimde görüldüğü gibi kütüphane tanımlamaları public class kısmının üstüne yani siyah sütunla gösterilmiş kısıma yapılır. Matematik kütüphanesi tanımlamak için ise bu kısıma "Imports.System.Math" satırnı girmek yeterlidir. Bu işlemden sonra round komutunu sorunsuz bir şekilde kullanabilirsiniz. Kütüphane tanımlamadan kullanmak isterseniz de komutun başına tanımlı olduğu kütüphane yazarsınız. Örneğin "Math.Round(değ1,0)"
kütüphane tanımlamadığınızda her defasında komutun başına kütüphanesini eklemek zorunda kalırsınız.

Kullanımları

Round(5,65 , 0) =6 
Round komutu sayıların kaç basamakta yuvarlanacağına sizin karar vermenize izin veren bir komuttur. Bu örnekte sayıdan sonra virgülle ayırdığımız yerde 0 olduğu için round virgülden sonra sayı tutmadı ve hepsini yuvarladı. Mesela 0 yerine 2 yazsaydık Round(5,65 , 2) =5,65 şeklinde olurdu. 2 yerine 1 yazarsak Round(5,65 , 1) =5,6 olur. Bu komutun küçük bir özelliği de Round(5,5 , 0) =6 komutunda olduğu gibi virgülden sonra sayı tutmuyorsanız virgülden sonra 5 varsa sayıyı bir üste yuvarlıyor ama 
Round(5,55 , 1) =5,5 komutunda olduğu gibi virgülden sora bir sayı tutulduğunda ancak 6 olunca bir üste yuvarlıyor. Round(5,66 , 1) =5,7 örneğinde olduğu gibi.

Int(5,6)=5 , Int(5,9)=5 , Int(5,2)=5
Bu komut sayıyı sadece tamsayıya ve alt sınıra yuvarlar. Negatif değerler de de bu böyledir. Mesela 
Int(-5,1)=-6 bu komut sayıyı hep daha küçük olana yuvarlar. Int(-5,4)=-6 , Int(-4,3)=-5

Fix(5,6)=5 ,  Int(5,9)=5 , Int(5,2)=5
Bu komut da Int komutuyla neredeyse aynı görevi görür. Tek farkları negatif sayılardadır. Fix komutu değerleri hep "0" a doğru çeker mesela Int(-5,7)=-5 , Int(-5,4)=-5 , Int(-4,3)=-4

Len("Merhaba")=7
Len komutu string bir ifadenin kaç karakter olduğunu öğrenmemize yarar. Bu komutun püf noktası ise boşluklardır. Bu komut boşluk bıraktığınızda onu da karakter olarak algılar. 
Mesela Len("ben i")=5 , Len("be n i")=6.

Mid("merhaba",2,1)="e"
Bu komut da string ifadelerin karakterlerini tek tek elde etmede işe yarayan çok önemli bir komuttur. Mid de Len gibi boşlukları karakter olarak algılar. Bu komutun püf noktası ise string ifadeden sonra yazdığımız sayılardadır. String ifadeden sonra gelen ilk sayı hangi karakterden seçmeye başlayacağını belirler, sonraki sayı ise belirlenen karakterden sonra kaç karakter alacağına karar verir. 
Mid("merhaba",2,3)="erh" , Mid("nasılsın"1,5) ="nasıl"

Hepinize Kolay Gelsin.

Kısaca Giriş

      Merhaba arkadaşlar.
Bu blogu açmamın sebebi ise bildiğim ve öğrendiğim Visual Basic 2008 kod satırlarını kısa ve anlaşılır bir şekilde sizlerle paylaşmaktır. Zaten bununla ilgili bir çok site var diye düşünebilirsiniz ama ben çalışmam sırasındaki araştırmalarda farkettim ki bilgiler karışık ve iyi anlatılmamış,bu da beni bu yola sevketti.
     Burada sizlerle paylaşacağım şeyler sadece Visual Basic ile alakalı olmayacak Windows işletim sistemindeki bazı küçük ve yararlı bilgiler,Linux işletim sisteminden bazı bilgiler de paylaşmayı düşünüyorum. Umarım paylaştığım şeyler sizlere faydalı olur.