Visual Studio 2010 içerisinde Ctrl+Tab tuşlarını kullanarak Ide Navigator penceresini görüntüleyebilir ve aktif olan Visual Studio projesi bileşenlerini görüntüleyebilirsiniz.

Ide Navigator

Ayrıca registry içerisinde yapacağınız küçük bir ayar neticesinde Ide Navigator içerisinde thumbnail görünümü ekleyebilirsiniz. Bunun için Registry içerisinde

HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\10.0\General

yolunu açarak eğer mevcut değilse ShowThumbnailsOnNavigation adlı bir ikili değer ekliyoruz. Ve değer olarak 1 değerini veriyoruz. Bu işlem sonucunda aşağıda görüldüğü gibi Ide Navigator penceresine thumbnail özelliğini eklemiş oluyoruz.

Ide Navigator Thumbnail

Etiketler : Ide Navigator
Kategoriler : Genel
Yorumlar : 0 Yorum Yorum Yaz

Eğer Visual Studio 2010 içerisinde kesme ya da kopyalama işlemleri esnasında 'insufficient memory' hatası alıyorsanız

http://connect.microsoft.com/VisualStudio/Downloads/DownloadDetails.aspx?DownloadID=29729

adresinden yama dosyasını indirip kurarak bu hatayı giderebilirsiniz.

Etiketler : Yama
Kategoriler : Genel
Yorumlar : 0 Yorum Yorum Yaz

Uzun zamandır beklediğim Visual Studio 2010'un kararlı sürümü nihayet bugün itibari ile yayınlandı.

Visual Studio 2010 ile birlikte framework 4.0 versiyonu da yayınlandı.

http://www.microsoft.com/visualstudio 

Adresinden trial sürümünü indirebilir ya da satın alabilirsiniz.

Etiketler : Visual Studio 2010
Kategoriler : Duyurular
Yorumlar : 0 Yorum Yorum Yaz
Visual Studio 2010 RC ve .Net Framework 4 RC çıktı. 

İndirmek için http://msdn.microsoft.com/en-us/vstudio/dd582936.aspx adresini ziyaret edebilirsiniz.
Etiketler : Visual Studio 2010
Kategoriler : Duyurular
Yorumlar : 0 Yorum Yorum Yaz

Bir süredir üzerinde çalıştığım Visual Basic .NET 10 adlı kitabım kodlab yayınları arasından piyasaya çıktı.

VB .NET 10 Kitabım

Kitabı

www.hepsiburada.com

www.kitapyurdu.com

www.idefix.com

gibi internet üzerinden satış yapan pek çok sitede ve bilgisayar kitapları satan herhangi bir kitapevinde bulabilirsiniz. Ayrıca okullar için toplu alımlarda %40 indirim imkanı var. Bu imkandan yararlanmak isteyenler huseyin@kodlab.com mail adresinden kodlab satış müdürü Hüseyin Bey ile irtibat kurabilirler. 

Kitap ile birlikte verilen CD ile ücretsiz olarak Visual Studio .Net 10 yazılımına ve yüzlerce örnek projeye sahip olacaksınız.

Bu kitap ile Visual Studio .Net 2010 programı ile birlikte sunulan Visual Basic .NET’in son sürümü olan 10. versiyonu her yönü ile uygulamalarla birlikte anlatılmıştır. Kitapta Visual Basic .NET’in temel özelliklerinden başlanarak orta ve ileri seviyelere kadar bir çok özelliği anlatılmıştır. Bu özellikler içerisinde Visual Basic .NET’in daha önceki sürümlerinden gelen özellikler olduğu gibi, 10. sürümü gelen bazı yeni özellikler de vardır.

Etiketler : Etiket Yok
Kategoriler : Duyurular
Yorumlar : 0 Yorum Yorum Yaz

Bugünden itibaren uzun bir süre dizi değişkenlerinde kullanılan metodları inceleyeğiz.

CreateInstance Metodu

Yeni bir diziyi değişken tipini ve eleman sayısını belirleyerek tanımlamak için kullanılan metoddur.

Kullanımı şu şekildedir:

Array.CreateInstance(Değişken Türü,Eleman Sayısı,Boyut)

Örnek olarak tek boyutlu ,3 elemanlı bir dizi oluşturalım ve dizi elemanlarından birine erişelim.

Module Module1

  Sub Main()

     Dim okulturu As Array = Array.CreateInstance(GetType(String), 3)

     okulturu(0) = ("Endüstri Meslek")

     okulturu(1) = ("Teknik")

     okulturu(2) = ("Anadolu Teknik")

     Console.Write(okulturu(1))

     Console.ReadKey()

  End Sub

End Module

Kodumuzu çalıştırdığımızda “Teknik” sonucunu üretecektir.

 

3x3 boyutunda bir dizi tanımlayalım ve yine dizi elemanlarından birine erişelim:

Module Module1

  Sub Main()

      Dim dil As Array = Array.CreateInstance(GetType(String), 3, 2)

        dil = {{"VB.Net", "C#", "C++"}, {"Python", "Perl", "Ruby"},

{"Asp.Net", "JavaScript", "Silverlight"}}

      Console.Write(dil(0, 0))

      Console.ReadKey()

  End Sub

End Module

Kodumuzu çalıştırdığımızda “VB.Net”  sonucunu üretecektir.

Array.CreateInstance ile yaptığımız dizi tanımlamasını aşağıda görüldüğü gibi birden fazla şekilde yapabiliriz.

Dim dil As Array = Array.CreateInstance(GetType(String), New Int32() {3}, New Int32() {2})

Veya

Dim dil As Array = Array.CreateInstance(GetType(String), New Int32() {3, 3}, New Int32() {2, 2})

Bu tanımlamaların hepsi aynı neticeyi verecektir.

Etiketler : Diziler
Kategoriler : Genel
Yorumlar : 0 Yorum Yorum Yaz

Bir dizi boyut belirtilerek tanımlanabildiği gibi parantez içi boş bırakılarak da boyutu belirtilmeden tanımlanabilir. Gerek boyutu belirtilerek tanımlanmış olsun gerekse boyutu belirtilmeden tanımlanmış olsun program içerisinde ReDim deyimi ile dizi boyutu belirlenebilir belirlenmişse de yeniden belirlenerek dizi boyutu değiştirilebilir.

Örneğin;

                Dim adsoyad(1) As String

                adsoyad(0) = "Talha"

                adsoyad(1) = "Sümeyye"

Yukarıda tanımladığımız 2 elemanlı adsoyad dizisindeki ilk elemanın içeriğine

                adsoyad(0)

şeklinde eriştiğimizde içeriğinin “Talha” olduğunu görürüz.

Bu diziyi

                ReDim adsoyad(2)

adsoyad(2) = "Ömer"

şeklinde ReDim deyimi ile yeniden boyutlandırarak 3 elemanlı bir dizi haline çevirdik. Dizinin 3. Elemanına da “Ömer”  değerini aktardık.

adsoyad(2) ifadesi ile dizinin son elemanını görüntülemek istediğimizde “Ömer” değerini görebiliriz. Ancak yukarıda görüntülediğimiz gibi adsoyad(0) ile dizinin ilk elemanını görüntülemeye kalktığımızda dizinin ilk elemanının boş olduğunu görürüz. Çünkü Redim deyimi ile yeniden boyutlanan bir dizinin içeriği boşaltılarak boyutlandırma işlemi yapılır. Eğer boyutlandırma esnasında dizi içerisindeki elamanların içeriklerinin korunması isteniyorsa Redim deyimi ile birlikte Preserve deyimi de kullanılmalıdır.

Anlattıklarımızı daha iyi anlaşılması için koda dökecek olursak;

Module Module1

    Sub Main()

        Dim adsoyad(1) As String

 

        adsoyad(0) = "Talha"

        adsoyad(1) = "Sümeyye"

 

        Console.WriteLine("Dizinin İlk Değeri = " & adsoyad(0))

 

        ReDim adsoyad(2)

 

        adsoyad(2) = "Ömer"

 

        Console.WriteLine("Dizinin İlk Değeri = " & adsoyad(0))

        Console.WriteLine("Dizinin İlk Değeri = " & adsoyad(2))

        Console.ReadKey()

    End Sub

End Module

Uygulamayı çalıştırdığımızda aşağıdaki çıktıyı elde ederiz;

Redim 1

Ekran çıktısında da görüldüğü gibi dizimizi yeniden boyutlandırdıktan sonra dizi içerisindeki elemanların içerdikleri değerler silindiği için “Dizinin İlk Değeri” boş olarak görüntülenmiştir. Boyutlandırma işlemini “preserve” deyimini kullanarak yeniden yapalım ve uygulamamızı bir daha çalıştıralım;

Module Module1

    Sub Main()

        Dim adsoyad(1) As String

 

        adsoyad(0) = "Talha"

        adsoyad(1) = "Sümeyye"

 

        Console.WriteLine("Dizinin İlk Değeri = " & adsoyad(0))

 

        ReDim Preserve adsoyad(2)

 

        adsoyad(2) = "Ömer"

 

        Console.WriteLine("Dizinin İlk Değeri = " & adsoyad(0))

        Console.WriteLine("Dizinin İlk Değeri = " & adsoyad(2))

        Console.ReadKey()

    End Sub

End Module

Redim 2

Görüldüğü gibi dizi yeniden boyutlandırılırken dizi elemanlarının eski elemanları muhafaza edildiği için boyutlandırma işleminin sonrasında dizinin ilk değerini görüntülediğimizde içeriğinin boş olmayıp “Talha” şeklinde olduğunu görürüz.

Redim deyimi ile birden fazla dizi yeniden boyutlandırılabilir. Örneğin;

Dim adsoyad(1) As String

                Dim numara(1) As String

Şeklinde tanımlanmış iki diziyi

ReDim adsoyad(2), numara(2)

Şeklinde yeniden tek bir ReDim deyimi ile boyutlandırabiliriz.

Etiketler : Diziler
Kategoriler : Genel
Yorumlar : 0 Yorum Yorum Yaz

Diziler

10
Aug

Diziler aynı türdeki verilerin sıralanarak gruplandırılmasında kullanılan yapılardır. Diziler içerisinde veriler kaydedilirken 0 numaralı sıra değerinden itibaren kaydedilmeye başlanılır.

Dim Dizi değişkeni adı(Dizi Boyutu1, Dizi Boyutu2,…) As Değişken Türü

Şeklinde tanımlanırlar.

Tanımlanabilecek maksimum dizi boyutu 32 dir.

Örneğin;

Dim Numara(10) As Integer

Şeklindeki bir tanımlamada “Numara” adında 10 elemanlı integer türünde bir dizi tanımlanmaktadır.

 

Dizi elemanlarına değer atama işlemi yapılırken dizi elemanının index değeri parantez içerisinde yazılarak istenen dizi elemanına atama yapılabilir.

Dim adsoyad(2) As String

                adsoyad(0) = "Talha"

                adsoyad(1) = "Sümeyye"

adsoyad(2) = "Murat Aktaş"

Yukarıdaki örnekte görüldüğü gibi 2 elemanlı bir adsoyad dizisi tanımlayarak program içerisinde dizinin elemanlarına atama yapılmıştır.

Aynı dizi tanımlamasını şu şekilde de yapmak mümkündür:

Dim adsoyad(0 To 2) As String

Burada dikkat edilmesi gereken nokta dizinin başlangıç değerinin 0 olması gerektiğidir.

 

Dizilere tanımlama esnasında da değer ataması yapılabilir. Örneğin;

Dim adsoyad() As String = {"Volkan", "Ayşe", "Talha", "Sümeyye"}

Şeklinde bir diziye ilk değer ataması yapılabilir. Ancak burada da görüldüğü gibi ilk değer ataması sırasında dizi boyutu belirtilmeden tanımlama yapılmalıdır.

İlk değer ataması yapacağımız çok boyutlu dizi tanımlamalarında “ ,”  karakteri kullanılarak boyut sayısı belirtilir.

Dim adsoyad(,) As String = {{"Volkan", "Aktaş"}, {"Mustafa", "Aksu"}, {"Enver", "Arslan"}}

Örneğin yukarıdaki adsoyad dizisi iki elemanlı bir dizi olarak tanımlanmıştır.

Bu dizi içerisindeki “Aksu” elamanına adsoyad(1,1) şeklinde ulaşılabilir.

VB.Net 10 içerisinde dizi değişkeni dizi olarak belirtilmeyip, hatta tipi de belirtilmediğinde diziye atanan elemanlara göre vb.net otomatik olarak bunun tipini belirlemektedir.

Örneğin yukarıda tanımladığımız adsoyad değişkenini dizi olarak belirtmeyip tipini de belirtmeden tanımlayarak sadece string değerler dizisi ataması yapıp farenin imleci ile değişken adının üzerine gelip beklediğimizde vb.net’in ad soyad değişkenini dizi olarak varsayıp değişken tipini de string olarak belirlendiğini görürüz.

Dizi Otomatik Tipi

Ancak bu şekilde çok boyutlu dizi tanımlaması yapamayız.

Etiketler : Diziler
Kategoriler : Genel
Yorumlar : 0 Yorum Yorum Yaz

İçeriği sabit olan değer ve ifadelerin saklanması amacı ile kullanılırlar. Bir sabitin değeri uygulamanın çalıştırılması sırasında kesinlikle değiştirilemez. Const ifadesi ile tanımlanırlar.

Örneğin üçgenin çevresi ve alanını bulan bir program yapalım. Çevre ve alan formüllerinde kullanacağımız pi değeri sabit olup 3,14 değerine karşılık gelmektedir. Bu nedenle örneğimizde pi değerini sabit olarak tanımlayacağız.

Public Class Form1

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

        Const PI = 3.142857143      'sabit tanımlanır

        Dim alan, çevre, mes, yarıçap   'değişkenler

 

        mes = "Yarıçapı giriniz ?"

        yarıçap = InputBox(mes) 'kullanıcıdan bilgi al

 

        çevre = 2 * PI * yarıçap    'çevrehesapla

        alan = PI * (yarıçap ^ 2) 'alan hesapla

 

        mes = " dairenin çevresi "

        mes = mes & çevre & " cm. Alanı ise:  "

        mes = mes & alan & " cm.  dir."

 

        MsgBox(mes)

    End Sub

End Class

Etiketler : Sabitler
Kategoriler : Genel
Yorumlar : 0 Yorum Yorum Yaz

Structure veri türü, farklı tiplerden değişken tiplerini bir çatı altında toplayarak gruplandırmak amacı ile kullanılan veri türü yapısıdır. Structure yapısı içerisindeki her eleman tek tek tanımlanmalıdır.  Örnek olarak ogrenci adında bir structure oluşturup bu yapı içerisinde elemanlar tanımlayalım.

Structure ogrenci

        Dim ad As String

        Dim soyad As String

        Dim numara As Integer

        Dim sınıf As String

    End Structure

Yeni bir değişken tanımlayarak değişkenin tipini oluşturduğumuz ogrenci adlı structure tipinden verelim.

Dim ogrenciler As New ogrenci()

 

Daha sonra sıra ile structure içerisindeki elemanlara değer aktaralım.

Ogrenciler adlı structure türünden değişkenimizin elemanlarının listelendiğini görebiliriz.

Structure

Sonuç olarak kodumuz aşağıdaki gibi olacak:

Public Class Form1

    Structure ogrenci

        Dim ad As String

        Dim soyad As String

        Dim numara As Integer

        Dim sınıf As String

    End Structure

    Dim ogrenciler As New ogrenci()

    Private Sub btn_Listele_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_Listele.Click

        ListBox1.Items.Add(ogrenciler.ad)

        ListBox1.Items.Add(ogrenciler.soyad)

        ListBox1.Items.Add(ogrenciler.sınıf)

        ListBox1.Items.Add(ogrenciler.numara)

    End Sub

 

    Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

        ogrenciler.ad = "Talha Osman"

        ogrenciler.soyad = "AKTAŞ"

        ogrenciler.numara = 15

        ogrenciler.sınıf = "2-C"

    End Sub

End Class

 

Structure’ı bir diziye aktararak diziler üzerinde uyguladığımız işlemleri structure’a da uygulayabiliriz.

Public Class Form1

Structure ogrenci

    Dim ad As String

    Dim soyad As String

    Dim numara As Integer

    Dim sınıf As String

End Structure

    

Dim ogrenciler As ogrenci() = New ogrenci(2) {}

Dim i As Byte

   

Private Sub btn_Listele_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_Listele.Click

    For i = 0 To ogrenciler.Count - 1

        ListBox1.Items.Add(ogrenciler(i).ad)

        ListBox1.Items.Add(ogrenciler(i).soyad)

        ListBox1.Items.Add(ogrenciler(i).sınıf)

        ListBox1.Items.Add(ogrenciler(i).numara)

    Next i

End Sub

   

Private Sub btn_Ekle_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_Ekle.Click

   For i = 0 To 2

     ogrenciler(i).ad = InputBox(i & ". öğrencinin adını giriniz")

     ogrenciler(i).soyad = InputBox(i & ". öğrencinin soyadını giriniz")

     ogrenciler(i).numara = InputBox(i & ". öğrencinin numarasını giriniz")

     ogrenciler(i).sınıf = InputBox(i & ". öğrencinin sınıfını giriniz")

   Next i

End Sub

End Class

 

Kodumuzu çalıştırıp diziye ekle butonuna basarak dizimize 3 adet eleman ekleyerek listele butonuna basalım ve diziye eklediğimiz elemanları listbox içerisine aktaralım.

Ogrenci adlı yapımızı Ogrenciler adlı dizi değişkenine aktarmamız nedeni ile artık yapımızda diziye ait özellik ve metodları kullanabilmekteyiz. Örneğimizde dizi elemanlarına index numaralarını kullanarak erişmemiz ya da dizinin eleman sayısını bulmakta kullandığımız Count metodunda olduğu gibi.

StructureToArray

Structure İçinde Structure Tanımlamak

Bir structure içerisinde bir ya da birden fazla structure tanımlamak mümkündür.

Public Class Form1

    Structure ogrenci

        Dim adsoyad As String

        Dim numara As Integer

        Dim sınıf As String

        Structure veli_bilgi

            Dim adı As String

            Dim ev_telefonu As String

            Dim is_telefonu As String

            Dim cep_telefonu As String

        End Structure

    End Structure

    Dim ogrenciler As New ogrenci()

    Dim veli As New ogrenci.veli_bilgi()

   

    Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

        ogrenciler.adsoyad = "Talha Osman AKTAŞ"

        ogrenciler.numara = 15

        ogrenciler.sınıf = "2-C"

        veli.adı = "Volkan AKTAŞ"

        veli.ev_telefonu = "2251111"

        veli.is_telefonu = "4731111"

        veli.cep_telefonu = "5XX1111111"

    End Sub

 

    Private Sub btnListele_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnListele.Click

        ListBox1.Items.Add(ogrenciler.adsoyad)

        ListBox1.Items.Add(ogrenciler.sınıf)

        ListBox1.Items.Add(ogrenciler.numara)

        ListBox1.Items.Add(veli.ev_telefonu)

        ListBox1.Items.Add(veli.is_telefonu)

        ListBox1.Items.Add(veli.cep_telefonu)

    End Sub

End Class

 Örneğimizde ogrenci adlı yapı içerisinde veli_bilgi adlı başka bir yapı tanımladık. Oluşturduğumuz veli_bilgi adlı yapıyı    Dim veli As New ogrenci.veli_bilgi() şeklindeki tanımlama ile veli adlı değişkene aktardık. Daha sonra veli.adı, veli.ev_telefonu şeklinde bu yapının elemanlarına erişim sağladık. 

 
Etiketler : Değişkenler
Kategoriler : Genel
Yorumlar : 0 Yorum Yorum Yaz
Takvim
<September 2010>
SMTWTFS
2930311234
567891011
12131415161718
19202122232425
262728293012
3456789
Tag Bulutu
Arama
  Ara