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 : Asp.NET C# VB.Net
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 : Asp.NET C# Security VB.Net
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 VB.Net
Yorumlar : 2 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 : VB.Net 10, Kitap
Kategoriler : Duyurular VB.Net
Yorumlar : 4 Yorum Yorum Yaz

Visual studio içerisinde görsel ortamda win form uygulamaları vasıtası ile kod yazabileciğimiz gibi görsel özellikleri olmayan uygulamaları da konsol ekranında yazabiliriz.

Konsol ekranında kullanılan fonksiyonlar System.Console sınıfına ait olan fonksiyonlardır.

Konsol ekranında kod satırları

Module Module1

Sub Main()

‘Kod  satırları

End Sub

End Module

Blokları arasına yazılır.

 

VB.NET komut satırı derleyicisini kullanarak not defteri programı ile bile kod yazı bunları komut satırında derleyebilirsiniz. VB.NET komut satırı derleyicisi C:\Windows\Microsoft.NetFramework\ FrameworkSürümü\ klasörü altında  vbc.exe adı ile bulunmaktadır.

Örneğin;

Module Module1

     Sub Main()

                Console.Write("Konsol Uygulaması")

                console.readline 

     End Sub

End Module

Şeklindeki kodu not defterinde yazıp konsol.vb adı ile kaydedelim.

Başlat\Çalıştır\cmd ile komut satırını açıp  C:\Windows\Microsoft.Net\Framework\v4.0.20506\ şeklindeki klasör içerisinde geçiş yaptım. Bendeki framework süümü 4.0 olduğundan v4.0.2506 şeklinde klasör mevcut. Siz de bilgisayarınızda yüklü olan framework versiyonuna göre uygun klasörü seçebilirsiniz.

Komut satırında iken

vbc c:\konsol.vb

şeklinde yazmış olduğumuz ve C sürücüsünde mevcut bulunan konsol.vb. uygulamamızı derliyoruz. Eğer herhangi bir hata bulunmazsa aşağıda görüldüğü gibi kodumuz derlenir ve exe uzantılı hale getirilir.

Vbc

Kodumuzu çalıştırarak test ettiğimizde yazmış olduğumuz kod satırlarının hatasız biçimde çalıştığını görürüz:

Vbc Sonuç

VBC komut satırı derleyicisi ile birlikte aşağıdaki parametreleri de kullanabiliriz:

/out:  Varsayılan olarak derlenecek olan vb uzantılı dosyamızın ismi ile derleme sonucunda oluşan dosyamız aynı isimlere sahiptir. Eğer farklı isimde bir dosya oluşturulmak istenirse out parametresi kullanılmalıdır.

Örneğin;

vbc  /out:c:\ornek.exe c:\konsol.vb 

konsol.vb. dosyası ornek.exe adı ile derlenir.

 

/platform: Uygulamamızı farklı işletim sistemi platformları için kaydetmek amacı ile kullanılır.

Örneğin;

Vbc /platform:x64 c:\konsol.vb 

konsol.vb. dosyası konsol.exe adı ile 64 bit olarak derlenir.

 

/target: Derlenecek olan dosyanın kayıt biçimini belirler. Aşağıdaki değerlerle kullanılır;

                /target:exe : Konsol uygulamasında kullanılır.

                /target: library : Dll uygulamasında kullanılır.

                /target:winexe : Windows form uygulamasında kullanılır.    

Not: /target parametresi /t şeklinde de kullanılabilir.

Örneğin;

vbc /target:exe c:\konsol.vb

konsol.vb. dosyası konsol.exe adı ile derlenir.

 

/reference : Derlenecek dosya ile birlikte belirtilen dll dosyasının da exe dosyası içerisine eklenmesini sağlar. Eğer birden fazla dll dosyası eklenecekse aralarında “;” işareti kullanılarak eklenmelidir.

Not: /reference parametresi /r şeklinde de kullanılabilir.

vbc /r:System.Windows.Forms.dll c:\konsol+winform.vb

System.Windows.Forms.dll sınıfını uygulamamıza dahil ederek bu sınıfa ait olan mesaj penceresi nesnesini kullandık.

Uygulamamızın kodu aşağıdaki gibi olacak:

Imports System.Windows.Forms

Module Module1

     Sub Main()

                Console.Write("Konsol Uygulaması")

                MessageBox.Show("Volkan AKTAŞ")

                console.readline 

     End Sub

End Module

 

Derledikten sonra exe dosyasını çalıştırdığımızda aşağıdaki ekran görüntüsünü alırız:

Konsol Winform

Not: Birden fazla dll dosyasını eklemek için aralarında “,” işareti konularak yazılabilir.

vbc /r:System.Windows.Forms.dll,System.Management.dll c:\konsol+winform.vb

Eğer bir dll dosyasını birden fazla uygulamaya eklemek için uygulamaları aralarında boşluk bırakarak yazabiliriz.

vbc /r:System.Windows.Forms.dll c:\konsol+winform.vb c:\mesaj.vb

 

Etiketler : Konsol Vbc
Kategoriler : VB.Net
Yorumlar : 0 Yorum Yorum Yaz

DirectCast işlev olarak CType fonksiyonunda olduğu gibi dönüşüm işleminde kullanılır.  Ancak dönüşüm işlemi esnasında CType Visual Basic runtime helper rutinlerini kullanıp, DirectCast ise kullanmadığından dolayı, DirectCast Ctype fonksiyonuna göre daha hızlı çalışır. Yine CType fonksiyonunda olduğu gibi hata durumunda geriye InvalidCastException hatası döndürür. DirectCast fonksiyonu ile yapılan dönüştürme işleminde dönüştürme işlemi yapılacak olan verinin ilk tanımlandığı türün bilinmesi önemlidir. Çünkü dönüştürülecek olan verinin ilk tanımlandığı tür ile atanacağı verinin türü birbiri ile aynı olmalıdır. Aksi takdirde InvalidCastException hatası oluşacaktır. Genellikle object türünden diğer veri türlerine dönüşüm işlemlerinde kullanılır.

Örneğin;

Dim sayi As Integer = 123

 

Dim yazi1 As String = CType(sayi, String)

 

Dim yazi2 As String = DirectCast(sayi, String)

Şeklinde yazacağımız kod “Value of type 'Integer' cannot be converted to 'String'.” hatasını verecektir. Çünkü yazi2 değişkeni yazı olmasına rağmen bu değişkene aktarılan sayı değişkeninin ilk olarak tanımlandığı tip integer olduğu için hata meydana gelmektedir.

Dim nesne As Object = 123

 

Dim yazi3 As String = CType(nesne, String)

 

Dim yazi4 As String = DirectCast(nesne, String)

Şeklinde yazacağımız kod ise hata vermeden çalışacaktır.

 

TryCast ise işlev olarak DirectCast ile aynı yapıya sahiptir. Ancak oluşan bir hata durumunda geriye hata döndürmek yerine boş değer (nothing) döndürür.

Örnek olarak bir form üzerindeki kontrollere erişerek onların özelliklerini değiştirecek bir uygulama yapalım. Form üzerine yandaki resimde görüldüğü gibi 5 adet buton ve iki adet textbox nesnesi yerleştirelim.

TryCast Tasarım

Kodumuz şu şekilde olacak:

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

        Dim sayi As Byte

        For Each dugme As Control In Me.Controls

            Dim btn As Button = TryCast(dugme, Button)

            If btn Is Nothing Then

                dugme.BackColor = Color.SteelBlue

                dugme.Text = "deneme"

            Else

                btn.BackColor = Color.Aquamarine

                sayi = sayi + 1

                btn.Text = "Düğme" & sayi

            End If

        Next

End Sub

 Kodumuzu çalıştırdığımızda form üzerindeki butonların rengi değiştirilerek üzerlerine Düğme1..Düğme5 şeklinde yazılar yazılacak, textbox nesnelerinin de rengi değiştirilerek üzerlerine deneme şeklinde yazı yazılacak.

TryCast Sonuc

Kodumuzda TryCast fonksiyonu ile form üzerindeki kontrolleri button nesnesine dönüştürmeye çalıştık. Eğer TryCast fonksiyonu hata üretmiyorsa o nesnenin button nesnesi olduğuna karar vererek button dizaynı ile ilgili kodları çalıştırıyoruz. Eğer dönüşüm sırasında dönüştürülmek istenen nesne button nesnesi değilse geriye nothing değeri döndürecektir. Bu durumda textbox dizaynı ile ilgili kodları çalıştırıyoruz.

Etiketler : Değişkenler DirectCast TryCast
Kategoriler : VB.Net
Yorumlar : 0 Yorum Yorum Yaz

WPF teknolojisinde form biçim ve düzenlerini de değiştirmemiz mümkündür. Örneğin şekilli bir pencere yapalım.

Bunun için yapacağımız örnek için de Project menüsünden Add Window diyerek yeni pencere ekleyelim ve ana penceremiz içerisine bir buton ekleyerek şu kodu yazalım:

 

Class Window1

    Private Sub cmdyenipencere_Click(ByVal sender As System.Object, ByVal e As System.Windows.RoutedEventArgs) Handles cmdyenipencere.Click

        Dim yenipencere As New Window2

        yenipencere.Show()

    End Sub

End Class

 

Window2 seçili iken properties penceresinden şu değişiklikleri yapalım:

WindowsStyle özelliğini None yaparak pencere üzerindeki tam ekran yapma, ekranı kaplama ve simge durumuna küçültme düğmelerinin temizlenmesini sağlayalım.

AllowsTransparency özelliğini true yaparak penceremizin saydam hale gelmesini sağlayalım.

 

Daha sonra projemize formumuzun şeklini belirleyecek herhangi bir resim dosyasını Add>New Item seçenekleri ile ekleyerek projemize dâhil edelim.

Window2’nin XAML kod penceresine eklediğimiz resmin formun zemini hale gelmesini sağlamak için şu kodu ekleyelim:

<Window.Background>

        <ImageBrush ImageSource="10.png"></ImageBrush>

</Window.Background> 

 

Ayrıca Window2 üzerine de bir buton ekleyelim. Butonumuza basıldığında pencereyi kapatsın. Kodu şu şekilde olacak:

Private Sub cmdgeri_Click(ByVal sender As System.Object, ByVal e As System.Windows.RoutedEventArgs) Handles cmdgeri.Click

        Me.Close()

End Sub

 

Sonuç olarak Window2’nin tüm XAML kodu şu şekilde olacak:

 

<Window x:Class="Window2"

    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"

    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"

    Title="Window2" Height="300" Width="300" WindowStyle="None" AllowsTransparency="True">

    <Window.Background>

        <ImageBrush ImageSource="10.png"></ImageBrush>

    </Window.Background> 

    <Grid>

        <Button Margin="99,116,104,123" Name="cmdgeri" Background="Yellow">Geri</Button>

    </Grid>

</Window>

 

VB.NET kodu ise şu şekilde:

Partial Public Class Window2

 

    Private Sub cmdgeri_Click(ByVal sender As System.Object, ByVal e As System.Windows.RoutedEventArgs) Handles cmdgeri.Click

        Me.Close()

    End Sub

End Class

 

Projemizi çalıştırıp pencere1’den pencere2’yi çağırdığımızda pencere2’nin şu şekilde olduğunu görürüz:

WPF Form

Etiketler : VB.Net WPF
Kategoriler : VB.Net WPF/WCF
Yorumlar : 1 Yorum Yorum Yaz

Projemiz yüklenirken çalıştırmak istediğimiz bir kodu Application.xaml  dosyası içerisinde startup olayına yazarız. Bunun için StartupUri="Window1.xaml" içerisinde StartupUri="Window1.xaml" kodunu bulup bu kodun hemen arkasında iken boşluk tuşuna basalım.   Intellisense desteği sayesinde biz boşluk tuşuna basar basmaz koda ekleyebileceğimiz olaylar ve metodlar burada listelenecektir.

WPF Intellisense

Biz burada Startup olayını seçeceğiz. Startup olayını yazdığımızda event handler’in aktifleştiğini görürüz. Tab tuşuna basarak ya da fare ile event handler üzerine tıklayarak olay ile ilgili vb.net kodunun otomatik olarak yazılmasını sağlarız.

WPF Event Handler

Üstteki resimde görülen event handler üzerinde işlem yapıldıktan sonra Application.xaml.vb dosyası içerisine aşağıdaki kod otomatik olarak yazılacaktır.

Private Sub Application_Startup(ByVal sender As System.Object, ByVal e As System.Windows.StartupEventArgs)

 

End Sub

Biz örneğin startup olayında bir msgbox ile bir mesaj görüntületelim.

Class Application

    ' Application-level events, such as Startup, Exit, and DispatcherUnhandledException

    ' can be handled in this file.  

    Private Sub Application_Startup(ByVal sender As System.Object, ByVal e As System.Windows.StartupEventArgs)

        MsgBox("Güzel gören güzel düşünür. Güzel düşünen hayatından lezzet alır.")

    End Sub

End Class

 

Projemizi çalıştırdığımızda ilk olarak mesaj penceresi ile belirtilen mesaj ekrana gelecektir.

 

Proje sonlanırken bir kod çalıştırmak için ise Application. xaml dosyası içerisinde yukarıdaki işlemde yaptığımız startup olayını eklediğimiz kısma Exit="Application_Exit" olayını eklemeliyiz.

Çıkış için de bir mesaj penceresi görüntületelim:

 

Private Sub Application_Exit(ByVal sender As System.Object, ByVal e As System.Windows.ExitEventArgs)

        MsgBox("Hayırlı günler")

End Sub

 

Eğer işletim sistemi tarafından LogOff ,Windows Shutdown, Restart ve Hibernate  olaylarından biri gerçekleştirilirse SessionEnding metodu tetiklenir. Bu olayları Application nesnesinin SessionEnding metodu içerisinde kodlayabiliriz.

Uygulamamızı bilinçli olarak sonlandırmak için Application sınıfının Shutdown metodu kullanılabilir. Uygulamamızın içerisindeki ShutDown metodunun hangi durumlarda otomatik olarak çalışacağı ShutdownMode özelliği yardımıyla değiştirilebilir. ShutdownMode özelliği

-OnLastWindowClose

-OnMainWindowClose

-OnExplicitShutDown

şeklinde 3 değer alır.

-OnLastWindowClose: Eğer projemizde birden fazla pencere varsa son pencere kapatıldığında uygulama sonlanır.

-OnMainWindowClose: Ana pencere kapatıldığında uygulama sonlanır.

-OnExplicitShutDown: Uygulamanın kapatılması kullanıcıya bağlıdır.

 ReasonSessionEnding özelliği ise Logoff veya Shutdown değerlerini alır. SessionEndingEventArgs’ ın bir diğer özelliği olan Cancel özelliğine atanan değere göre de Shutdown veya Logoff’ dan vazgeçilmesi sağlanabilir.

 

Öncelikle Application.xaml dosyası içerisine SessionEnding="Application_SessionEnding" olayını ekleyelim.   

Application.xaml.vb dosyası içerisine ise şu kodu yazalım:

 

Private Sub Application_SessionEnding(ByVal sender As System.Object, ByVal e As System.Windows.SessionEndingCancelEventArgs)

        Dim soru As MessageBoxResult = MessageBox.Show("Bilgisayar " + e.ReasonSessionEnding.ToString() + " nedeniyle kapatılıyor. İptal etmek ister misiniz?", "Kapatma Sorusu", MessageBoxButton.YesNo, MessageBoxImage.Question)

        If soru = MessageBoxResult.No Then e.Cancel = True

End Sub

 Proje Dosyasının linki:

http://www.volkanaktas.com/PrgDosya/wpf/Wpf_formolayları.rar

Etiketler : WPF
Kategoriler : VB.Net WPF/WCF
Yorumlar : 0 Yorum Yorum Yaz

Yazı tipi ile ilgili özellikleri seçmek ve değiştirmek amaçlı kullanılır.

Bir text kutusu içerisindeki yazının fontunu değiştiren bir örnek yapalım.

Form üzerine bir adet buton, bir adet de textbox ekleyeceğiz.

Kodumuz aşağıdaki gibi olacak:

Public Class Form1

    Private Sub cmdYaziTipi_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdYaziTipi.Click

        If FontDialog1.ShowDialog() = DialogResult.OK Then

            TextBox1.Font = FontDialog1.Font

        End If

    End Sub

End Class

Kodumuzu çalıştıralım.  Textbox içerisine yazdığımız yazının ilk hali aşağıdaki gibidir;

Font Dialog Ornek

Yazı tipi özellikleri butonuna tıklayıp yazı tipi özelliklerini seçelim.

Font Dialog Pencere

Seçtiğimiz özelliklerin textbox içerisindeki yazıya uygulandığını görürüz.

Font Dialog Sonuc

 

Etiketler : VB.Net Dialog Pencereleri
Kategoriler : VB.Net
Yorumlar : 0 Yorum Yorum Yaz

Örneğimiz bir text kutusuna girilen yazıdaki kelime sayısını bulmaktadır.

Kodumuz aşağıdaki gibi olacak:

Public Class Form1

Dim i As Byte

 Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress

Dim bosluksay, i As Byte

For i = 1 To Len(TextBox1.Text)

If Mid(TextBox1.Text, i, 1) = Chr(32) Then bosluksay = bosluksay + 1

Next

If e.KeyChar = Chr(13) Then MsgBox("Cümlenin Kelime Sayısı= " & bosluksay + 1)

End Sub  

End Class

Kelime sayısını bulmak için önce boşluk sayısını bulmalıyız. Kelime sayısı boşluk sayısından bir fazladır. Boşluğun karakter kodu 32 dir. Yazı içerisinde bunu arıyoruz.

Arama için Mid fonksiyonundan yararlanıyoruz. Mid bir yazının içinde bir ya da birden fazla karakteri belirtilen konumdan itibaren arar. Kullanımı şu şekildedir:

Mid(Arama yapılacak metin,başlangıç,uzunluk)

Örneğimizde text kutusu içinde enter tuşuna basılınca kelime sayısı yazılmaktadır. Enter'ın karakter kodu 13'dür.

 

Etiketler : VB.Net String İşlemleri
Kategoriler : VB.Net
Yorumlar : 3 Yorum Yorum Yaz
Arama
  Ara
Takvim
<September 2010>
SMTWTFS
2930311234
567891011
12131415161718
19202122232425
262728293012
3456789
Tag Bulutu