storme Posted April 15, 2012 Share Posted April 15, 2012 G'day allI've run into this so many times over the years where I find a script/UDF that looks like exactly what I want but it doesn't work on the latest version of AutoIT. So I spend ages working on it to bring it up-to-date only to find it doesn't live up to expectations. http://www.autoitscript.com/autoit3/docs/script_breaking_changes.htmSo has anyone thought about/working on/Made a script updater for AutoIT?(Just to be clear I'm talking about a program that will update a script to be compatible with the current version of Autoit.)(IE fix the script breaking changes so the scripts are UNbroken. )I think it'd be a good project to work on that when working would help the community.So if anyone has ventured down this road and has advice to offer I'd be happy to hear from them.At the moment my (Preliminary) thinking is along the lines of multiple cycles of the following1. Any simple search and replaces using regex(@InetGetActive - Calling the new InetGetInfo() function with no parameters returns a count of active downloads)_GUICtrlXXXYYY() have been renamed _GUICtrlXXX_YYY() without any functional changes see UDF renaming2. More complex script spanning changes(InetGet("abort") - Calling the new InetClose() function with a handle returned from InetGet() will abort a download)The script will have to recognise the variable used to capture the handle returned from InetGet() and replace InetGet("abort") with InetClose(handle).3. THE RESTI'm thinking that any line containing a line that can't be converted by 1 & 2 is Marked for editing in SciTeeg ;***SBC*** : {Line with changes}or a system using Listview controls like "Application Translate Tool" Anyway just thought I'd throw that out there and see if anyone has anything written that will do this or at least partly do it. IF not I’ll see what I can cook-up. JI must admit the more I looked into this the more it scares me with the convoluted nature of the changes made.But I think it would be worth it if a converter could be made. And it would give something back to the community.Thanks for any and al help!John Morrison Some of my small contributions to AutoIt Browse for Folder Dialog - Automation SysTreeView32 | FileHippo Download and/or retrieve program information | Get installedpath from uninstall key in registry | RoboCopy function John Morrison aka Storm-E Link to comment Share on other sites More sharing options...
storme Posted April 28, 2012 Author Share Posted April 28, 2012 Ahhh well it looks like this isn't a big problem for anyone else.?? Seems a waste that all those old scripts will just fade and get lost. I'll move on and see if there is anything else I can write to help the community. Hope everyone is having a great weekend! John Morrison Some of my small contributions to AutoIt Browse for Folder Dialog - Automation SysTreeView32 | FileHippo Download and/or retrieve program information | Get installedpath from uninstall key in registry | RoboCopy function John Morrison aka Storm-E Link to comment Share on other sites More sharing options...
guinness Posted April 28, 2012 Share Posted April 28, 2012 I didn't want to say anything before as I'm not someone to put another person's ideas down, but the last 'major' script breaking changes happened back on 15th January, 2010 - v3.3.4.0. I know there have been script breaking changes afterwards but these were where the syntax totally changed to something different, though as you know 2 years in Internet time is very long and most by now should have updated their scripts. Good idea but not required. Sorry. UDF List: _AdapterConnections() • _AlwaysRun() • _AppMon() • _AppMonEx() • _ArrayFilter/_ArrayReduce • _BinaryBin() • _CheckMsgBox() • _CmdLineRaw() • _ContextMenu() • _ConvertLHWebColor()/_ConvertSHWebColor() • _DesktopDimensions() • _DisplayPassword() • _DotNet_Load()/_DotNet_Unload() • _Fibonacci() • _FileCompare() • _FileCompareContents() • _FileNameByHandle() • _FilePrefix/SRE() • _FindInFile() • _GetBackgroundColor()/_SetBackgroundColor() • _GetConrolID() • _GetCtrlClass() • _GetDirectoryFormat() • _GetDriveMediaType() • _GetFilename()/_GetFilenameExt() • _GetHardwareID() • _GetIP() • _GetIP_Country() • _GetOSLanguage() • _GetSavedSource() • _GetStringSize() • _GetSystemPaths() • _GetURLImage() • _GIFImage() • _GoogleWeather() • _GUICtrlCreateGroup() • _GUICtrlListBox_CreateArray() • _GUICtrlListView_CreateArray() • _GUICtrlListView_SaveCSV() • _GUICtrlListView_SaveHTML() • _GUICtrlListView_SaveTxt() • _GUICtrlListView_SaveXML() • _GUICtrlMenu_Recent() • _GUICtrlMenu_SetItemImage() • _GUICtrlTreeView_CreateArray() • _GUIDisable() • _GUIImageList_SetIconFromHandle() • _GUIRegisterMsg() • _GUISetIcon() • _Icon_Clear()/_Icon_Set() • _IdleTime() • _InetGet() • _InetGetGUI() • _InetGetProgress() • _IPDetails() • _IsFileOlder() • _IsGUID() • _IsHex() • _IsPalindrome() • _IsRegKey() • _IsStringRegExp() • _IsSystemDrive() • _IsUPX() • _IsValidType() • _IsWebColor() • _Language() • _Log() • _MicrosoftInternetConnectivity() • _MSDNDataType() • _PathFull/GetRelative/Split() • _PathSplitEx() • _PrintFromArray() • _ProgressSetMarquee() • _ReDim() • _RockPaperScissors()/_RockPaperScissorsLizardSpock() • _ScrollingCredits • _SelfDelete() • _SelfRename() • _SelfUpdate() • _SendTo() • _ShellAll() • _ShellFile() • _ShellFolder() • _SingletonHWID() • _SingletonPID() • _Startup() • _StringCompact() • _StringIsValid() • _StringRegExpMetaCharacters() • _StringReplaceWholeWord() • _StringStripChars() • _Temperature() • _TrialPeriod() • _UKToUSDate()/_USToUKDate() • _WinAPI_Create_CTL_CODE() • _WinAPI_CreateGUID() • _WMIDateStringToDate()/_DateToWMIDateString() • Au3 script parsing • AutoIt Search • AutoIt3 Portable • AutoIt3WrapperToPragma • AutoItWinGetTitle()/AutoItWinSetTitle() • Coding • DirToHTML5 • FileInstallr • FileReadLastChars() • GeoIP database • GUI - Only Close Button • GUI Examples • GUICtrlDeleteImage() • GUICtrlGetBkColor() • GUICtrlGetStyle() • GUIEvents • GUIGetBkColor() • Int_Parse() & Int_TryParse() • IsISBN() • LockFile() • Mapping CtrlIDs • OOP in AutoIt • ParseHeadersToSciTE() • PasswordValid • PasteBin • Posts Per Day • PreExpand • Protect Globals • Queue() • Resource Update • ResourcesEx • SciTE Jump • Settings INI • SHELLHOOK • Shunting-Yard • Signature Creator • Stack() • Stopwatch() • StringAddLF()/StringStripLF() • StringEOLToCRLF() • VSCROLL • WM_COPYDATA • More Examples... Updated: 22/04/2018 Link to comment Share on other sites More sharing options...
storme Posted April 28, 2012 Author Share Posted April 28, 2012 Well it wasn't that long ago I was searching through for a script to perform a certain task. I found one that did exactly what I wanted (well almost) but it did have a LOT of GUI commands that didn't work. I had to manually go through find the new commands then replace all of the old ones. THEN the script didn't do what it was written up to do. It would have been great to have a script do the update and save me all that time. V3.3.8.0 December 2011 - Also brought in some minor script changes and as you know the minor changes/bugs are the hardest to find and fix especially if it isn't your code. When you say "most by now should have updated their scripts" that is of course assuming the script writer is still around to update their script or interested. However, I always look at the long view. The snippets that are being added to the Wiki right now (and in the future)... who will update them if/when script breaking changes are added? I suppose it will be a matter of just waiting for someone to report the faulty script and then fix it. Anyway as I didn't get any replies I already concluded that no one was interested. But it still seems like a waste that everything written before Jan 2010 is to be ignored...shrug Well one good thing.... I don't have to spend time writing the updater. Some of my small contributions to AutoIt Browse for Folder Dialog - Automation SysTreeView32 | FileHippo Download and/or retrieve program information | Get installedpath from uninstall key in registry | RoboCopy function John Morrison aka Storm-E Link to comment Share on other sites More sharing options...
Chimaera Posted April 28, 2012 Share Posted April 28, 2012 (edited) I think there is more changes coming soon from what ive been reading in the developer thread, i dont understand a tenth of it so you could be in the same situation again in a cple of months maybe What about a compromise If your desperate to write one do it to update just the basic ones or the simple ones so it takes some load of what you need to change and maybe make it highlight the others so you know where to look? Just an idea (doesn't mean its good) C edit actually the highlight might not be a bad idea on its own as i never know what to change sometimes on old code You could make it show the errors and links to other parts etc Edited April 28, 2012 by Chimaera If Ive just helped you ... miracles do happen. Chimaera CopyRobo() * Hidden Admin Account Enabler * Software Location From Registry * Find Display Resolution * _ChangeServices() Link to comment Share on other sites More sharing options...
guinness Posted April 28, 2012 Share Posted April 28, 2012 V3.3.8.0 December 2011 - Also brought in some minor script changes and as you know the minor changes/bugs are the hardest to find and fix especially if it isn't your codeYeh, but I thought the updater was purely for syntax changes only, those were aimed mostly at returning values and 64-bit support.When you say "most by now should have updated their scripts" that is of course assuming the script writer is still around to update their script or interested.Correct, but honestly I haven't come across code I've need that hasn't worked with the latest AutoIt, though I know code is floating around the Forum.The snippets that are being added to the Wiki right now (and in the future)... who will update them if/when script breaking changes are added?Chimaera? Lets see what happens as one things for sure the language will live on.Anyway as I didn't get any replies I already concluded that no one was interested.You know how people work, they like to see answers first and then answer questions second. I think you would've seen better results if you had posted this in the Examples section with a snippet to show your idea. UDF List: _AdapterConnections() • _AlwaysRun() • _AppMon() • _AppMonEx() • _ArrayFilter/_ArrayReduce • _BinaryBin() • _CheckMsgBox() • _CmdLineRaw() • _ContextMenu() • _ConvertLHWebColor()/_ConvertSHWebColor() • _DesktopDimensions() • _DisplayPassword() • _DotNet_Load()/_DotNet_Unload() • _Fibonacci() • _FileCompare() • _FileCompareContents() • _FileNameByHandle() • _FilePrefix/SRE() • _FindInFile() • _GetBackgroundColor()/_SetBackgroundColor() • _GetConrolID() • _GetCtrlClass() • _GetDirectoryFormat() • _GetDriveMediaType() • _GetFilename()/_GetFilenameExt() • _GetHardwareID() • _GetIP() • _GetIP_Country() • _GetOSLanguage() • _GetSavedSource() • _GetStringSize() • _GetSystemPaths() • _GetURLImage() • _GIFImage() • _GoogleWeather() • _GUICtrlCreateGroup() • _GUICtrlListBox_CreateArray() • _GUICtrlListView_CreateArray() • _GUICtrlListView_SaveCSV() • _GUICtrlListView_SaveHTML() • _GUICtrlListView_SaveTxt() • _GUICtrlListView_SaveXML() • _GUICtrlMenu_Recent() • _GUICtrlMenu_SetItemImage() • _GUICtrlTreeView_CreateArray() • _GUIDisable() • _GUIImageList_SetIconFromHandle() • _GUIRegisterMsg() • _GUISetIcon() • _Icon_Clear()/_Icon_Set() • _IdleTime() • _InetGet() • _InetGetGUI() • _InetGetProgress() • _IPDetails() • _IsFileOlder() • _IsGUID() • _IsHex() • _IsPalindrome() • _IsRegKey() • _IsStringRegExp() • _IsSystemDrive() • _IsUPX() • _IsValidType() • _IsWebColor() • _Language() • _Log() • _MicrosoftInternetConnectivity() • _MSDNDataType() • _PathFull/GetRelative/Split() • _PathSplitEx() • _PrintFromArray() • _ProgressSetMarquee() • _ReDim() • _RockPaperScissors()/_RockPaperScissorsLizardSpock() • _ScrollingCredits • _SelfDelete() • _SelfRename() • _SelfUpdate() • _SendTo() • _ShellAll() • _ShellFile() • _ShellFolder() • _SingletonHWID() • _SingletonPID() • _Startup() • _StringCompact() • _StringIsValid() • _StringRegExpMetaCharacters() • _StringReplaceWholeWord() • _StringStripChars() • _Temperature() • _TrialPeriod() • _UKToUSDate()/_USToUKDate() • _WinAPI_Create_CTL_CODE() • _WinAPI_CreateGUID() • _WMIDateStringToDate()/_DateToWMIDateString() • Au3 script parsing • AutoIt Search • AutoIt3 Portable • AutoIt3WrapperToPragma • AutoItWinGetTitle()/AutoItWinSetTitle() • Coding • DirToHTML5 • FileInstallr • FileReadLastChars() • GeoIP database • GUI - Only Close Button • GUI Examples • GUICtrlDeleteImage() • GUICtrlGetBkColor() • GUICtrlGetStyle() • GUIEvents • GUIGetBkColor() • Int_Parse() & Int_TryParse() • IsISBN() • LockFile() • Mapping CtrlIDs • OOP in AutoIt • ParseHeadersToSciTE() • PasswordValid • PasteBin • Posts Per Day • PreExpand • Protect Globals • Queue() • Resource Update • ResourcesEx • SciTE Jump • Settings INI • SHELLHOOK • Shunting-Yard • Signature Creator • Stack() • Stopwatch() • StringAddLF()/StringStripLF() • StringEOLToCRLF() • VSCROLL • WM_COPYDATA • More Examples... Updated: 22/04/2018 Link to comment Share on other sites More sharing options...
storme Posted April 28, 2012 Author Share Posted April 28, 2012 I think there is more changes coming soon from what ive been reading in the developer thread, i dont understand a tenth of itso you could be in the same situation again in a cple of months maybeI knew there would be changes. With a language like this where it's alive and developeing there will always be changes. What about a compromiseIf your desperate to write one do it to update just the basic ones or the simple ones so it takes some load of what you need to change and maybe make it highlight the others so you know where to look?Just an idea (doesn't mean its good)I'm not desperate this was one I was going to put on the back burner and tinker with when time permitted.Yep Step/Pass 1 would be the start (the easy stuff) (ie All the GUI changes)Step2/3 could just be commenting the lines with "possible" script breaks.If the system were a rules based system then as time goes by it could be easily added to.With a rules based system it could even put in several lines of instructions on how to fix it. Anyway it's all vapourware at the moment and there doesnt' seem to be enough interest to warrent any development.edit actually the highlight might not be a bad idea on its own as i never know what to change sometimes on old codeYou could make it show the errors and links to other parts etcThat is the main thing I find when updating scripts. (Press F5 - Go through the errrors - repeat) Then when you get to the end there are no errors but it still doesn't work because there were return values changes or something. Some of my small contributions to AutoIt Browse for Folder Dialog - Automation SysTreeView32 | FileHippo Download and/or retrieve program information | Get installedpath from uninstall key in registry | RoboCopy function John Morrison aka Storm-E 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