Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 09/22/2018 in all areas

  1. The DOM allows to do anything with elements and their contents, but first we need to reach the corresponding DOM object, get it into a variable, and then we are able to modify it. * Well, this little tool (although it is not very nice aesthetically) allows you to get visually a "selector" usable to reference DOM objects. Once you have the "selector" of an element you can pass it to the javascript querySelector() function that will return a reference to that element. To use this tool you have to: 1) open the web page you want to inspect into IE browser 2) run this script (if it find more instances of IE running, it allows you to chose one) 3) move the mouse over the browser. The "selector" of the element below the pointer is catched automatically while hovering. To copy the selector in the clipboard just right click on the element. As you can see, while hovering, the element pointed by the mouse is highlighted with a thin red dotted frame to allow you to better "take aim" when the selector is copied to the clipboard a little acoustic signal is emitted as a confirm, then you can paste it in your listing where you need it. I hope it can come in handy and save you time when you need to automate a site .... have fun (debugged on Sept. 30 2018) #include <IE.au3> #include <GUIConstantsEx.au3> #include <GuiListBox.au3> #include <WindowsConstants.au3> #include <Misc.au3> ; for _IsPressed (23 END key) Global $hDLL = DllOpen("user32.dll") ; following global variables are automatically updated by events from the browser ; ------------------------------------------------------------------------------------- Global $g_iMouseX, $g_iMouseY ; coordinates of the mouse while mooving over the browser Global $bCopySelector = False ; becomes True when you right click on wanted element ; ------------------------------------------------------------------------------------- Global $oIE = _Get_IE() ; get IE instance to inspect If IsObj($oIE) Then $hIE = _IEPropertyGet($oIE, "hwnd") WinActivate($hIE) _InspectElements() EndIf DllClose($hDLL) Exit Func _InspectElements() ; it uses the global variable $oIE as source ; --- set IE to interact with AutoIt --- Local $oDocument Do ; wait for document Sleep(250) $oDocument = $oIE.document Until IsObj($oDocument) Local $oWindow = $oDocument.ParentWindow ; create a reference to the javascript eval method ; in the body section of the dovument $oWindow.setTimeout("document.body.JSeval = eval; ", 0) ; attach the $JSeval variable to the javascript eval method Local $JSeval Do $JSeval = Execute('$oIE.Document.body.JSeval') Until IsObj($JSeval) ; --------------------------------------------- ; Inject Javascript functions/elements to $oIE ; --------------------------------------------- ; Get the DOM path of an element (a CSS selector) ; ----------------------------------------------- ; This javascript function returns the CSS selector of the passed element. ; You can then use the returned path to get a reference to the pointed ; element by the QuerySelector() javascript function ; function copied from the following link: ; https://stackoverflow.com/questions/5728558/get-the-dom-path-of-the-clicked-a ; see answer by "Aleksandar Totic" (thanks to him) Local $sJScript = "" & _ " function getDomPath(el) {" & _ " if (!el) {" & _ " return;" & _ " }" & _ " var stack = [];" & _ " var isShadow = false;" & _ " while (el.parentNode != null) {" & _ " var sibCount = 0;" & _ " var sibIndex = 0;" & _ " for ( var i = 0; i < el.parentNode.childNodes.length; i++ ) {" & _ " var sib = el.parentNode.childNodes[i];" & _ " if ( sib.nodeName == el.nodeName ) {" & _ " if ( sib === el ) {" & _ " sibIndex = sibCount;" & _ " }" & _ " sibCount++;" & _ " }" & _ " }" & _ " var nodeName = el.nodeName.toLowerCase();" & _ " if (isShadow) {" & _ " nodeName += ""::shadow"";" & _ " isShadow = false;" & _ " }" & _ " if ( sibCount > 1 ) {" & _ " stack.unshift(nodeName + ':nth-of-type(' + (sibIndex + 1) + ')');" & _ " } else {" & _ " stack.unshift(nodeName);" & _ " }" & _ " el = el.parentNode;" & _ " if (el.nodeType === 11) {" & _ " isShadow = true;" & _ " el = el.host;" & _ " }" & _ " }" & _ " stack.splice(0,1);" & _ " return stack.join(' > ');" & _ " }" ; more infos here: https://www.kirupa.com/html5/finding_elements_dom_using_querySelector.htm ; Inject the above javascript function contained in the $sJScript variable into the document _JS_Inject($oIE, $sJScript) Local $_getDomPath ; a reference to call above function from AutoIt Do Sleep(250) $_getDomPath = $jsEval("getDomPath") Until IsObj($_getDomPath) ; ; ------------------- ; hook some IE events ; ------------------- Local $oEventObjects[2], $oEventsSource $oEventsSource = $oIE.document.documentElement ; element we want catch events from ; https://docs.microsoft.com/en-us/previous-versions/windows/internet-explorer/ie-developer/platform-apis/aa769636(v=vs.85) $oEventObjects[0] = ObjEvent($oEventsSource, "_HTMLElementEvents2_", "HTMLElementEvents2") ; https://docs.microsoft.com/en-us/previous-versions/windows/internet-explorer/ie-developer/platform-apis/aa768283(v%3dvs.85) $oEventObjects[1] = ObjEvent($oIE, "_IEEvent_", "DWebBrowserEvents2") ; open a GUI where to show some element's properties ; -------------------------------------------------- Local $hGUIMain = GUICreate("Info", 500, 140, -1, -1, -1, $WS_EX_TOPMOST) Local $hProperties = GUICtrlCreateEdit("", 0, 0, 500, 140) GUICtrlSetFont(-1, 9, -1, -1, "Courier New") GUISetState() ;Show GUI ; -------------------------------------------------- ; --------- ; Main loop ; --------- Local $iMouseX, $iMouseY, $oElement, $oNewElement, $sSelector Local $oGotElement, $sElementInfos Local $sSaved_StyleOutline, $sSaved_StyleOutline2 ; Loop until the user exits. While IsObj($oIE) Switch GUIGetMsg() Case $GUI_EVENT_CLOSE ExitLoop ; ---> end EndSwitch If ($g_iMouseX <> $iMouseX) Or ($g_iMouseY <> $iMouseY) Then $iMouseX = $g_iMouseX $iMouseY = $g_iMouseY ; $oElement = $oIE.document.elementFromPoint($iMouseX, $iMouseY) ; <-- this way is slower $oNewElement = $JSeval('document.elementFromPoint(' & $iMouseX & ',' & $iMouseY & ');') If $oNewElement <> $oElement Then If IsObj($oElement) Then $oElement.style.outline = $sSaved_StyleOutline $oElement = $oNewElement ; $bSelfie = False ; $iSelf_Timer = TimerInit() $sSaved_StyleOutline = $oElement.style.outline ; save new element's original outline style $sSelector = $_getDomPath($oElement) ; get CSS path If $sSelector <> "" Then ; We could use the $oNewElement, but just to proof that $sSelector is OK ; we get again a reference to the new pointed element using it's $sSelector $oGotElement = $JSeval('document.querySelector("' & $sSelector & '");') ; <-- how to use a selector $oGotElement.style.outline = "1px dashed red" ; mark new pointed element ; https://css-tricks.com/ $sElementInfos = "" & _ "nodeName: " & $oGotElement.nodeName & @CRLF & _ "id: " & $oGotElement.getAttribute('id') & @CRLF & _ "class: " & $oGotElement.getAttribute('class') & @CRLF & _ "type: " & $oGotElement.getAttribute('type') & @CRLF & _ "---------" & @CRLF & _ $sSelector ControlSetText($hGUIMain, "", $hProperties, $sElementInfos) EndIf EndIf EndIf ; $bCopySelector is setted to True by the right-click event on an element, ; see Volatile Func _HTMLElementEvents2_onContextmenu($oEvent) near script bottom If $bCopySelector And ($sSelector <> "") Then ; And (TimerDiff($iSelf_Timer) > $bSelfie_Delay) Then ; $sSaved_StyleOutline2 = $oGotElement.style.outline $oGotElement.style.outline = "5px dotted #ff0066" ; mark copied element ClipPut($sSelector) $sElementInfos &= @CRLF & "selector copied to ClipBoard" ControlSetText($hGUIMain, "", $hProperties, $sElementInfos) Beep(2000, 50) $bCopySelector = False Sleep(250) $oGotElement.style.outline = $sSaved_StyleOutline2 ; ToolTip('') EndIf If _IsPressed("23", $hDLL) Then ; END key pressed If IsObj($oElement) Then $oElement.style.outline = $sSaved_StyleOutline WinActivate($hGUIMain) ; WinSetState($hGUIMain, "", @SW_SHOW) $aWin = WinGetPos($hGUIMain) MouseMove($aWin[0] + $aWin[2] / 2, $aWin[1] + $aWin[3] / 2, 0) EndIf WEnd ; the end ; ------------------------------------------ For $i = 0 To UBound($oEventObjects) - 1 ; Tell IE we don't want to receive events. $oEventObjects[$i] .Stop $oEventObjects[$i] = 0 Next $oIE = 0 ; Remove IE from memory GUIDelete($hGUIMain) ; Remove GUI ; ------------------------------------------ EndFunc ;==>_InspectElements Func _Get_IE() ; Example 5 from the _IEAttach help ; Create an array of object references to all current browser instances ; The first array element will contain the number of instances found Local $aIE[1] $aIE[0] = 0 Local $i = 1, $oIEx While 1 $oIEx = _IEAttach("", "instance", $i) If @error = $_IEStatus_NoMatch Then ExitLoop ReDim $aIE[$i + 1] $aIE[$i] = $oIEx $aIE[0] = $i $i += 1 WEnd If $aIE[0] > 0 Then If $aIE[0] = 1 Then Return $aIE[1] ; only one IE is running, return this then ; ; Create a little list box to choose the IE instance from Local $hChoose_IE = GUICreate("IE Instances", 600, 350) Local $Label1 = GUICtrlCreateLabel($aIE[0] & " running Instances of IE browser found, click the one you want to attach to then click on 'ok'", 5, 5, 590, 20) Local $List1 = GUICtrlCreateList("", 5, 30, 590, 300, BitOR($LBS_STANDARD, $LBS_EXTENDEDSEL)) Local $hButton_choosed = GUICtrlCreateButton("OK", 5, 325, 590, 20) For $i = 1 To $aIE[0] GUICtrlSetData($List1, $i & ") " & _IEPropertyGet($aIE[$i], "locationurl")) Next GUISetState(@SW_SHOW) While 1 ; wait for a selection Switch GUIGetMsg() Case $GUI_EVENT_CLOSE GUIDelete($hChoose_IE) Return False Case $hButton_choosed $aSelected = _GUICtrlListBox_GetSelItems($List1) If $aSelected[0] Then GUIDelete($hChoose_IE) Return $aIE[$aSelected[1] + 1] Else MsgBox(0, "Info", "Please select an item") EndIf EndSwitch WEnd Else MsgBox(0, 'error', "Sorry" & @CRLF & @CRLF & "no running IE instances found") EndIf EndFunc ;==>_Get_IE ; this function creates a javascript script into the html document ; of the passed $oIE object using the createElement method. Func _JS_Inject($oIE, $sJScript, $bIsUrl = False) ; ; get a reference to the document object Local $objDocument = $oIE.document ; Local $oScript = $objDocument.createElement('script') ; $oScript.type = 'text/javascript' If $bIsUrl Then $oScript.src = $sJScript ; works if $sJScript is a link to a js listing (url) Else ; (https://stackoverflow.com/questions/35213147/difference-between-text-content-vs-inner-text) ; $oScript.innerText = $sJScript $oScript.TextContent = $sJScript ; works if $sJScript contains the listing itself EndIf ; $objDocument.getElementsByTagName('head').item(0).appendChild($oScript) ; $objDocument.getElementsByTagName('head').item(0).removeChild($oScript); ; EndFunc ;==>_JS_Inject ; ------------------------------------------------------------------- ; following function(s) are called by registered $oIE elements events ; ------------------------------------------------------------------- ; ; The function automatically fired by an event ; will receive as parameter an Event Obj. ; This obj has properties related to ; the object that fired the event. ; See following link: ; https://msdn.microsoft.com/en-us/library/aa703876(v=vs.85).aspx ; function called by the mousemove event ; we use this to update 2 global variables: Volatile Func _HTMLElementEvents2_onMousemove($oEvent) $g_iMouseX = $oEvent.clientX $g_iMouseY = $oEvent.clientY EndFunc ;==>_HTMLElementEvents2_onMousemove ; function called by the contextmenu event ; we use this to update 1 global variable ; and we also neutralize this event: Volatile Func _HTMLElementEvents2_onContextmenu($oEvent) $oEvent.cancelBubble = True ; event propagation cancelled $oEvent.returnValue = False ; prevent default behaviour $bCopySelector = True ; when True, selector will be copied to clipboard in main loop EndFunc ;==>_HTMLElementEvents2_onContextmenu ; https://docs.microsoft.com/en-us/previous-versions/windows/internet-explorer/ie-developer/platform-apis/aa768280%28v%3dvs.85%29 Func _IEEvent_BeforeNavigate2($oIEpDisp, $sIEURL, $iIEFlags, $sIETargetFrameName, $sIEPostData, $iIEHeaders, $bIECancel) ;ConsoleWrite("Debug: navigate away cancelled." & @CRLF) ; https://stackoverflow.com/questions/6526876/how-to-cancel-or-dispose-current-navigation-at-webbrowser-element $oIE.stop EndFunc ;==>_IEEvent_BeforeNavigate2 Here is a simple example on how a "selector" can be used in AutoIt. suppose we want automate the login to the AutoIt site with our username and password. I've already prepared a very simple "template" where are missing some important parts without which the script can't work. Missing parts are the references to the elements of the AutoIt web page that we have to manage by our script. well, here is where the tool I have just posted here above comes to our help. follow this steps: 1) in IE open the AutoIt site at the forum page (https://www.autoitscript.com/forum/) 2) run the above tool (select the IE instance and/or bring it to front if needed) 3) when the script is "ready", move the mouse over the "Existing user? Sign In" string and right click the mouse button. Doing so the "selector" of that element is copied to the clipboard. Now we can paste it in our AutoLogIt.au3 script as value of the $sSignIn variable. 4) now click on the "Existing user? Sign In" to open the "Sig In" session from where we will copy selectors of each of the 2 input box Username and Password, in the same way as we have already done in step 3, and paste those selectors to the $sInputUserId and $sInputPasswd variables respectively. 5) do the same for the "Sign In" Button and paste it's selector to the $sSignInButn variable 6) of course also fill the $sMyUserId and $sMyPasswd variables with your data. That's It. Run the AutoLogIt script and it should Log you on automatically to the forum. AutoLogIt.au3 #include <ie.au3> $sMyUserId = "" ; <-- your userid here $sMyPasswd = "" ; <-- your password here ; set selectors here $sSignIn = "" ; <-- SigIn element selector here $sInputUserId = "" ; <-- UserId input selector here $sInputPasswd = "" ; <-- Password input selector here $sSignInButn = "" ; <-- Sig In button selector here $oIE = _IECreate("https://www.autoitscript.com/forum/") ; here is how to use the QuerySelector javascript function $hDOM_Element = $oIE.document.QuerySelector($sSignIn) ; get the "sign in" link element ; perform a click action on the above element $hDOM_Element.click() ; or _IEAction($hDOM_Element, "click") as well ; fill the username input $hDOM_Element = $oIE.document.QuerySelector($sInputUserId) $hDOM_Element.value = $sMyUserId ; fill the password input $hDOM_Element = $oIE.document.QuerySelector($sInputPasswd) $hDOM_Element.value = $sMyPasswd ; .... or also using the dot notation directly .... $oIE.document.QuerySelector($sSignInButn).click() Sleep(5000) ; this should logout $sMenu = "body > div:nth-of-type(2) > header > div > ul > li:nth-of-type(6) > a:nth-of-type(2)" $oIE.document.QuerySelector($sMenu).click() $sLogOut = "body > ul > li:nth-of-type(9) > a" $oIE.document.QuerySelector($sLogOut).click()
    1 point
  2. more fun with pipes, but I can make up roughly 400 ways to make it fail. I fear the problem is not yet clearly defined, also you should totally be showing us what youve tried. Local $aURLs[6] = [ _ "-_ http://www.international.in---", _ "- https://www.communications.com => ", _ "1-http://www.networksupport.net", _ "--- www.organizasion.org -", _ "- www.information.info - _", _ "-#$%& www.autoitscript.com -" _ ] for $i = 0 to ubound($aURLs) - 1 msgbox(0, '' , stringregexp($aURLs[$i] ,"(h.*?www\..*?\.\w\w+|www\..*?\.\w\w+)" , 3)[0]) next
    1 point
  3. Ordinarily I would ask to see some of your attempts to help you understand where you were having an issue. That's because I prefer to help you learn rather than to just give you solutions. But I'm bored at the moment. Here are just a couple of ways to do it. example1() example2() Func example1() Local $aURLs[6] = [ _ "-_ http://autoitscript.com---", _ " https://www.autoitscript.com => ", _ "1-http://www.autoitscript.com", _ "- www.autoitscript.com -", _ "- www.autoitscript.org - _", _ "-#$%& www.autoitscript.net -" _ ] ConsoleWrite("Example1" & @CRLF) For $i = 0 To 5 $RegExp = StringRegExpReplace($aURLs[$i], ".*?((?:https?://|www).*?[.](?:com|net|org)).*","\1") ConsoleWrite($RegExp & @CRLF) Next EndFunc Func example2() Local $aResult[0] Local $aURLs[6] = [ _ "-_ http://autoitscript.com---", _ " https://www.autoitscript.com => ", _ "1-http://www.autoitscript.com", _ "- www.autoitscript.com -", _ "- www.autoitscript.org - _", _ "-#$%& www.autoitscript.net -" _ ] ConsoleWrite("Example2" & @CRLF) For $i = 0 To 5 $aResult = StringRegExp($aURLs[$i], "(?:https?://|www).*?[.](?:com|net|org)", 1) If IsArray($aResult) Then ConsoleWrite($aResult[0] & @CRLF) Next EndFunc
    1 point
  4. The webmaster who wrote the source code of the concerned page should be fired #Include <Array.au3> $aRegexGet = _HttpGetRegexTest("https://autoitscripttr.blogspot.com/atom.xml?redirect=false&start-index=1&max-results=500") $RegExp0 = StringRegExp($aRegexGet, '(https?[^;"]+)(?=(?:&quot;|")[\w=\h"]*rel=(?:&quot;|")?nofollow)', 3) _ArrayDisplay($RegExp0, "nofollow")
    1 point
  5. Doh! Just realised it launches in 'Freeze' mode. Turn that off and data appears.
    1 point
  6. My 2 cents You might try something like this, shorter and much faster BTW it also removes blank spaces (if exist) at the beginning of lines Func _allfilesetdata() Local $aFiles = _FileListToArray(@ScriptDir, "*.txt", $FLTA_FILES, True) For $i = 1 To $aFiles[0] $f = FileRead($aFiles[$i]) $f = StringRegExpReplace($f, '(?m)^\s*\R?', "") GUICtrlSetData($Edit1, $f & @CRLF, 1) Next EndFunc ;==>_allfilesetdata
    1 point
  7. @youtuber Had small bug in code. Updated code above. Adam
    1 point
  8. QwertoX

    AutoIT Editor Dark Theme

    Here is a Monokai style dark theme for SCITE Editor: Look alike or similar to Sublime Text 3. Simply copy that code in your "SciTEUser.properties" wich is in Options > Open User Options File See the picture for what it look like! Happy coding everyone # SciTE Customization GUI ---------------------------------------- # Do not remove these lines or anything between them position.left=-1 position.top=-1 position.width=-1 position.height=-1 position.maximize=0 position.tile=0 minimize.to.tray=0 save.position=1 toolbar.visible=0 end.at.last.line=0 ensure.final.line.end=1 statusbar.visible=1 full.screen.hides.menu=0 title.full.path=1 title.show.buffers=0 blank.margin.right=0 blank.margin.left=6 split.vertical=0 output.vertical.size=256 output.horizontal.size=0 output.initial.hide=1 clear.before.execute=1 output.scroll=1 fold=1 fold.on.open=0 fold.compact=0 fold.preprocessor=0 fold.comment=1 fold.flags=0 fold.symbols=0 fold.highlight=1 fold.highlight.colour=#71FF1C fold.margin.colour=#282923 fold.margin.highlight.colour=#1E1E1E fold.margin.width=16 use.tabs=0 tabsize=4 tab.indents=4 backspace.unindents=1 indent.size.$(au3)=4 view.indentation.guides=1 style.au3.37=fore:#1E1E1E,back:#282923 highlight.indentation.guides=1 selection.fore=#38FF1C selection.back=#f9f9f9 selection.alpha=50 selection.multiple=1 selection.additional.typing=1 selection.additional.back=#282923 selection.additional.alpha=50 highlight.current.word=1 highlight.current.word.by.style=0 highlight.current.word.autoselectword=0 highlight.current.word.wholeword=0 highlight.current.word.matchcase=1 highlight.current.word.minlength=2 highlight.current.word.colour=#C2FFAE margin.width=16 braces.check=1 braces.sloppy=1 style.au3.34=fore:#8F9D6A,back:#282923,bold,notitalics,notunderlined style.au3.35=fore:#e7db74,back:#282923,bold,notitalics,notunderlined caret.fore=#A0A0A0 caret.width=3 caret.period=700 caret.additional.blinks=1 caret.sticky=1 virtual.space=1 caret.line.back=#F8F8F8 caret.line.back.alpha=10 caret.policy.xslop=1 caret.policy.width=20 caret.policy.xstrict=0 caret.policy.xeven=0 caret.policy.xjumps=0 caret.policy.yslop=1 caret.policy.lines=1 caret.policy.ystrict=1 caret.policy.yeven=1 caret.policy.yjumps=0 line.margin.visible=1 line.margin.width=1+ style.*.33=fore:#DADADA,back:#282923,font:Ubuntu Mono,size:12,notbold,notitalics error.select.line=0 style.errorlist.3=fore:#DADADA,back:#282923 error.marker.fore=#DADADA error.marker.back=#282923 error.inline=0 style.error.1=fore:#e7db74,back:#282923 style.error.2=fore:#FF0000,back:#282923 are.you.sure=1 are.you.sure.for.build=0 are.you.sure.on.reload=0 save.all.for.build=0 load.on.activate=0 save.on.deactivate=0 reload.preserves.undo=1 check.if.already.open=0 quit.on.close.last=0 save.recent=1 save.session=1 save.find=1 session.bookmarks=1 session.folds=1 save.on.timer=600 strip.trailing.spaces=1 open.dialog.in.file.directory=1 calltips.color.highlight=#e7db74 style.au3.38=fore:#DADADA,back:#282923 calltips.set.above=0 calltip.au3.ignorecase=1 calltip.*.use.escapes=0 mousehover.calltips.dwelltime=750 autocomplete.au3.disable=0 autocomplete.choose.single=0 autocomplete.au3.ignorecase=1 autocompleteword.automatic=0 autocomplete.*.fillups = buffers=100 buffers.zorder.switching=1 tabbar.visible=1 tabbar.multiline=0 tabbar.hideone=0 find.mark=1 find.replace.matchcase=0 find.replace.regexp=0 find.replace.regexp.posix=0 find.replace.wrap=1 find.replace.escapes=0 find.replacewith.focus=1 find.use.strip=0 replace.use.strip=0 find.close.on.find=1 find.in.files.close.on.find=1 find.replace.advanced=1 buffered.draw=1 two.phase.draw=1 technology=1 cache.layout=2 output.cache.layout=0 font.quality=3 ext.lua.auto.reload=1 ext.lua.reset=0 edge.mode=0 edge.column=143 edge.colour=#e7db74 indicators.alpha=50 indicators.under=1 style.au3.32=back:#282923,font:Ubuntu Mono,size:12,notbold,notitalics,notunderlined style.au3.0=fore:#A688FF,back:#282923,font:Ubuntu Mono,size:12,notbold,notitalics,notunderlined style.au3.1=fore:#74705d,back:#282923,font:Ubuntu Mono,size:12,notbold,notitalics,notunderlined style.au3.2=fore:#77FFBB,back:#282923,font:Ubuntu Mono,size:12,notbold,notitalics,notunderlined style.au3.3=fore:#e7db74,back:#282923,font:Ubuntu Mono,size:12,notbold,notitalics,notunderlined style.au3.4=fore:#f92472,back:#282923,font:Ubuntu Mono,size:12,notbold,notitalics,notunderlined style.au3.5=fore:#FFB96A,back:#282923,font:Ubuntu Mono,size:12,notbold,notitalics,notunderlined style.au3.6=fore:#C4FF55,back:#282923,font:Ubuntu Mono,size:12,notbold,notitalics,notunderlined style.au3.7=fore:#e7db74,back:#282923,font:Ubuntu Mono,size:12,notbold,notitalics,notunderlined style.au3.8=fore:#FF3E3E,back:#282923,font:Ubuntu Mono,size:12,notbold,notitalics,notunderlined style.au3.9=fore:#ffffff,back:#282923,font:Ubuntu Mono,size:12,notbold,notitalics,notunderlined style.au3.10=fore:#DADADA,back:#282923,font:Ubuntu Mono,size:12,notbold,notitalics,notunderlined style.au3.11=fore:#8996A8,back:#282923,font:Ubuntu Mono,size:12,notbold,notitalics,notunderlined style.au3.12=fore:#4ABDAF,back:#282923,font:Ubuntu Mono,size:12,notbold,notitalics,notunderlined style.au3.13=fore:#CEF7BD,back:#282923,font:Ubuntu Mono,size:12,notbold,notitalics,notunderlined style.au3.14=fore:#0080FF,back:#282923,font:Ubuntu Mono,size:12,notbold,notitalics,notunderlined style.au3.15=fore:#FF80FF,back:#282923,font:Ubuntu Mono,size:12,notbold,notitalics,notunderlined style.errorlist.32=fore:#DADADA,back:#282923,font:Ubuntu Mono,size:12,notbold,notitalics,notunderlined style.errorlist.4=fore:#8F9D6A,back:#282923,font:Ubuntu Mono,size:12,notbold,notitalics,notunderlined style.errorlist.10=fore:#e7db74,back:#282923,font:Ubuntu Mono,size:12,notbold,notitalics,notunderlined style.errorlist.11=fore:#ffffff,back:#282923,font:Ubuntu Mono,size:12,notbold,notitalics,notunderlined style.errorlist.12=fore:#F9EE98,back:#282923,font:Ubuntu Mono,size:12,notbold,notitalics,notunderlined style.errorlist.0=fore:#FFFFFF,back:#282923,font:Ubuntu Mono,size:12,notbold,notitalics,notunderlined style.errorlist.1=fore:#DADADA,back:#282923,font:monoOne,size:12,notbold,notitalics,notunderlined backup.files=0 check.updates.scite4autoit3=1 proper.case=1 debug.msgbox.option=-1 debug.console.option=0 debug.trace.option=3 # Do not remove these lines or anything between them # - SciTE Customization GUI ---------------------------------------- import au3.UserUdfs import au3.keywords.user.abbreviation expand popup
    1 point
  9. Here is a Monokai style dark theme for SCITE Editor: Look alike or similar to Sublime Text 3. Simply copy that code in your "SciTEUser.properties" wich is in Options > Open User Options File Happy coding everyone # SciTE Customization GUI ---------------------------------------- # Do not remove these lines or anything between them position.left=-1 position.top=-1 position.width=-1 position.height=-1 position.maximize=0 position.tile=0 minimize.to.tray=0 save.position=1 toolbar.visible=0 end.at.last.line=0 ensure.final.line.end=1 statusbar.visible=1 full.screen.hides.menu=0 title.full.path=1 title.show.buffers=0 blank.margin.right=0 blank.margin.left=6 split.vertical=0 output.vertical.size=256 output.horizontal.size=0 output.initial.hide=1 clear.before.execute=1 output.scroll=1 fold=1 fold.on.open=0 fold.compact=0 fold.preprocessor=0 fold.comment=1 fold.flags=0 fold.symbols=0 fold.highlight=1 fold.highlight.colour=#71FF1C fold.margin.colour=#282923 fold.margin.highlight.colour=#1E1E1E fold.margin.width=16 use.tabs=0 tabsize=4 tab.indents=4 backspace.unindents=1 indent.size.$(au3)=4 view.indentation.guides=1 style.au3.37=fore:#1E1E1E,back:#282923 highlight.indentation.guides=1 selection.fore=#38FF1C selection.back=#f9f9f9 selection.alpha=50 selection.multiple=1 selection.additional.typing=1 selection.additional.back=#282923 selection.additional.alpha=50 highlight.current.word=1 highlight.current.word.by.style=0 highlight.current.word.autoselectword=0 highlight.current.word.wholeword=0 highlight.current.word.matchcase=1 highlight.current.word.minlength=2 highlight.current.word.colour=#C2FFAE margin.width=16 braces.check=1 braces.sloppy=1 style.au3.34=fore:#8F9D6A,back:#282923,bold,notitalics,notunderlined style.au3.35=fore:#e7db74,back:#282923,bold,notitalics,notunderlined caret.fore=#A0A0A0 caret.width=3 caret.period=700 caret.additional.blinks=1 caret.sticky=1 virtual.space=1 caret.line.back=#F8F8F8 caret.line.back.alpha=10 caret.policy.xslop=1 caret.policy.width=20 caret.policy.xstrict=0 caret.policy.xeven=0 caret.policy.xjumps=0 caret.policy.yslop=1 caret.policy.lines=1 caret.policy.ystrict=1 caret.policy.yeven=1 caret.policy.yjumps=0 line.margin.visible=1 line.margin.width=1+ style.*.33=fore:#DADADA,back:#282923,font:Ubuntu Mono,size:12,notbold,notitalics error.select.line=0 style.errorlist.3=fore:#DADADA,back:#282923 error.marker.fore=#DADADA error.marker.back=#282923 error.inline=0 style.error.1=fore:#e7db74,back:#282923 style.error.2=fore:#FF0000,back:#282923 are.you.sure=1 are.you.sure.for.build=0 are.you.sure.on.reload=0 save.all.for.build=0 load.on.activate=0 save.on.deactivate=0 reload.preserves.undo=1 check.if.already.open=0 quit.on.close.last=0 save.recent=1 save.session=1 save.find=1 session.bookmarks=1 session.folds=1 save.on.timer=600 strip.trailing.spaces=1 open.dialog.in.file.directory=1 calltips.color.highlight=#e7db74 style.au3.38=fore:#DADADA,back:#282923 calltips.set.above=0 calltip.au3.ignorecase=1 calltip.*.use.escapes=0 mousehover.calltips.dwelltime=750 autocomplete.au3.disable=0 autocomplete.choose.single=0 autocomplete.au3.ignorecase=1 autocompleteword.automatic=0 autocomplete.*.fillups = buffers=100 buffers.zorder.switching=1 tabbar.visible=1 tabbar.multiline=0 tabbar.hideone=0 find.mark=1 find.replace.matchcase=0 find.replace.regexp=0 find.replace.regexp.posix=0 find.replace.wrap=1 find.replace.escapes=0 find.replacewith.focus=1 find.use.strip=0 replace.use.strip=0 find.close.on.find=1 find.in.files.close.on.find=1 find.replace.advanced=1 buffered.draw=1 two.phase.draw=1 technology=1 cache.layout=2 output.cache.layout=0 font.quality=3 ext.lua.auto.reload=1 ext.lua.reset=0 edge.mode=0 edge.column=143 edge.colour=#e7db74 indicators.alpha=50 indicators.under=1 style.au3.32=back:#282923,font:Ubuntu Mono,size:12,notbold,notitalics,notunderlined style.au3.0=fore:#A688FF,back:#282923,font:Ubuntu Mono,size:12,notbold,notitalics,notunderlined style.au3.1=fore:#74705d,back:#282923,font:Ubuntu Mono,size:12,notbold,notitalics,notunderlined style.au3.2=fore:#77FFBB,back:#282923,font:Ubuntu Mono,size:12,notbold,notitalics,notunderlined style.au3.3=fore:#e7db74,back:#282923,font:Ubuntu Mono,size:12,notbold,notitalics,notunderlined style.au3.4=fore:#f92472,back:#282923,font:Ubuntu Mono,size:12,notbold,notitalics,notunderlined style.au3.5=fore:#FFB96A,back:#282923,font:Ubuntu Mono,size:12,notbold,notitalics,notunderlined style.au3.6=fore:#C4FF55,back:#282923,font:Ubuntu Mono,size:12,notbold,notitalics,notunderlined style.au3.7=fore:#e7db74,back:#282923,font:Ubuntu Mono,size:12,notbold,notitalics,notunderlined style.au3.8=fore:#FF3E3E,back:#282923,font:Ubuntu Mono,size:12,notbold,notitalics,notunderlined style.au3.9=fore:#ffffff,back:#282923,font:Ubuntu Mono,size:12,notbold,notitalics,notunderlined style.au3.10=fore:#DADADA,back:#282923,font:Ubuntu Mono,size:12,notbold,notitalics,notunderlined style.au3.11=fore:#8996A8,back:#282923,font:Ubuntu Mono,size:12,notbold,notitalics,notunderlined style.au3.12=fore:#4ABDAF,back:#282923,font:Ubuntu Mono,size:12,notbold,notitalics,notunderlined style.au3.13=fore:#CEF7BD,back:#282923,font:Ubuntu Mono,size:12,notbold,notitalics,notunderlined style.au3.14=fore:#0080FF,back:#282923,font:Ubuntu Mono,size:12,notbold,notitalics,notunderlined style.au3.15=fore:#FF80FF,back:#282923,font:Ubuntu Mono,size:12,notbold,notitalics,notunderlined style.errorlist.32=fore:#DADADA,back:#282923,font:Ubuntu Mono,size:12,notbold,notitalics,notunderlined style.errorlist.4=fore:#8F9D6A,back:#282923,font:Ubuntu Mono,size:12,notbold,notitalics,notunderlined style.errorlist.10=fore:#e7db74,back:#282923,font:Ubuntu Mono,size:12,notbold,notitalics,notunderlined style.errorlist.11=fore:#ffffff,back:#282923,font:Ubuntu Mono,size:12,notbold,notitalics,notunderlined style.errorlist.12=fore:#F9EE98,back:#282923,font:Ubuntu Mono,size:12,notbold,notitalics,notunderlined style.errorlist.0=fore:#FFFFFF,back:#282923,font:Ubuntu Mono,size:12,notbold,notitalics,notunderlined style.errorlist.1=fore:#DADADA,back:#282923,font:monoOne,size:12,notbold,notitalics,notunderlined backup.files=0 check.updates.scite4autoit3=1 proper.case=1 debug.msgbox.option=-1 debug.console.option=0 debug.trace.option=3 # Do not remove these lines or anything between them # - SciTE Customization GUI ---------------------------------------- import au3.UserUdfs import au3.keywords.user.abbreviations "
    1 point
  10. Hi @ngocthang26 I haven't personally had the need to do either of these actions, so I can't tell you exactly how to do this. If I get a chance, I'll try to check this out and report back with any findings. In the mean time, you'll need to do what I would do in this case, which is to research and then use "trial and error" until you find a working scenario. The proxy subject came up once before in the main development thread. You may want to check out the links posted by @mLipok here.
    0 points
×
×
  • Create New...