sonali Posted May 27, 2013 Share Posted May 27, 2013 Hi All, the below script is getting stopped either FileWriteLine($file,"Error: Cannot Get the Handle of Image") OR FileWriteLine($file,"Error: Cannot get Handle of the output Image") please help me to to loop this til this becomes false. expandcollapse popup#include "InputHeader_BMP.au3" Local $strErrorLogName = 'WINAPP_CurveFitting_Constant_BMP_Win7.txt' Local $strErrorLogPathName = $strErrorLogPath&$strErrorLogName Global $iKernelWidth = '3' Global $iKernelHeight = '3' Global $iLowerThreshold = '200' Global $iUpperThreshold = '250' Global $iMinEllipseRadius = '10' Global $iSleepTime = 500 Global $file = FileOpen($strErrorLogPathName,2) if($file == -1) Then MsgBox(0, "Error", "Unable to open the file") Exit EndIf Run($strApplicationPath) For $iOperation = 0 To 3 Step 1 Main($strInputImgPath1k,$strName1k,$strName8bits,$iOperation) Next Local $strActive = WinActive("WINAPP", "Ready") if @error == 0 Then Winclose("WINAPP") EndIf Func Main($strInpPath,$strImgName,$strOutPath,$iOperation) Local $reset = 0 Local $reset1 = 0 Local $winapp = WinWait("WINAPP", "Ready") if $winapp == 0 Then FileWriteLine($file,"Run-WINAPP.exe: Unable to Open WINAPP") FileWriteLine($file," ") Else WinActivate($winapp) FileWriteLine($file,"Run-WINAPP.exe: Application is running") FileWriteLine($file," ") If($iOperation == 0)Then FileWriteLine($file,"::::::::::::::::Ellipse::::::::::::::::") ElseIf($iOperation == 1)Then FileWriteLine($file,"::::::::::::::::Circle fit::::::::::::::::") ElseIf($iOperation == 2)Then FileWriteLine($file,"::::::::::::::::2nd Order fit::::::::::::::::") ElseIf($iOperation == 3)Then FileWriteLine($file,"::::::::::::::::3rd Order fit::::::::::::::::") EndIf For $i = 1 to 4 Step 1 Local $str1 = String($i) Local $str2 = $strImgName Local $str3 = $str2&$str1 Local $str4 = '.bmp' Local $str5 = $str3&$str4 $ctrlClk = ControlClick("WINAPP","",59398,"left",1,$iXClickFile,$iYClickFile) If $ctrlClk == 0 Then FileWriteLine($file,"Controlclick file failure") ;CtrlClick() Else FileWriteLine($file,"Controlclick File Success") sleep($iSleepTime) $ctrlClk1 = ControlClick("WINAPP","",59398,"left",1,$iXClickOpen,$iYClickOpen) If $ctrlClk1 == 0 Then FileWriteLine($file,"Controlclick Open Failure") Else FileWriteLine($file,"Controlclick Open Success") Local $winopen = WinWait("Open","") if $winopen == 0 Then FileWriteLine($file, "Control-Open: Open Image button Fail") Else WinActivate ($winopen) FileWriteLine($file, "Control-Open: Open Image button Success") sleep($iSleepTime) Local $str6 = $strInpPath&$str5 sleep($iSleepTime) Local $strOpenIm1 = ControlSetText("Open", "","Edit1",$str6) Sleep($iSleepTime) if($strOpenIm1 == 0) Then FileWriteLine($file,"Error: Set Image Path Fail") sleep($iSleepTime) Send("{ESC}") Elseif($strOpenIm1 == 1) Then FileWriteLine($file,"Set Image1 Path Success") send("{Enter}") sleep($iSleepTime) Local $str7 = 'Warning: '&$str5&' is already open' Local $str8 = $str5&' is ready for the process' Local $a2 = WinExists("WINAPP","This Window is already open") if $a2 == 1 Then FileWriteLine($file,$str7) send("{Enter}") $reset = 0 ElseIf $a2 == 0 Then $reset = 1 EndIf Local $a11 = WinExists("WINAPP","Unable to load the image.") if $a11 == 1 Then FileWriteLine($file,"Error: Unable to Load Image") send("{ENTER}") $reset1 = 0 Else $reset1 = 1 EndIf if(($reset == 1) AND($reset1 == 1)) Then Global $winHandle1 = ControlGetHandle("[Active]","","[ID:65280]") if @error == 1 Then FileWriteLine($file,"Error: Cannot Get the Handle of Image1") Else FileWritELine($file,"Get Handle of Image1 Success") ControlHide("[Active]","","[ID:65280]") CurveFitting($str3,$strOutPath,$iOperation) EndIf EndIf FileWriteLine($file,"") EndIf EndIf WinClose($winHandle1) EndIf EndIf sleep($iSleepTime) Next EndIf EndFunc Func CurveFitting($str3,$strOutPath,$iType) Local $strOut = $strOutputImgPath&$strOutPath&$str3 Local $reset = 0 $ctrlClk2 = ControlClick("WINAPP","",59398,"left",1,$iXClickOperation,$iYClickOperation) If $ctrlClk2 == 0 Then FileWriteLine($file,"Controlclick Operation Failure") Else FileWriteLine($file,"Controlclick Operation Success") sleep($iSleepTime) $ctrlClk3 = ControlClick("WINAPP","",59398,"left",1,$iXClickCurveFitting,$iYClickCurveFitting) If $ctrlClk3 == 0 Then FileWriteLine($file,"Controlclick Curve Fitting Failure") Else FileWriteLine($file,"Controlclick Curve Fitting Success") sleep($iSleepTime) Local $wincurvefitting = WinGetHandle("WINAPP","Curve Fitting") If @error Then FileWriteLine($file, "Curve Fitting Menu Not Available") Else ControlCommand($wincurvefitting,"", "ComboBox2", "ShowDropDown", "") sleep($iSleepTime) ControlCommand($wincurvefitting,"", "ComboBox2", "SetCurrentSelection", $iType) If @error == 1 Then FileWriteLine($file, 'Error: ComboBox2 Fail') Else FileWriteLine($file, 'ComboBox2: select input') EndIf sleep($iSleepTime) ControlClick($wincurvefitting,"","ComboBox2") sleep($iSleepTime) $strCombo3 = $str3&'.bmp' Sleep($iSleepTime) ControlCommand($wincurvefitting,"", "ComboBox3", "ShowDropDown", "") sleep($iSleepTime) ControlCommand($wincurvefitting, "", "ComboBox3", "SelectString", $strCombo3) If @error == 1 Then FileWriteLine($file, 'Error: ComboBox3 Fail') Else FileWriteLine($file, 'ComboBox3: Select Image1 Success') EndIf sleep($iSleepTime) ControlClick($wincurvefitting,"","ComboBox3") sleep($iSleepTime) Local $settext = ControlSetText($wincurvefitting,"","Edit1",$iKernelWidth) if ($settext == 0) Then FileWriteLine($file,"Error: Set Kernal Width Fail") Else FileWriteLine($file,"Set Kernel Width Success") EndIf Local $settext = ControlSetText($wincurvefitting,"","Edit2",$iKernelHeight) if ($settext == 0) Then FileWriteLine($file,"Error: Set Kernal Height Fail") Else FileWriteLine($file,"Set Kernel Height Success") EndIf Local $settext = ControlSetText($wincurvefitting,"","Edit3",$iLowerThreshold) if ($settext == 0) Then FileWriteLine($file,"Error: Set Lower Threshold Fail") Else FileWriteLine($file,"Set Lower Threshold Success") EndIf Local $settext = ControlSetText($wincurvefitting,"","Edit4",$iUpperThreshold) if ($settext == 0) Then FileWriteLine($file,"Error: Set Upper Threshold Fail") Else FileWriteLine($file,"Set upper Threshold Success") EndIf If $iOperation == 2 OR $iOperation == 3 Then Else Local $settext1 = ControlSetText($wincurvefitting,"","Edit5",$iMinEllipseRadius) If ($settext1 == 0) Then FileWriteLine($file,"Error: Set Min Ellipse Radius Fail") Else FileWriteLine($file,"Set Min Ellipse Radius Success") EndIf EndIf Local $strOk = ControlClick($wincurvefitting,"","Button7") If $strOk == 0 Then FileWriteLine($file, 'Error: Click Button7 Fail') Else FileWriteLine($file, 'Button7: Click OK Success') EndIf sleep($iSleepTime) If $reset == 0 Then ControlClick($wincurvefitting,"","Button6") sleep($iSleepTime) $ctrlClk4 = ControlClick("WINAPP","",59398,"left",1,$iXClickFile,$iYClickFile) If $ctrlClk4 == 0 Then FileWriteLine($file,"Controlclick file failure") Else FileWriteLine($file,"Controlclick file success") sleep($iSleepTime) $ctrlClk5 = ControlClick("WINAPP","",59398,"left",1,$iXClickSaveAs,$iYClickSaveAs) If $ctrlClk5 == 0 Then FileWriteLine($file,"ControlClick Save failure ") Else FileWriteLine($file,"Controlclick Save Success") Local $winsave = WinWait("Save As","") if $winsave == 0 Then FileWriteLine($file, "Control-SaveAs: Cannot Open Save Window") Else WinActivate($winsave) FileWriteLine($file, "Control-SaveAs: Open Save Window ") if($iType == 0) Then $strType = '_EllipseFit.bmp' ElseIf($iType == 1)Then $strType = '_CircleFit.bmp' ElseIf($iType == 2)Then $strType = '_2nd order.bmp' ElseIf($iType == 3)Then $strType = '_3rd order.bmp' EndIf $strSavePath = $strOut&$strType Local $strSave = ControlSetText("Save As", "","Edit1",$strSavePath) Sleep($iSleepTime) if ($strSave == 0) Then FileWriteLine($file, 'Error:SaveAs Fail-Cannot Save Image') Else FileWriteLine($file, 'Save Image success') ;ControlClick($winsave,"","Button1") ; Button2 for XP ControlClick("SaveAs","",Send("!s")) sleep($iSleepTime) $winText = ControlGetText("[Active]","","[ID:65280]") $OutImageName = 'Saving Image: '& $winText FileWriteLine($file,$outImageName) Sleep($iSleepTime) $winHandle2 = ControlGetHandle("[Active]","","[ID:65280]") if @error == 1 Then FileWriteLine($file,"Error: Cannot get Handle of the output Image") Else FileWritELine($file,"Get handle of output image is success") EndIf EndIf WinClose($winHandle2) sleep($iSleepTime) ControlClick($wincurvefitting,"","Button6") sleep($iSleepTime) WinClose($winHandle1) EndIf EndIf EndIf EndIf EndIf EndIf EndIf EndFunc Link to comment Share on other sites More sharing options...
water Posted May 27, 2013 Share Posted May 27, 2013 (edited) Sonali, Why did you open a second thread? Fast fingers? Now you have 3 threads opened within 7 minutes. Edited May 27, 2013 by water My UDFs and Tutorials: Spoiler UDFs:Active Directory (NEW 2022-02-19 - Version 1.6.1.0) - Download - General Help & Support - Example Scripts - WikiExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example ScriptsOutlookEX (2021-11-16 - Version 1.7.0.0) - Download - General Help & Support - Example Scripts - WikiOutlookEX_GUI (2021-04-13 - Version 1.4.0.0) - DownloadOutlook Tools (2019-07-22 - Version 0.6.0.0) - Download - General Help & Support - WikiPowerPoint (2021-08-31 - Version 1.5.0.0) - Download - General Help & Support - Example Scripts - WikiTask Scheduler (NEW 2022-07-28 - Version 1.6.0.1) - Download - General Help & Support - Wiki Standard UDFs:Excel - Example Scripts - WikiWord - Wiki Tutorials:ADO - WikiWebDriver - Wiki Link to comment Share on other sites More sharing options...
PhoenixXL Posted May 27, 2013 Share Posted May 27, 2013 Now you have 3 threads opened within 7 minutes. 4 threads in 12mins. My code: PredictText: Predict Text of an Edit Control Like Scite. Remote Gmail: Execute your Scripts through Gmail. StringRegExp:Share and learn RegExp.Run As System: A command line wrapper around PSEXEC.exe to execute your apps scripts as System (LSA). Database: An easier approach for _SQ_LITE beginners. MathsEx: A UDF for Fractions and LCM, GCF/HCF. FloatingText: An UDF for make your text floating. Clipboard Extendor: A clipboard monitoring tool. Custom ScrollBar: Scroll Bar made with GDI+, user can use bitmaps instead. RestrictEdit_SRE: Restrict text in an Edit Control through a Regular Expression. Link to comment Share on other sites More sharing options...
water Posted May 27, 2013 Share Posted May 27, 2013 Even better My UDFs and Tutorials: Spoiler UDFs:Active Directory (NEW 2022-02-19 - Version 1.6.1.0) - Download - General Help & Support - Example Scripts - WikiExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example ScriptsOutlookEX (2021-11-16 - Version 1.7.0.0) - Download - General Help & Support - Example Scripts - WikiOutlookEX_GUI (2021-04-13 - Version 1.4.0.0) - DownloadOutlook Tools (2019-07-22 - Version 0.6.0.0) - Download - General Help & Support - WikiPowerPoint (2021-08-31 - Version 1.5.0.0) - Download - General Help & Support - Example Scripts - WikiTask Scheduler (NEW 2022-07-28 - Version 1.6.0.1) - Download - General Help & Support - Wiki Standard UDFs:Excel - Example Scripts - WikiWord - Wiki Tutorials:ADO - WikiWebDriver - Wiki Link to comment Share on other sites More sharing options...
sonali Posted May 27, 2013 Author Share Posted May 27, 2013 Even better sorry not out of intensions Link to comment Share on other sites More sharing options...
Moderators Melba23 Posted May 27, 2013 Moderators Share Posted May 27, 2013 (edited) sonali, The occasional double thread I can understand, but posting the same thread 5 times is completely OTT. I have deleted all the other threads - do NOT open any more. M23 Edit: I see you have apologised - that is an end of the matter. Edited May 27, 2013 by Melba23 Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind Open spoiler to see my UDFs: Spoiler ArrayMultiColSort ---- Sort arrays on multiple columnsChooseFileFolder ---- Single and multiple selections from specified path treeview listingDate_Time_Convert -- Easily convert date/time formats, including the language usedExtMsgBox --------- A highly customisable replacement for MsgBoxGUIExtender -------- Extend and retract multiple sections within a GUIGUIFrame ---------- Subdivide GUIs into many adjustable framesGUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView itemsGUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeViewMarquee ----------- Scrolling tickertape GUIsNoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxesNotify ------------- Small notifications on the edge of the displayScrollbars ----------Automatically sized scrollbars with a single commandStringSize ---------- Automatically size controls to fit textToast -------------- Small GUIs which pop out of the notification area Link to comment Share on other sites More sharing options...
sonali Posted May 27, 2013 Author Share Posted May 27, 2013 sonali, The occasional double thread I can understand, but posting the same thread 5 times is completely OTT. I have deleted all the other threads - do NOT open any more. M23 Edit: I see you have apologised - that is an end of the matter. My internet was slow and multiple times i tried thinking that it has not got uploaded.from next time i will be careful:( Link to comment Share on other sites More sharing options...
MouseSpotter Posted May 27, 2013 Share Posted May 27, 2013 Put a "Whle ... Wend" loop into your script until your file exists. Put a "Sleep" into your "While" loop if you want less CPU used. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now