Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 11/18/2019 in all areas

  1. I have tested your example with Sumatrapdf reader and with Acrobat pdf reader and they both work fine with your pdf: I have also opened it with Safari and PDF Element in a MacOS Mojave and it works just fine. So I guess that there should be a problem with nitropdf as this user reported time ago
    1 point
  2. I would always prefer to use the portable version. Unwanted side effects with already existing versions of PsPad are thereby excluded. Even the download page of PsPad itself clearly states : PSPad does not require installation, it can be simply unpacked into any directory. [...] Desktop and Start menu links, as well as system integration can be created later. [...] Everything is user controllable. The ZIP distribution does not contain spellcheck dictionaries, but these can freely downloaded and added later. (BTW : User friendly solved by PsPad) @Professor_Bernd : Therefore you can provide a version of PsPad optimized for AutoIt (including modified Ini files), because this cannot harm other installations.
    1 point
  3. Thank you very much for testing! The following you know for sure, but only to show the details: In Win 10 in the Applications folder no program has write permission. That's why every write operation is either rejected or redirected, depending on the software. PSPad writes to INI files, so it can't store its INI files in the Windows programs folder. The standard installation (non-protable) creates a storage folder "C:\Users\<UserName>\AppData\Roaming\PSpad\" and in the Programs folder creates the "PSPad_MU.ini" which instructs PSPad to use its INIs in AppData. If you turn off the multiuser setting in "PSPad_MU.ini" (MultiUser=0) then PSPad will use the INIs in the Applications folder. This works as long as the settings are read only. As soon as a setting is to be saved, an exception is raised. Therefore it is better with a standard installation to enable multi-users and save the INIs in AppData. If you don't want that (and at the moment I prefer that) you can use PSPad portable. Select any folder where you have write access and copy all files and folders from PSPad to it. Before starting PSPad for the first time, set MultiUser=0 in "PSPad_MU.ini". Now no files outside this folder will be used. For example, I use several PSPad portables next to each other for testing purposes. If you don't necessarily need the standard installation of PSPad, I recommend the portable version. It's easier to use and easier to update. This is just for explaining the background. I'm happy that everything works and that you tested my CompilerRunner! Bernd.
    1 point
  4. When i first saw this on M$ API, i thought it was the good one, and then, the deception 😊
    1 point
  5. Nine

    IE Click a button to DL

    I tested the DownloadComplete event and it doesn't work on Download File. It only works on navigation.
    1 point
  6. I had only loaded the initial one you provided and everything was working fine. Merged the changes you have in this latest zip except making it a multiuser setup, so all config remains in the PSPAD directory as it was. Tried all different options and all is looking goood except one minor issue: F1 opens both Autoit3 and Pspad helpfiles and pspad has Alt+F1 reserved for the language helpfile which is working fine. Jos
    1 point
  7. You can use ternary op like this : For $j = 1 To IsArray($aLevel2_SubFolders) ? $aLevel2_SubFolders[0] : 0 _DirRemove($aLevel2_SubFolders[$j], 1) GUICtrlSetData($Progress1, $j) Next
    1 point
  8. That's probably the best reason of all. Regardless of what comes out in the end, your horizons have widened . This thread also seems to bring some momentum into the general development of SciTE4AutoIt . Thanks to @Jos !
    1 point
  9. Just uploaded the latest beta version which now has all these changes applied: - 19.102.1901.8-11 Changes to allow the program to be run by other editors. - 19.102.1901.12 Updates Stop and Restartconsole message to indicate in case the HotKeys aren't set in case of second instance HotKeys are ony set when the Editor program has the focus to allow for multiple instances. - 19.102.1901.13 Updated _RefreshSystemTray, which wasn't working anymore since a long time - 19.102.1901.14 Added WinClose for the Shelled Script to nicely close that process before ultimately killing it when still needed. This avoids having dead icon in systemtray. Jos
    1 point
  10. jchd

    tiny soduku solver no gui

    @aart I also have hard time understanding what you wrote. If you mean that you want to find multiple solutions to a given sudoku puzzle, this is quite possible as well. A even simpler variant of the SQL implementation I posted can do that. Please note that sudokus should have only one unique solution. Also please remark that the SQL implementation doesn't rely on brute force!
    1 point
  11. Nine

    tiny soduku solver no gui

    I really do not understand what you are talking about. Maybe use a translator to express your concerns. Anyway, who do you think won: Deep Blue or Kasparov ? This goes against Artificial Intelligence that tries to mimic human thinking. Do not do invest in that if you can avoid it. Human are good on some aspects but they are really bad at crunching millions of numbers.
    1 point
  12. jdelaney

    tiny soduku solver no gui

    I scripted mine to screen scrape a sudoku site and automatically solve it: edit: this is the first iteration of that script that will constantly solve sudoku puzzles, nvermind.
    1 point
  13. Nine

    tiny soduku solver no gui

    Recursion in that case is very efficient. To keep it small and fast
    1 point
  14. I have same headache... thanks for sharing.
    1 point
  15. @MattHiggs, try this example: #include <InetConstants.au3> #include <IE.au3> Global $bDownloadFinished = False ExampleStart() Exit Func ExampleStart() Local $oIE = _IECreate("www.ninite.com") Local $oIEEvents = ObjEvent($oIE, "_IEEvent_", "DWebBrowserEvents2") If Not IsObj($oIEEvents) Then Exit ConsoleWrite("Error in $oIEEvents" & @CRLF) $aInputElements = _IEquerySelectorAll($oIE, 'ul[class ="list-unstyled center-block js-masonry"] input, body > div > form', -1) If @error Or Not IsArray($aInputElements) Then Exit ConsoleWrite("Error in $aInputElements" & @CRLF) For $i = 1 To UBound($aInputElements)-1 ConsoleWrite($aInputElements[$i].value & @CRLF) $aInputElements[$i].checked = True Next _IEFormSubmit($aInputElements[0]) If @error Then Exit ConsoleWrite("Error in _IEFormSubmit. Error code: " & @error & @CRLF) While Not $bDownloadFinished Sleep(100) WEnd MsgBox(0,0,"Done!") EndFunc ;==>ExampleStart Func _IEquerySelectorAll(ByRef $oObject, $sQuery, $iIndex = 0) If Not __IEIsObjType($oObject, "browserdom") Then __IEConsoleWriteError("Error", "_IEquerySelectorAll", "$_IESTATUS_InvalidObjectType", ObjName($oObject)) Return SetError($_IESTATUS_InvalidObjectType, 0, 0) ElseIf Not IsInt($iIndex) Or Not ($iIndex > -2) Then __IEConsoleWriteError("Error", "_IEquerySelectorAll", "$_IEStatus_InvalidValue", "Invalid Index") Return SetError($_IEStatus_InvalidValue, 0, 0) EndIf Local $oCol = __IEIsObjType($oObject, "documentcontainer") ? $oObject.document.querySelectorAll($sQuery) : $oObject.querySelectorAll($sQuery) If @error Then __IEConsoleWriteError("Error", "_IEquerySelectorAll", "$_IESTATUS_COMError", @error) Return SetError($_IESTATUS_COMError, 0, 0) ElseIf Not IsObj($oCol) Then __IEConsoleWriteError("Error", "_IEquerySelectorAll", "$_IESTATUS_InvalidObjectType", "Invalid Object") Return SetError($_IESTATUS_InvalidObjectType, 0, 0) ElseIf $oCol = Null Or $oCol.length = 0 Then __IEConsoleWriteError("Error", "_IEquerySelectorAll", "$_IEStatus_NoMatch") Return SetError($_IEStatus_NoMatch, 0, 0) ElseIf $iIndex >= $oCol.length Then __IEConsoleWriteError("Error", "_IEquerySelectorAll", "$_IEStatus_InvalidValue", "$iIndex > Nº of elements found") Return SetError($_IEStatus_InvalidValue, 0, 0) EndIf If $iIndex = -1 Then Local $aColReturn[$oCol.length] For $i = 0 To $oCol.length - 1 $aColReturn[$i] = $oCol.Item($i) Next Return SetError($_IEStatus_Success, $oCol.length, $aColReturn) Else Return SetError($_IEStatus_Success, $oCol.length, $oCol.Item($iIndex)) EndIf EndFunc ;==>_IEquerySelectorAll Func _IEEvent_BeforeNavigate2($oIEpDisp, $sIEURL, $iIEFlags, $sIETargetFrameName, $sIEPostData, $iIEHeaders, $bIECancel) ConsoleWrite(@CRLF & "!!!!--BeforeNavigate2 fired--!!! --> " & "$sIEURL = " & $sIEURL) If StringInStr($sIEURL, "ninite.exe") Then ConsoleWrite(@CRLF & @CRLF & "--> Download STARTED --> " & $sIEURL & @CRLF) Local $sFilePath = @TempDir & "\niniteTEST.exe" ; Download the file in the background with the selected option of 'force a reload from the remote site.' Local $hDownload = InetGet($sIEURL, $sFilePath, $INET_FORCERELOAD, $INET_DOWNLOADBACKGROUND) ; Wait for the download to complete by monitoring when the 2nd index value of InetGetInfo returns True. Do Sleep(250) Until InetGetInfo($hDownload, $INET_DOWNLOADCOMPLETE) ; Retrieve the number of total bytes received and the filesize. Local $iBytesSize = InetGetInfo($hDownload, $INET_DOWNLOADREAD) Local $iFileSize = FileGetSize($sFilePath) ; Close the handle returned by InetGet. InetClose($hDownload) ; Display details about the total number of bytes read and the filesize. ConsoleWrite("Donwload path: " & $sFilePath & @CRLF) ConsoleWrite("The total download size: " & $iBytesSize & " | The total filesize: " & $iFileSize & @CRLF) ConsoleWrite("--> Download FINISHED -->" & $sIEURL & @CRLF & @CRLF) $bDownloadFinished = True EndIf EndFunc ;==>_IEEvent_BeforeNavigate2 Exit @mLipok, i dont know any options to disable the save dialog in IE 11. Some interesting references, thanks, i'll play with them later.
    1 point
  16. You might be able to do something similar to this. It's just an example but if it gives you an idea. I use this to recognize when the save bar pops up at the bottom of the screen. Another user helped me with it here a long time ago. Do If WinActive("[Class:IEFrame]") Then Local $hIE = WinGetHandle("[Class:IEFrame]") Local $hCtrl = ControlGetHandle($hIE, "", "[ClassNN:DirectUIHWND1]") Local $aPos = ControlGetPos($hIE, "", $hCtrl) Local $aWinPos = WinGetPos($hIE) If ControlCommand($hIE, "", $hCtrl, "IsVisible") AND $aPos[1] > .75 * $aWinPos[3] Then ; Check if the control is in the bottom 25% of the page. ControlClick($hIE, "", $hCtrl, "primary", 1, $aPos[2] - 160, $aPos[3] - 30) Sleep(500) ControlSend($hIE, "", $hCtrl, "{down}{down}{enter}") EndIf EndIf sleep(100) Until WinExists("Save As")
    1 point
  17. No, it's when the automatic insertion of the path doesn't work cause we are already in this path and it freeze the Save button. I'm trying to make it by writing to [CLASS:ToolbarWindow32; INSTANCE:3] with ControlSend and ControlSetText, but nothing works.
    0 points
×
×
  • Create New...