21/3/2009

>> TRY-CATCH ile programın hata vermesini önlemek

Program yazarken çeşitli hataların ortaya çıkması kaçınılmaz bir durum.Herhangi bir şartta yada döngüde hata olduğunda programınız kıralabilir ve çalışmalar boşa gidebilir.Kendi programlarımızda belki düzenleme yapabiliriz fakat programı yapıp sattığımızda yada kullanıma verdiğimizde önemli hataların ortaya çıkması kullanıcıları sıkar ve rahatsız eder.Verilerin kaybolmasına vb. gibi ciddi sorunlarada yol açabilir.Program çalışma esnasında hata kodu verip programı durdurması yerine hata kodunu ayıklayıp atlaması mantıklı olsa gerek.İşte bu durumu TRY - CATCH komutu ile düzeltebilir veya kontrol altına alabiliriz.

Çalışma mantığı if-then-else gibidir.Nasıl

If TextBox1.Text < 0 Then
            MsgBox("girdiginiz sayi negatiftir")
Else
            MsgBox("girdiginiz sayi pozitiftir")
End If

şeklinde if şartını kullanıyorsak aynı şekilde TRY ve CATCH komutunuda kullanabiliriz.Kullanım şekli ise şu şekilde :

Try
            Dim s1,s2,sonuc As Byte
            s1 = TextBox1.Text
            s2 = TextBox2.Text
            sonuc = s1 + s2
            Label4.Text = z
Catch
            MsgBox("256 dan az degerleri toplayın..")
End Try

yani koddan da anlaşıldığı gibi değişkenler byte olduğu için kullanıcı 256 değerinden fazlasını toplamaya kalktığında hatayı vericek ve program kaldığı yerden devam edecek.Visual Basic ile basit şekilde TRY - Catch kullanımı bu şekilde. Kullanmakta herzaman için fazda var...

10/10/2008

>> Visual Basic ile Dosya Uzantılarını bulmak

Aşağıdaki fonksiyon bir dosyanın uzantısını döndürüyor.

Function GetExtension(Filename As String)

Dim PthPos, ExtPos As Integer

For i = Len(Filename) To 1 Step -1 ' Go from the Length of the filename, to the first character by 1.

If Mid(Filename, i, 1) = "." Then ' If the current position is '.' then...

ExtPos = i ' ...Change the ExtPos to the number.

For j = Len(Filename) To 1 Step -1 ' Do the Same...

If Mid(Filename, j, 1) = "" Then ' ...but for ''.

PthPos = j ' Change the PthPos to the number.

Exit For ' Since we found it, don't search any more.

End If

Next j

Exit For ' Since we found it, don't search any more.

End If

Next i

If PthPos > ExtPos Then

Exit Function ' No extension.

Else

If ExtPos = 0 Then Exit Function ' If there is not extension, then exit sub.

GetExtension = Mid(Filename, ExtPos + 1, Len(Filename) - ExtPos) 'Messagebox the Extension

End If

End Function

Fonksiyonu aşağıdaki gibi çağırabilirsiniz.

FileExt = GetExtension("c:windowsvbvb.exe")

<- Son Sayfa :: Sonraki Sayfa ->