Anasayfa > Kodlar > VB6 ile Adat hesaplama ve farklı bir val fonksiyonu

VB6 ile Adat hesaplama ve farklı bir val fonksiyonu


Ticari programlar geliştirenler bilirler risk hesaplamada bir ortalama vade hesabı vardır. Bunun için de kullanılan ADAT yöntemi. İşte bu fonksiyon bu işi yapmak için hazırlandı. Fonksiyonun içinde FVAL adında bir fonksiyon daha var. O da VAL benzeri bir dönüştürücü. Ama biraz daha farklı davranıyor. Örneğin:

FVAL("A1B2C3") ==> 123
FVAL("-150,500,250") ==> -150500250
FVAL("-A10-25B.50") ==> -1025.50

Gönderilen değer içindeki bütün sayısal ifadeleri dikkate alır.


Function FVal(NumberText As Variant) As Double
Dim N As Byte, NumberString As String
On Error GoTo ErrorFound
If NumberText = "" Then
FVal = 0
Exit Function
End If
NumberString = ""
For N = 1 To Len(NumberText)
If InStr("0123456789.", Mid(NumberText, N, 1)) > 0 Then
NumberString = NumberString + Mid(NumberText, N, 1)
End If
Next N
If InStr(NumberText, "-") > 0 Then
FVal = Val(NumberString) * -1
Else: FVal = Val(NumberString)
End If
Exit Function
ErrorFound:
FVal = 0
End Function

Adat fonksiyonun parametre anlamları:

Fname : Fonksiyonu çağırdığınız form.
Gname : Bu form içindeki Msflexgrid.
ColDate : Tarih bilgilerinin bulunduğu sütun no.
ColTotal : Tutar bilgisinin bulunduğu sütun no.

Fonksiyon size string tipinde fakat içinde Ortalama Vade nin bulunduğu bir tarih bilgisi döndürür.


Function Adat(Fname As Form, Gname As MSFlexGrid, ColDate As Byte, ColTotal As Byte) As String
Dim R As Long, SumAdat As Double, SumTotal As Double
With Fname
With Gname
SumAdat = 0
SumTotal = 0
For R = 1 To .Rows - 1
SumAdat = SumAdat + (CDate(.TextMatrix(R, ColDate)) - #2/12/1968#) * FVal(.TextMatrix(R, ColTotal))
SumTotal = SumTotal + FVal(.TextMatrix(R, ColTotal))
Next R
Adat = Format(#2/12/1968# + (SumAdat / SumTotal), "DD.MM.YYYY")
End With
End With
End Function

İyi çalışmalar.

Reklamlar
  1. Henüz yorum yapılmamış.
  1. No trackbacks yet.

Bir Yanıt Bırakın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Google+ fotoğrafı

Google+ hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Connecting to %s

%d blogcu bunu beğendi: