Leaderboard
Popular Content
Showing content with the highest reputation on 06/09/2020 in all areas
-
PSPad4AutoIt3 (editor IDE)
argumentum and one other reacted to Professor_Bernd for a topic
New version is available: PSPad4AutoIt3 v1.1.0 beta (2020-06-09). Download in the german forum Posting #1 Here are the highlights of the new features: Improvement Kit - CallTipViewer for official AutoIt functions. This means, for functions that are in the au3.api, or in the AutoIt help, CallTips are displayed. CallTipViewer - Details CallTipViewer - Screenshots Wow, I just realized I've been working on this feature for 3 1/2 months. A special thanks goes to alpines, who developed the routine for the CallTipViewer's multi-line capability almost single-handedly. Some bugfixes and enhancements of the existing features, e.g. "Debug to ConsoleMsgBox" and providing examples from the AutoIt help as a temp copy, where you can write to your heart's content without changing the real file. Uvm. PSPad A lot has really happened here, and many of my feature requests have been implemented. Most of them are not very spectacular and may not even be noticed by the user, but some are really great, e.g: - "Highlighting all occurrences of selected text". Most editors have had this for a long time, and now, after a long effort on my part, Jan Fiala (author of PSPad) has implemented this feature in PSPad. Many thanks to Jan Fiala! Highlighting Occurrences - Details Highlighting Occurrences - Screenshots @argumentum - Skins have also recently been added to PSPad. This does not mean the editor area, which is colored by the highlighter, but everything else around it, i.e. the main window of PSPad with all toolbars, sidebars, etc. Skins - Screenshots - Highlight AutoIt variables with their own color. I would be happy if you look at the program and write your opinion about it. Have fun! Bernd. PS: @Bilgus - Fixed: Variable decaration is misspelled should be 'Variable declaration'.2 points -
mesale0077 asked me whether I could code some CSS loading animations from different web sites. These are the results using GDI+ (AutoIt v3.3.12.0+ required!): _GDIPlus_MonochromaticBlinker.au3 / _GDIPlus_RotatingBokeh.au3 _GDIPlus_SpinningCandy.au3 / _GDIPlus_SteamPunkLoading.au3 _GDIPlus_IncreasingBalls.au3 / _GDIPlus_PacmanProgressbar.au3 _GDIPlus_StripProgressbar.au3 / _GDIPlus_RingProgressbar.au3 _GDIPlus_LineProgressbar.au3 / _GDIPlus_SimpleLoadingAnim.au3 _GDIPlus_TextFillingWithWater.au3 / _GDIPlus_MultiColorLoader.au3 _GDIPlus_LoadingSpinner.au3 / _GDIPlus_SpinningAndPulsing.au3 _GDIPlus_TogglingSphere.au3 / _GDIPlus_CloudySpiral.au3 _GDIPlus_GlowingText.au3 (thanks to Eukalyptus) / _GDIPlus_HypnoticLoader.au3 _GDIPlus_RotatingRectangles.au3 / _GDIPlus_TRONSpinner.au3 _GDIPlus_RotatingBars.au3 / _GDIPlus_AnotherText.au3 (thanks to Eukalyptus) _GDIPlus_CogWheels.au3 (thanks to Eukalyptus) / _GDIPlus_DrawingText.au3 (thanks to Eukalyptus) _GDIPlus_GearsAnim.au3 / _GDIPlus_LEDAnim.au3 _GDIPlus_LoadingTextAnim.au3 / _GDIPlus_MovingRectangles.au3 _GDIPlus_SpinningAndGlowing.au3 (thanks to Eukalyptus) / _GDIPlus_YetAnotherLoadingAnim.au3 _GDIPlus_AnimatedTypeLoader.au3 / _GDIPlus_Carousel.au3 Each animation function has a built-in example how it can be used. AiO download: GDI+ Animated Wait Loading Screens.7z (previous downloads: 1757) Big thanks to Eukalyptus for providing several examples. Maybe useful for some of you Br, UEZ PS: I don't understand CSS - everything is made out of my mind, so it might be different from original CSS examples1 point
-
Hi Folks, I recently spent quite some time figuring out how to get AutoIT working with the HLLAPI api on a 5250 emulator. Hopefully, this code snippet will help someone else in the future. If you have no idea what HLLAPI or a 5250 emulator is, you probably don't need this #include <Array.au3> $returncode="" $function=1 $dataString="" $dataLength=0 ; NB: Your 5250 session must be started before this will work $dll = DllOpen("ehlapi32.dll") ; change this to whatever dll your client provides $result = connectSession("A") ; Connect to session "A". Usually displayed on the terminal session window title if $result<>0 Then mb("Connection to open 5250 Session Failed (have you opened a session?)") Exit EndIf $result = getScreen() ; get the entire screen $nice=format80($result) $result = getStatusLine() ; get the status line $nice=$nice & format80($result) setNowait() ; don't wait during status checks, for the system to become available $result=getStatus() ; get the status ; setTimewait() $nice=$nice & @CRLF & "Status: >" & $result & "<" MsgBox(1,"ret:" & $dll,$nice) ; sendReset() setInputFieldText("User", "kangkeng") setInputFieldText("Password","password") setInputFieldText("Menu","Salmon:)<img src='http://www.autoitscript.com/forum/public/style_emoticons/<#EMO_DIR#>/smile.png' class='bbc_emoticon' alt=':)' />") ; sendCR() $result=waitDone(1000) ; wait for system to come back in one second $loc = findField("user") $loc = getNextUField($loc) $text = getField($loc) ; get the text from a field given the location. mb(">" & $text & "<") if $result>0 then sendReset() ; mb("Wait:" & $result) DllClose($dll) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; ; Begin lots of functions to wrap around the HLLAPI ; Func hllCall() return DllCall($dll, "none", "hllapi", "word*", $function, "str", $dataString, "word*", $dataLength, "word*", $returncode) EndFunc ; wait for system to come back in a couple of milliseconds. 0-OK otherwise status error number returned Func waitDone($milliseconds) $done=99; $begin = TimerInit() while ($done=99) $res = getStatus() if ($res=0) Then $done=0 sleep(100) $dif = TimerDiff($begin) if ($dif > $milliseconds) Then $done=$res WEnd return $done EndFunc ; convience function to find a label and set the entry field after it with a value. PADs blanks to max size of field Func setInputFieldText($partialString,$text) $loc = findField($partialString) $loc = getNextUField($loc) $size = getFieldLength($loc) ;mb($size) setField($loc,StringLeft($text & " ",$size)) EndFunc ; get the length of a field Func getFieldLength($loc) $function=32 $dataString="T " $dataLength=2 $returncode=$loc $res = hllCall() return $res[3] EndFunc ; get the location of the next entry field given a position Func getNextUField($loc) $function=31 $dataString="NU" $dataLength=2 $returncode=$loc $res = hllCall() return $res[3] EndFunc ; Get location of a particular substring in the entire screen Func findField($partialText) ; dump out whole screen first $res = getScreen() ; find the text in the result return StringInStr($res,$partialText) EndFunc ; set a certain field to a value Func setField($pos,$text) $function=33 $dataString=$text $dataLength=StringLen($text) $returncode=$pos return hllCall() EndFunc ; get the text of a field Func getField($pos) $function=34 $dataString="" $dataLength=300 $returncode=$pos $res = hllCall() return $res[2] EndFunc ; get the status of the screen Func getStatus() $function=4 $res = hllCall() return $res[4] EndFunc ; get the wait to no wait. i.e. calls to wait will immediately return if busy. Func setNowait() $function=9 $dataString="NWAIT" $dataLength=StringLen($dataString) return hllCall() EndFunc Func setTimewait() $function=9 $dataString="TWAIT" $dataLength=StringLen($dataString) return hllCall() EndFunc ; connect to a session Func connectSession($session) $function=1 $dataString=$session $res = hllCall() return $res[4] EndFunc ; get the entire screen in a string Func getScreen() $function=5 $res = hllCall() return $res[2] EndFunc ; get the status line Func getStatusLine() $function=13 $dataLength=110 $res = hllCall() return $res[2] EndFunc ; send a reset Func sendReset() return sendText("@R") EndFunc ; send a enter Func sendCR() return sendText("@E") EndFunc ; send text to screen Func sendText($text) $function=3 $dataString=$text $dataLength=StringLen($text) return hllCall() EndFunc ; ; Some generic Utility functions ; Func format80($string) $end="N" $count=0 $answer="" while ($end="N") $answer = $answer & StringMid($string,($count * 80) + 1,80) & @CRLF $count = $count + 1 if $count=25 Then $end="Y" WEnd return $answer EndFunc Func mb($string) ; quick and dirty message box msgbox(1,"a message",$string) EndFunc1 point
-
PSPad4AutoIt3 (editor IDE)
Professor_Bernd reacted to argumentum for a topic
Nice. Liked the colors. I would still insist on not looking at SciTE version and expectations the way you do but after changing the SciTE4AutIt3 4.2 check to 4.1 on your distro., it run on my setup without complain. Thanks for sharing @Professor_Bernd.1 point -
@Danp2 sorry for the trouble but thanks a lot it's working1 point
-
WebDriver UDF - Help & Support (II)
nooneclose reacted to Danp2 for a topic
@nooneclose This is likely the result of it using a new profile each time you launch the browser with the webdriver. You can likely specify your existing profile, but I haven't looked into how to do this with Edge (could be the same as Chrome).1 point -
Makes sense as he is probably sitting next to you. Anyways: The question is: How do you guys distribute the software to the PC's where this installer needs to run on? Do you want to copy/run it from a server (Not recommended for such a large file) or do you use something like the Windows BITS service to get the software first to the Computers? Jos1 point
-
STOP SHOUTING AT US !!!! You are being very impatient and you still haven't provide any information in this thread. I just also saw you send me 2 MP's in which you simply state you want to make a pokerbot...... guess what : that is against our forum rules so will not be supported around here. So now first start reading our forum rules carefully and when you decide to come back you will adhere to them and start showing some forum etiquette's! Jos1 point
-
#include <ImageSearch2015.au3> $x1 = 0 $y1 = 0 Local $tmp_folder, $tmp_fname, $tmp_ext, $pictures, $result $tmp_folder = "C:\Program Files\ImageSearch2015\" $tmp_fname = "Capture" $tmp_ext = ".png" For $loop = 0 To 10000 $pictures = $tmp_folder & $tmp_fname & $loop & $tmp_ext If FileExists($pictures) Then $result = _ImageSearch($pictures, 1, $x1, $y1, 0, 0) ;_ImageSearch($findImage,$resultPosition,ByRef $x,ByRef $y,$tolerance,$transparency = 0) ConsoleWrite($result) if $result=1 Then MouseMove($x1,$y1,50) MsgBox(0,"ImageSearch","Click to continue",20) EndIf EndIf Next Kinda like this.1 point
-
Do the pictures have the same name ? Like capture0.png, capture10.png etc ? If you place, fileexist, before processing the pictures, it will skip the nonexistant pictures. Like in my post: (i'v changed the 10 into 10000: For $loop = 0 To 10000 $pictures = $tmp_folder & $tmp_fname & $loop & $tmp_ext If FileExists($pictures) Then1 point
-
yes, you could do something like this #include <ImageSearch2015.au3> $x1 = 0 $y1 = 0 Local $tmp_folder, $tmp_fname, $tmp_ext, $pictures, $result $tmp_folder = "C:\Program Files\ImageSearch2015\" $tmp_fname = "Capture" $tmp_ext = ".png" For $loop = 0 To 10 $pictures = $tmp_folder & $tmp_fname & $loop & $tmp_ext If FileExists($pictures) Then $result = _ImageSearch($pictures, 1, $x1, $y1, 0, 0) ;_ImageSearch($findImage,$resultPosition,ByRef $x,ByRef $y,$tolerance,$transparency = 0) ConsoleWrite($result) EndIf Next I can't test it, because i do not have the ImageSearch2015.au31 point
-
The pasted script file is not very useful for debugging. It does not show us what you want to do. Neither does your description. I would scan the folders for picture files, save the scan into the array, then process the array with your image search thingy.1 point
-
Is there a fire somewhere? FB ... as in FaceBook? nah, just PM me in these forums when you can't share it publicly. As to the posted script: What are all these #include<> statements intended for? There is only one picture, not 10 , so it will compare this one picture! Jos1 point
-
Not much clearer yet...sorry. What program is this for ? Show your current script as asked! Jos1 point
-
What do you guys think about setting up a package where all that is necessary to run the webdriver is in one simple package? Something like this for firefox. There could be different packages for the different browsers, and each would have the necessary dependencies and such. And at least one simple example script that was easy to follow.1 point
-
Your not being very clear with your question. Try explaining what exactly you want to accomplish and show us your current script that is giving issues. Jos1 point
-
re: TimerDiff, TimerInit
argumentum reacted to Burgaud for a topic
Ok... now I understand what TimerInit() is... a time since BOOT! a hibernate should not undo it. thnx!1 point -
re: TimerDiff, TimerInit
argumentum reacted to Burgaud for a topic
@argumentum You confused me ... 🤔1 point -
Let's see. Local $t = TimerInit() ConsoleWrite(VarGetType($t) & @TAB & $t & @LF) So it's a double. 64-bit floating-point can represent every incrementing positive integer up to the value 9007000000000000 (at least) since it's in this magnitude vincinity that an ULP comes close to 1.* That many milliseconds represents about: 9007000000000 seconds 150116666666 minutes 2501944444 hours 104247685 days 285414 years Hence I don't recommend holding your breath until the value misses a single millisecond (else you have a f*ck*ng efficient hibernation technology). * EDIT: actually the max positive integral value you can store before ULP gets > 1 is 9007199254740991 (= 2⁵³ - 1), which gives you some more years to wait.1 point
-
Re-read! Dollar in PCRE means different things when option ?m is on/off. Options are in front of the regex in PCRE (which is the same engine used by regex101 btw). Perl uses the syntax \regex\options\ but PCRE requires (?options)regex (like in AU3). Also \w{6,6} means \w{6} and \w{1,1} is just \w1 point
-
$ anchor in autoit?
FrancescoDiMuro reacted to jchd for a topic
Who pretends this? Who's his/her drug dealer? Please read the StringRegExp help and focus on Options. In the regex from regex101 you use switches which are not set by default in AU3 implementation. Local $s = _ "questionx" & _ "questiony" & _ "questionza" & _ "questionaas" & _ "questionbasa" & _ "questioncdfd" & _ "questionddgf" & _ "vkjasdashdjk " & _ "SKDJSK" & _ "fsfsdf " & _ "3lrkdfl " & _ "983439" & _ "fksds" & _ "kjadksajdsjdskd" & _ "asmndsamdds" & _ "questioncdfdwwewe" & _ "question" _ArrayDisplay(StringRegExp($s, "q\we\w{3}on$", 3))1 point -
WebDriver UDF - Help & Support (II)
nooneclose reacted to Danp2 for a topic
@nooneclose Should work fine as long as you have the proper webdriver.1 point -
Local $iMove = -4 $old = "G1 X45.036 Y6.934 F7800.000 G1 Z0.600 F7800.000 G1 F900 G1 X48.036 Y1.076 E0.58925" $new = Execute("'" & StringRegExpReplace($old, "(?<=X)\d+.\d+", "' & Execute('$0+' & $iMove) & '") & "'") Msgbox(0,"", $old & @crlf & $new)1 point
-
You probably need to trigger a Change event with jQuery. There are already examples of this on the forum. Good luck!1 point
-
I really look forward to this, as this is a huge thing for me ease of transition wise to Linux... my go to programming language is always AutoIt... If It can be done in a 100 languages and AutoIt is one I go with it, as it's so easy to proto-type fast as well as get support when needed in a timely manner... as well as having the most experience in it!1 point
-
Forum Rules
edenwheeler reacted to Jon for a topic
We want the forum to be a pleasant place for everyone to discuss AutoIt scripting, and we also want to protect the reputation of AutoIt. So we ask you to respect these simple rules while you are here: Forum Posting 1. Do not ask for help with AutoIt scripts, post links to, or start discussion topics on the following subjects: Malware of any form - trojan, virus, keylogger, spam tool, "joke/spoof" script, etc. Bypassing of security measures - log-in and security dialogs, CAPTCHAs, anti-bot agents, software activation, etc. Automation of software/sites contrary to their EULA (see Reporting bullet below). Launching, automation or script interaction with games or game servers, regardless of the game. Running or injecting any code (in any form) intended to alter the original functionality of another process. Decompilation of AutoIt scripts or details of decompiler software. This list is non-exhaustive - the Moderating team reserve the right to close any thread that they feel is contrary to the ethos of the forum. 2. Do not post material that could be considered pornographic, violent or explicit - or express personal opinions that would not be acceptable in a civilized society. Do not post any copyrighted material unless the copyright is owned by you or by this site. 3. To protect this community, any files posted by you are subject to checks to ensure that they do not contain malware. This includes, but is not limited to, decompilation and reverse engineering. 4. Do not flame or insult other members - and just report the thread to a Moderator (see below) if you are so attacked. 5. Do not PM other users asking for support - that is why the forum exists, so post there instead. 6. Do not create multiple accounts - if you inadvertently created multiple accounts then contact a Moderator to close the unwanted ones. 7. Do not repost the same question if the previous thread has been locked - particularly if you merely reword the question to get around one of the prohibitions listed above. 8. Do not delete your posts, nor completely remove their content, if doing so will interrupt the flow of the thread. 9. Do not post in a thread while the Moderating team are actively trying to determine whether it is legal. The Moderation team will do their best to act in fair and reasonable manner. Sanctions will only be applied as a last resort and any action taken will be explained in the relevant thread. If moderation action is taken, you will need to acknowledge this through a dialog or you will be unable to post further in the forum. Please note that this dialog is not an agreement that the warning was justified - it is only there so that members are aware that moderation action has been taken and that they may have certain restrictions applied to their account. If you feel that you have been unfairly moderated then contact the Moderator concerned - using a PM or the "Report" button is preferable to opening a new thread (although new members may have to do this). But do be aware that the Moderation team has the final word - the rules are set out by the site owner and you are only welcome here if you respect his wishes. Signatures and Avatars There is no formal policy for the use of signatures but if a moderator thinks it is too big and/or distracting then you may be asked to tone it down. No-one likes wading through signatures that are a page high. Similarly for avatars, expect distracting flashing and animated gifs to be removed. Reporting If you feel a post needs Moderator attention, please use the "Report" button next to the post date at the top. You can then enter details of why you have reported the post - but there is no need to include the content of the post as that is done automatically. The Moderating team will be alerted to the post and will deal with it as soon as they can. If you suspect a EULA violation, do not expect the Moderating team to do all the work - please provide some evidence in the report such as a copy of (or link to) the EULA in question, as well as the section you believe has been violated. Finally, please do not enter into an argument with the original poster - that is why we have Moderators. Spam Please do not react to spam in any way other than reporting it. Multiple reports are combined by the forum software, so there is no need to announce that you have reported the spam - in fact doing so only increases the work for the Moderator who deals with it. Interacting with this website Anyone found abusing the website is subject to harsh punishment without warning. A non-exhaustive list of potential abuses include: Automated forum registration or login. Automated posting or sending messages on the forum. Automated manipulation of polls, user reputation or other forum features. Automated creation or comments on issue tracker tickets. Automated creation or editing of wiki pages. Other abuses which are either examples of excessive bandwidth usage or automation of the site. Use common sense. If you do not have common sense, don't do anything. Do not automate the forum, wiki or issue tracker in any way at all. Scripts which automatically update AutoIt such as AutoUpdateIt are acceptable as long as they are not abused and do not generate excessive bandwidth usage.1 point