Pages

Blogger Themes

QTP - ARRAY LIBRARY FUNCTIONS

"
QTP & ARRAY LIBRARY FUNCTIONS


'*******************************************************
'*********** ARRAY RELATED LIBRARY FUNCTIONS ***********'
'*******************************************************
Print "========================================="
Print "========================================="

Dim ArrayToSort(4)
ArrayToSort(0)="1234"
ArrayToSort(1) ="4567"
ArrayToSort(2)="3"
ArrayToSort(3)="1"
ArrayToSort(4)="55"

Print "========================================="
Print "Before Sorting out --> Array Values are     : "
Print "========================================="

For k=0 to UBound(ArrayToSort)
Print  ArrayToSort(k)
Next

Print "========================================="
Print " Sort Order Function Called to sort Array Values    : "
Print " Sort Order Mode is            : dsc (DSCENDING order)"
Print "========================================="
Call SortODArray(ArrayToSort,"dsc")

Print "========================================="
Print "After Sorting out --> Array Values are        : "
Print "========================================="

For k=0 to UBound(ArrayToSort)
Print  ArrayToSort(k)
Next


'********************************************************
' Author    : G A Reddy
' Function  : SortODArray
'               To sort One Dimensional Array in ascending OR dscending order
' PARAMETERS : ArrayToSort (Array to be passed)
'                      SortMode asc (ASCENDING) OR des(FOR DESCENDING)
'********************************************************

Function SortODArray(ArrayToSort,SortMode)
  On Error Resume Next         ' Error Handling
  
    Dim iResult, i,j
    Dim iUbound
    Dim sTemp
                Dim  SortedArray()
  
    SortMode = UCase(SortMode)

    iUbound = UBound(ArrayToSort)
    Redim SortedArray(iUbound)

    For i = 0 To iUbound - 1
        For j = 0 To (iUbound - i-1)
          If Instr(SortMode, "ASC") > 0 then
            If CompareArrayValues(ArrayToSort(j + 1), ArrayToSort(j)) < 0 Then
                    sTemp = ArrayToSort(j)
                    ArrayToSort(j) = ArrayToSort(j + 1)
                    ArrayToSort(j + 1) = sTemp
                End If
            Else
            If CompareArrayValues(ArrayToSort(j + 1), ArrayToSort(j)) > 0 Then
                    sTemp = ArrayToSort(j)
                    ArrayToSort(j) = ArrayToSort(j + 1)
                    ArrayToSort(j + 1) = sTemp
                End If
            End If
        Next
    Next
 
                SortODArray = ArrayToSort   ' ArrayToSort - Values are sorted now "

                 If Err.Number > 0 then
                                 msgbox CStr(err.number) & " " &  Err.Description
     End If

End Function
'******************************************************
'******************************************************
' Author      :  G A Reddy
' Function   :  CompareArrayValues
' Note : Array can have DATA TYPES - DATE, NUMERIC OR TEXT/STRING
'          So we find out data type in array and compare values to sortout
' Return Values :   Returns "-1" if val1 < val2, returns "1" if val1 > val2
'                         RETURN "0" if val1 = val2
'********************************************************

Function CompareArrayValues(Val1, Val2)
   On Error Resume Next
  
    Dim FVal,SVal, RVal
    ' FVal= First Value ; SVal=Second Value ; RVal = Return Value
               
    if (isNumeric(Trim(Val1)) AND isNumeric(Trim(Val2))) then
        FVal = CDbl(Trim(Val1))
        SVal = CDbl(Trim(Val2))
    else
        if (isDate(Trim(Val1)) AND isDate(Trim(Val2))) then
            FVal = CDate(Trim(Val1))
            SVal = CDate(Trim(Val2))
        else
            FVal =  Trim(CSTR(Val1))
            SVal = Trim(CSTR(Val2))
        end if
    end if
   
    RVal=0
        If FVal < SVal then
            RVal = -1
        else
            if FVal > SVal then
                RVal = 1
            end if
        end if
CompareArrayValues = RVal

                  If Err.Number > 0 then
                                Msgbox CStr(err.number) & " " &  Err.Description
      End If

End Function


'******************************************************
'******************************************************
' Examples:



"

QTP & ARRAY LIBRARY FUNCTIONS


'*******************************************************
'*********** ARRAY RELATED LIBRARY FUNCTIONS ***********'
'*******************************************************
Print "========================================="
Print "========================================="

Dim ArrayToSort(4)
ArrayToSort(0)="1234"
ArrayToSort(1) ="4567"
ArrayToSort(2)="3"
ArrayToSort(3)="1"
ArrayToSort(4)="55"

Print "========================================="
Print "Before Sorting out --> Array Values are     : "
Print "========================================="

For k=0 to UBound(ArrayToSort)
Print  ArrayToSort(k)
Next

Print "========================================="
Print " Sort Order Function Called to sort Array Values    : "
Print " Sort Order Mode is            : dsc (DSCENDING order)"
Print "========================================="
Call SortODArray(ArrayToSort,"dsc")

Print "========================================="
Print "After Sorting out --> Array Values are        : "
Print "========================================="

For k=0 to UBound(ArrayToSort)
Print  ArrayToSort(k)
Next


'********************************************************
' Author    : G A Reddy
' Function  : SortODArray
'               To sort One Dimensional Array in ascending OR dscending order
' PARAMETERS : ArrayToSort (Array to be passed)
'                      SortMode asc (ASCENDING) OR des(FOR DESCENDING)
'********************************************************

Function SortODArray(ArrayToSort,SortMode)
  On Error Resume Next         ' Error Handling
  
    Dim iResult, i,j
    Dim iUbound
    Dim sTemp
                Dim  SortedArray()
  
    SortMode = UCase(SortMode)

    iUbound = UBound(ArrayToSort)
    Redim SortedArray(iUbound)

    For i = 0 To iUbound - 1
        For j = 0 To (iUbound - i-1)
          If Instr(SortMode, "ASC") > 0 then
            If CompareArrayValues(ArrayToSort(j + 1), ArrayToSort(j)) < 0 Then
                    sTemp = ArrayToSort(j)
                    ArrayToSort(j) = ArrayToSort(j + 1)
                    ArrayToSort(j + 1) = sTemp
                End If
            Else
            If CompareArrayValues(ArrayToSort(j + 1), ArrayToSort(j)) > 0 Then
                    sTemp = ArrayToSort(j)
                    ArrayToSort(j) = ArrayToSort(j + 1)
                    ArrayToSort(j + 1) = sTemp
                End If
            End If
        Next
    Next
 
                SortODArray = ArrayToSort   ' ArrayToSort - Values are sorted now "

                 If Err.Number > 0 then
                                 msgbox CStr(err.number) & " " &  Err.Description
     End If

End Function
'******************************************************
'******************************************************
' Author      :  G A Reddy
' Function   :  CompareArrayValues
' Note : Array can have DATA TYPES - DATE, NUMERIC OR TEXT/STRING
'          So we find out data type in array and compare values to sortout
' Return Values :   Returns "-1" if val1 < val2, returns "1" if val1 > val2
'                         RETURN "0" if val1 = val2
'********************************************************

Function CompareArrayValues(Val1, Val2)
   On Error Resume Next
  
    Dim FVal,SVal, RVal
    ' FVal= First Value ; SVal=Second Value ; RVal = Return Value
               
    if (isNumeric(Trim(Val1)) AND isNumeric(Trim(Val2))) then
        FVal = CDbl(Trim(Val1))
        SVal = CDbl(Trim(Val2))
    else
        if (isDate(Trim(Val1)) AND isDate(Trim(Val2))) then
            FVal = CDate(Trim(Val1))
            SVal = CDate(Trim(Val2))
        else
            FVal =  Trim(CSTR(Val1))
            SVal = Trim(CSTR(Val2))
        end if
    end if
   
    RVal=0
        If FVal < SVal then
            RVal = -1
        else
            if FVal > SVal then
                RVal = 1
            end if
        end if
CompareArrayValues = RVal

                  If Err.Number > 0 then
                                Msgbox CStr(err.number) & " " &  Err.Description
      End If

End Function


'******************************************************
'******************************************************
' Examples:



0 comments:

Post a Comment

Monday

QTP - ARRAY LIBRARY FUNCTIONS


QTP & ARRAY LIBRARY FUNCTIONS


'*******************************************************
'*********** ARRAY RELATED LIBRARY FUNCTIONS ***********'
'*******************************************************
Print "========================================="
Print "========================================="

Dim ArrayToSort(4)
ArrayToSort(0)="1234"
ArrayToSort(1) ="4567"
ArrayToSort(2)="3"
ArrayToSort(3)="1"
ArrayToSort(4)="55"

Print "========================================="
Print "Before Sorting out --> Array Values are     : "
Print "========================================="

For k=0 to UBound(ArrayToSort)
Print  ArrayToSort(k)
Next

Print "========================================="
Print " Sort Order Function Called to sort Array Values    : "
Print " Sort Order Mode is            : dsc (DSCENDING order)"
Print "========================================="
Call SortODArray(ArrayToSort,"dsc")

Print "========================================="
Print "After Sorting out --> Array Values are        : "
Print "========================================="

For k=0 to UBound(ArrayToSort)
Print  ArrayToSort(k)
Next


'********************************************************
' Author    : G A Reddy
' Function  : SortODArray
'               To sort One Dimensional Array in ascending OR dscending order
' PARAMETERS : ArrayToSort (Array to be passed)
'                      SortMode asc (ASCENDING) OR des(FOR DESCENDING)
'********************************************************

Function SortODArray(ArrayToSort,SortMode)
  On Error Resume Next         ' Error Handling
  
    Dim iResult, i,j
    Dim iUbound
    Dim sTemp
                Dim  SortedArray()
  
    SortMode = UCase(SortMode)

    iUbound = UBound(ArrayToSort)
    Redim SortedArray(iUbound)

    For i = 0 To iUbound - 1
        For j = 0 To (iUbound - i-1)
          If Instr(SortMode, "ASC") > 0 then
            If CompareArrayValues(ArrayToSort(j + 1), ArrayToSort(j)) < 0 Then
                    sTemp = ArrayToSort(j)
                    ArrayToSort(j) = ArrayToSort(j + 1)
                    ArrayToSort(j + 1) = sTemp
                End If
            Else
            If CompareArrayValues(ArrayToSort(j + 1), ArrayToSort(j)) > 0 Then
                    sTemp = ArrayToSort(j)
                    ArrayToSort(j) = ArrayToSort(j + 1)
                    ArrayToSort(j + 1) = sTemp
                End If
            End If
        Next
    Next
 
                SortODArray = ArrayToSort   ' ArrayToSort - Values are sorted now "

                 If Err.Number > 0 then
                                 msgbox CStr(err.number) & " " &  Err.Description
     End If

End Function
'******************************************************
'******************************************************
' Author      :  G A Reddy
' Function   :  CompareArrayValues
' Note : Array can have DATA TYPES - DATE, NUMERIC OR TEXT/STRING
'          So we find out data type in array and compare values to sortout
' Return Values :   Returns "-1" if val1 < val2, returns "1" if val1 > val2
'                         RETURN "0" if val1 = val2
'********************************************************

Function CompareArrayValues(Val1, Val2)
   On Error Resume Next
  
    Dim FVal,SVal, RVal
    ' FVal= First Value ; SVal=Second Value ; RVal = Return Value
               
    if (isNumeric(Trim(Val1)) AND isNumeric(Trim(Val2))) then
        FVal = CDbl(Trim(Val1))
        SVal = CDbl(Trim(Val2))
    else
        if (isDate(Trim(Val1)) AND isDate(Trim(Val2))) then
            FVal = CDate(Trim(Val1))
            SVal = CDate(Trim(Val2))
        else
            FVal =  Trim(CSTR(Val1))
            SVal = Trim(CSTR(Val2))
        end if
    end if
   
    RVal=0
        If FVal < SVal then
            RVal = -1
        else
            if FVal > SVal then
                RVal = 1
            end if
        end if
CompareArrayValues = RVal

                  If Err.Number > 0 then
                                Msgbox CStr(err.number) & " " &  Err.Description
      End If

End Function


'******************************************************
'******************************************************
' Examples:



No comments:

Post a Comment