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
'******************************************************
'******************************************************
0 comments:
Post a Comment