Kadir's profileKadir CamogluBlogLists Tools Help

Blog


    Visual Studio 2005 Team System Kitapları

    Microsoft'un sitesinden Visual Studio 2005 Team System  kitap listesi:
     

    .Net Base Class Library / Temel Sınıf Kitaplığı

    .Net ile uygulama geliştireceksiniz öğrenmeniz gereken ilk şey BCL (Base Class Library) yani Temel Sınıf Kitaplığı'dır. İster Windows uygulamaları geliştirin ister web mutlaka BCL nesnelerine ihtiyaç duyarsınız. Bloglarımda da ağırlıklı olarak BCL konularına yer verdiğimi fark etmişsinizdir.
     
    Bu kadar önemli olan bu BCL nin bir kurumsal sitesi var. Kitaplığı yazan ekibi tanıtan bir web sayfasının da bulunduğu "Base Class Libraries Community" sitesinin linki: http://msdn2.microsoft.com/en-us/netframework/aa569603.aspx
     

    SQL Server 2005 SP2

    SQL Server 2005 SP2 yayınlandı. Windows Vista ve Ofis 2007 ürünleriyle entegre çalışmayı destekleyen eklentiler, performans ve bakım tarafındaki iyileştirmelerle veritabanı işlemlerinizda daha üretken olmanızı sağlayacaktır.
    Aşağıdaki linkten sizin için uygun olanı indirin ve SQL Server 2005'in yeniliklerinin keyfini çıkarın.
     
     

    Hard Diskin Seri Numarası Nasıl Bulunur?

    Bu aralar bana sıkça sorulan sorulardan biri de sabit disk seri numarasının nasıl bulunabileceği. Bu konuyla ilgili olarak aşağıdaki kodu kullanablirisiniz, ancak kod ve kodun içindekiler size ilginç gelebilir. Biz buna WMI programlama diyoruz. Yakın zamanda WMI programlama hakkında açıklama da yazacağım. Şimdilik kodu olduğu gibi kabul edin ve kullanın.
     
    Kodu yazmadan önce Menüden Project\Add Reference öğesine tıklayın ve .NET sekmesinden System.Management assembly sini uygulamanıza ekleyin.
     
    Uygulamanıza System.Management isim alanını import etmeyi unutmayın.
     

    Dim mos As New ManagementObjectSearcher("SELECT * FROM Win32_LogicalDisk")

    Dim mo As ManagementObject

    For Each mo In mos.Get()

    Console.WriteLine(

    "Name=" & mo("Name"))

    Console.WriteLine(

    "VolumeSerialNumber=" & mo("VolumeSerialNumber"))

    Console.WriteLine()

    Next mo

     

    Eğer istediğiniz sadece C: sürücüsü için seri numarayı almaksa sorguyu aşağıdaki gibi değiştirmeniz yeterli olacaktır.

    Dim mos As New ManagementObjectSearcher("SELECT * FROM Win32_LogicalDisk WHERE Name='C:'")

    Uygulamanın çalışmasını yavaşlatmak:Thread.Sleep

    Uygulamada herhangi bir nedenle, algoritmanızın çalışmasını yavaşlatmak istiyorsanız kullanabileceğiniz en pıratik yöntem uygulamanın aktif olarak üzerined çalıştığı Thread'i belirli bir süre için dondurmaktır. Bunun için de Thread.Sleep() metodu kullanılır. Aşağıdaki kod, her bir döngü adımında, ekrana sayıyı yazdıktan sonra uygulamayı bir saniye bekletecektir. 1000 değeri milisaniye cinsindendir ve bir saniyeye eşittir. Değeri artırarark uygulamanın daha fazla beklemesini sağlayabilirsiniz.

    For i As Integer = 0 To 10
       Console.WriteLine(i)
       System.Threading.Thread.Sleep(1000)
    Next

    Klasör işlemleri (Directory\Folder)

    'Yeni bir klasör oluşturmak için;
    Directory.CreateDirectory("C:\Yeni Klasör")
    'Mevcut bir klasörü içindeki dosya ve klasörlerle silmek için;
    Directory.Delete("C:\Yeni Klasör", True)
    'Mevcut bir klasörü içi boşsa silmek için;
    Directory.Delete("C:\Yeni Klasör", False)
     
    'Bilgisayarda bir klasörün olup olmadığını öğrenmek için;
    IF Directory.Exists("C:\Yeni Klasör") THEN
     
    'Mevcut bir klasörü başka bir yere taşımak için;

    Directory.Move("C:\Yeni Klasör", "D:\Yeni Klasör")

     System.IO isim alanını uygulamanıza (Imports) eklemeyi unutmayın.

     

     

    Bilgisayarınızdaki sürücüler (C:\, D:\) hakkında bilgi almak.

    Öncelikle uygulamanıza System.IO isim alanını dahil edin. Sonra da aşağıdaki kodu çalıştırın. Kod size harddisk, cdrom ya da diğer bilgisayar aygıtları hakkında, boş alan, isim, aygıt tipi, formatı gibi konularda bilgi verecektir.

    Dim di As New DriveInfo("E")
    Console.WriteLine(
    "Name: {0}", di.Name)
    Console.WriteLine(
    "IsReady: {0}", di.IsReady)
    If di.IsReady Then
       Console.WriteLine("VolumeLabel: {0}", di.VolumeLabel)
       Console.WriteLine(
    "DriveType: {0}", di.DriveType)
       Console.WriteLine(
    "DriveFormat: {0}", di.DriveFormat)
       Console.WriteLine("TotalSize: {0}", di.TotalSize)
       Console.WriteLine(
    "TotalFreeSpace: {0}", di.TotalFreeSpace)
       Console.WriteLine(
    "AvailableFreeSpace: {0}", di.AvailableFreeSpace)
    End If

    Visual Basic ile Dosya Silmek

    Bilgisayarınızda bulunan bir dosyayı uygulama içerisinden silmek istiyorsanız System.IO isimalanı içerisindeti File sınıfının statik metodlarından biri olan Delete'i kullanıbilirsiniz.
    System.IO.File.Delete("C:\Test.txt")

    Visual Basic 2005 ile Dosya Kopyalamak

    Programınızın bir dosyayı bir yerden kopyalayarak aynı ya da farklı bir dosya adıyla, farklı bir yere kaydetmesini istiyorsanız aşağıdaki kodu kullanabilirsiniz.

    System.IO.File.Copy("C:\Test.txt", "D:\Test.txt", True)

    Burada birinci parametre  "C:\Test.txt" kaynak yani kopyalanacak dosyanın adıdır. İkinci parametre "D:\Test.txt" ise dosyanın hangi isimle nereye kaydedileceğinin belirtir.

    Üçüncü parametreye gelince. Eğer kopyalama işlemi yapıldığında, hedef kılasörde "Test.txt" adında bir dosya varsa ne olacak?

    Eğer siz durumdan eminseniz ve her halükarda üzerine yazılsın istiyorsanız bu parametreye True değerini verin. Yok eğer aynı isimde bir dosya varsa üstüne yazmasın diyorsanız False verin.

    Click for English

    Windows Vista

    Windows Vista ile tanışmak için en iyi başlangıç noktalarından biri, Cenk Tarhan'ın Vista kitabı. İlk ve bildiğim kadarıyla halen tek Vista kitabını Pusula yayınladı. www.kitapyum.com dan en uygun fiyata temin edebilirsiniz.
     

    Bir Dosyanın Varlığını (Olup/Olmadığını) Kontrol Etmek

    Dosyalarla işlem yaparken ilk dikkat etmeniz gereken şey, dosyaların var olup olmadığıdır. Runtime Error dediğimiz çalışma zamanında kullanıcı ya da sistemden kaynaklanan hatalardan biri olan dosyanın bulunamaması durumunu kontrol edebilmek için aşağıdaki kodu kullanabilirsiniz.

    If System.IO.File.Exists("C:\Test.txt") Then

     Click for English

    Şeffaf Windows Formlar

    Bir Windows Form'un şeffaf olarak görünmesini istiyorsanız, Opacity özelliğini kullanın. Normalde Opacity özelliğinin değeri 1 (100%) dir. Bu değeri düşürerek, saydam formlar geliştirmeniz mümkündür. Örnek olarak formun Load olay yordamına aşağıdaki kodu yazıp, formu çalıştırın.
     
    Me.Opacity=0.5

    Resim Biçimi Alan Formlar

    Beş adımda, elinizdeki görselin şeklinde Windows Form uygulaması geliştirmek istermisiniz. Görselinizin arka planının şeffaf olmasına dikkat edin ve aşağıdaki adımları uygulayın.
     
    1. Formun BackgroundImage özelliğine seçtiğiniz resmi atayın.
    2. BackgroundImageLayout özelliğini None yapalım.
    3. Formun BackColor özelliğine Red değerini atayın.
    4. Formun FormBorderStyle özelliğine None atayın.
    5. Formun TarnsparencyKey özelliğine Red değerini atayın.
     
    İşte hepsi bu kadar.
     

    Kullanıcı formu kapatmak istediğinde onay istemek!

    Kullanıcı uygulamamızı kullanırken, bir formu kapatmak istiyor...
    Ve biz de kullanıcı formun [X] butonuna bastığında, kullanıcının formu kapatmak istediğinden emin olup olmadığını sormak istiyoruz...
     
    Bunun için Form'un FormClosing olay yordamının kullanmamız gerekir. Olay yordamında FormClosingEventArgs - "e" ile gelen Cancel özelliğine True değerini verdiğimizde, formun kapatılma işlemi iptal edilecektir.
     

    Private Sub Form1_FormClosing(ByVal sender As System.Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles MyBase.FormClosing

    Dim msg As String

    msg = "Kapatmak istedi§inize emin misiniz?"

    Dim res As DialogResult

    res = MessageBox.Show(msg, "Onay!", MessageBoxButtons.YesNo, MessageBoxIcon.Question)

    If res = Windows.Forms.DialogResult.No Then

    e.Cancel = True

    End If

    End Sub

    Click for English

    Connection Strings

    Eğer uygulamalarınızda sql server haricinde başka ortamlardan da veri çekmek zorunda kalıyorsanız (excel, exchange, paradox,filemaker), hangi "connection string" leri kullanacağınızla ilgili aşağıdaki link size epeyce yardımcı olacaktır.
     
     

    Bir Metni Tersine Çevirmek

    Elinizde bir metin değişken var ve değeri de "0123456789" ve siz bunun tersini bulmak istiyorsunuz; "9876543210". Bir sayıyı ya da metni tersine çevirmek istiyorsanız aşağıdaki kodu kullanıbilirsiniz.

    Dim metin1 As String
    metin1 = "0123456789"

    Dim
    karakterler() As Char
    karakterler = metin1.ToCharArray
    Array.Reverse(karakterler)

    Dim metin2 As New String(karakterler)
    Console.WriteLine(metin2

    Click for English.

    String Boş Metin Kontrolü

    Metinlerle işlem yaparken bir String değişkenin boş olup olmadığını normalde ="" ile sınarız.

    If s = "" Then

    Aynı işi 3 kat daha hızlı yapmak istiyorsanız aşağıdaki kodu kullanın.

    If

    s.Length = 0 Then

    Eğer kontrol edeceğiniz string değişkenin boşluk içerme olasılığı varsa, ek olarak bu boşlukları silmek gerekecektir.

    if

    s.Trim.Length=0 Then

    Ve son olarak, bir metni tek bir deyimle hem NULL hem de boş mu diye kontrol etmek için aşağıdaki kodu kullanabilirsiniz:

    If

    String.IsNullOrEmpty(s.Trim) Then