Hi Suhail,
Below is the complete code and also attached are actual script and screenshots for the same. You need to copy the function RegExMatchandReplace in the script or you can also use it as function library.
The code is menu based and will give you following as per your choice
1. Lowest Flight Price & Flight Number
2. Highest Flight Price & Flight Number
3. All Flight Prices & Flight Numbers
Please let me know if you need any further clarifications.
'Opening Flight Reservation Application
SystemUtil.Run "C:\Program Files\HP\QuickTest Professional\samples\flight\app\flight4a.exe","","C:\Program Files\HP\QuickTest Professional\samples\flight\app\","open"
'------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
'Logging-in To Application
Dialog("Login").WinEdit("Agent Name:").Set "jojo"
Dialog("Login").WinEdit("Agent Name:").Type micTab
Dialog("Login").WinEdit("Password:").SetSecure "4e8c90421854413368e315abb05e340ddfc4f975"
Dialog("Login").WinEdit("Password:").Type micReturn
Window("Flight Reservation").Activate
'------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
'Entering Flight Details
Window("Flight Reservation").ActiveX("MaskEdBox").Type "101114"
Window("Flight Reservation").WinComboBox("Fly From:").Select "Denver"
Window("Flight Reservation").WinComboBox("Fly To:").Select "Portland"
Window("Flight Reservation").WinButton("FLIGHT").Click
'------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
'Retrieving All the Available Flights
str_FlightsList = Window("Flight Reservation").Dialog("Flights Table").WinList("From").GetROProperty("all items")
arr_FlightsPriceList = Split(str_FlightsList,"$")
'------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
'Initializing Array Size Variable
int_size = 0
'Removing Unwanted WhiteSpaces/Tabs/CarriageReturn etc from the list
str_FlightsList = RegExMatchandReplace(str_FlightsList,"[ \t\r\n\s]"," ",True)
'------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
'Declaring Arrays to store all the Flight Price and Flight Numbers
Dim arr_FlightNum(),arr_FlightPrice()
'------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
For int_Flight_List = 1 To UBound(arr_FlightsPriceList)
'Resizing Arrays
ReDim Preserve arr_FlightNum(int_size)
ReDim Preserve arr_FlightPrice(int_size)
arr_TempList = Split(arr_FlightsPriceList(int_Flight_List),Space(1))
If int_Flight_List = UBound(arr_FlightsPriceList) Then
int_Price_Final = arr_TempList(0)
Else
'Removing Unwanted WhiteSpaces/Tabs/CarriageReturn etc from the list
int_Price_With_Spaces = RegExMatchandReplace(arr_TempList(0),"[ \t\r\n\s]"," ",True)
int_Price_Final = Split(int_Price_With_Spaces," ")(0)
End If
If int_Flight_List = 1 Then
int_Flight_Num = Trim(Split(arr_FlightsPriceList(int_size)," ")(0))
arr_FlightNum(int_size) = int_Flight_Num
arr_FlightPrice(int_size) = int_Price_Final
Else
'Removing Unwanted WhiteSpaces/Tabs/CarriageReturn etc from the list
int_Flight_Num_With_Spaces = RegExMatchandReplace(Trim(Split(arr_FlightsPriceList(int_size)," ")(0)),"[ \t\r\n\s]"," ",True)
int_Flight_Num_Final = Split(int_Flight_Num_With_Spaces," ")(1)
arr_FlightNum(int_size) = int_Flight_Num_Final
arr_FlightPrice(int_size) = int_Price_Final
End If
int_size = int_size + 1
Next
'Sorting the FlightNumber & FlightPrice Arrays
For int_Array_Index1 = 0 To UBound(arr_FlightPrice) - 1
For int_Array_Index2 = int_Array_Index1 + 1 To UBound(arr_FlightPrice)
If arr_FlightPrice(int_Array_Index1) > arr_FlightPrice(int_Array_Index2) Then
'Sorting the FlightPrice Array
int_Temp_Price = arr_FlightPrice(int_Array_Index2)
arr_FlightPrice(int_Array_Index2) = arr_FlightPrice(int_Array_Index1)
arr_FlightPrice(int_Array_Index1) = int_Temp_Price
'-------------------------------------------------------------------------------------
'Sorting the FlightNumber
int_Temp_FlightNum = arr_FlightNum(int_Array_Index2)
arr_FlightNum(int_Array_Index2) = arr_FlightNum(int_Array_Index1)
arr_FlightNum(int_Array_Index1) = int_Temp_FlightNum
End If
Next
Next
'User Menu
input = InputBox ("Please Enter your choice from below menu: " & vbnewline &_
"1.) 'L' or 'l' to get Lowest Price Flight Number & Flight Price" & vbnewline &_
"2.) 'H' or 'h' to get Highest Price Flight Number & Flight Price" & vbnewline &_
"3.) 'A' or 'a' to get Complete List of Flights Available with Price & Numbers")
input = UCase(input)
Select Case input
Case "L"
Print "a. Lowest Flight Number = " & arr_FlightNum(LBound(arr_FlightNum)) & VbNewline &_
"b. Lowest Flight Price = " & arr_FlightPrice(LBound(arr_FlightPrice))
Case "H"
Print "a. Highest Flight Number = " & arr_FlightNum(UBound(arr_FlightNum)) & VbNewline &_
"b. Highest Flight Price = " & arr_FlightPrice(UBound(arr_FlightPrice))
Case "A"
num = 1
For int_Array_Index = 0 To UBound(arr_FlightNum)
Print "Record " & num & vbnewline &"--------------------------------------------------------------------------" & vbnewline &_
"a. Flight Number = " & arr_FlightNum(int_Array_Index) & VbNewline &_
"b. Flight Price = " & arr_FlightPrice(int_Array_Index) & VbNewline & "#############################################################################################################" & VbNewline
num = num + 1
Next
Case Else
MsgBox "Invalid Input"
End Select
Regards
Shalabh Dixit