' Visual Basic 2008 9.0 .NET Examples - Introduction to Functions - Procedures and Functions : Module Example1 Sub Main() Dim value1 As Integer = 5 Dim value2 As Integer = 10 Dim sum As Integer ' MakeSum(value1, value2, sum) Console.WriteLine(sum) ' Console.ReadLine() End Sub Sub MakeSum(ByVal value1 As Integer, ByVal value2 As Integer, _ ByRef sum As Integer) sum = value1 + value2 End Sub End Module Module Example2 Sub Main() Dim value1 As Integer = 5 Dim value2 As Integer = 10 ' Dim sum As Integer = GetSum(value1, value2) Console.WriteLine(sum) ' Console.ReadLine() End Sub Function GetSum(ByVal value1 As Integer, _ ByVal value2 As Integer) As Integer Return (value1 + value2) End Function End Module Module Example3 Sub Main() Console.WriteLine(Test1()) Console.WriteLine(Test2()) ' Console.ReadLine() End Sub Function Test1() As String Console.WriteLine("Test1 : code before Return statement") Return "Test1" Console.WriteLine("Test1 : code after Return statement") ' (1) End Function Function Test2() As String Console.WriteLine("Test2 : code before assigning return value") Test2 = "Test2" Console.WriteLine("Test2 : code after assigning return value") End Function End Module Module Example4 Sub Main() For value As Integer = -1 To 1 Console.WriteLine("Value " & value & " : ") Console.WriteLine(GetInfo1(value)) Console.WriteLine(GetInfo2(value)) Console.WriteLine(GetInfo3(value)) Console.WriteLine() Next ' Console.ReadLine() End Sub Function GetInfo1(ByVal value As Integer) As String Select Case value Case Is = 0 Return "Value is zero." Case Is > 0 Return "Value is positive." Case Is < 0 Return "Value is negative." End Select End Function Function GetInfo2(ByVal value As Integer) As String Dim info2 As String Select Case value Case Is = 0 info2 = "Value is zero." Case Is > 0 info2 = "Value is positive." Case Is < 0 info2 = "Value is negative." End Select Return info2 End Function Function GetInfo3(ByVal value As Integer) As String Select Case value Case Is = 0 GetInfo3 = "Value is zero." Case Is > 0 GetInfo3 = "Value is positive." Case Is < 0 GetInfo3 = "Value is negative." End Select 'Return GetInfo3 ' (1) End Function End Module Module Example5 Sub Main() Dim dividend As Integer = 24 Dim divisor As Integer = 6 Dim quotient As Single ' If Not IsZero(divisor) Then quotient = GetQuotient(dividend, divisor) ' Console.WriteLine(quotient) ' Console.ReadLine() End Sub Function IsZero(ByVal value As Integer) As Boolean If value = 0 Then IsZero = True End Function Function GetQuotient(ByVal dividend As Integer, _ ByVal divisor As Integer) As Double GetQuotient = dividend / divisor End Function End Module Module Exercise1Solution Sub Main() Console.WriteLine(GetResult(5, "+"c, 4)) Console.WriteLine(GetResult(5, "-"c, 4)) Console.WriteLine(GetResult(5, "*"c, 4)) ' Console.ReadLine() End Sub Function GetResult(ByVal value1 As Integer, _ ByVal operatorSymbol As Char, _ ByVal value2 As Integer) As Integer Select Case operatorSymbol Case "+"c GetResult = value1 + value2 Case "-"c GetResult = value1 - value2 Case "*"c GetResult = value1 * value2 End Select End Function End Module Module Exercise2Solution Sub Main() Console.WriteLine(IsLeapYear(1900)) Console.WriteLine(IsLeapYear(1996)) Console.WriteLine(IsLeapYear(2000)) Console.WriteLine() Console.WriteLine(GetDaysFebruary(1900)) Console.WriteLine(GetDaysFebruary(1996)) Console.WriteLine(GetDaysFebruary(2000)) Console.WriteLine() Console.WriteLine(GetDays(1900, 2)) Console.WriteLine(GetDays(1996, 2)) Console.WriteLine(GetDays(2000, 2)) Console.WriteLine() Console.WriteLine(GetDays(1900, 3)) Console.WriteLine(GetDays(1996, 3)) Console.WriteLine(GetDays(2000, 3)) ' Console.ReadLine() End Sub Function IsLeapYear(ByVal year As Integer) As Boolean If year Mod 4 = 0 AndAlso year Mod 100 <> 0 OrElse _ year Mod 400 = 0 Then IsLeapYear = True End Function Function GetDaysFebruary(ByVal year As Integer) As Integer GetDaysFebruary = 28 If IsLeapYear(year) Then GetDaysFebruary = 29 End Function Function GetDays(ByVal year As Integer, ByVal month As Integer) As Integer If month = 2 Then GetDays = GetDaysFebruary(year) Else Dim days As Integer() = _ {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31} GetDays = days(month - 1) End If End Function End Module ' Visit www.studyvb.com for more examples. Copyright 2003-2008 De Wolf.