Jump to content
Sign in to follow this  
mLipok

AU3 Tools - Quick Updater

Recommended Posts

mLipok

Referring to:

and

/?do=embed#entry1102929'' frameborder='0' data-embedContent>>

I would like to present AU3 Tools - Quick Updater :

Global $URL_Scite = 'http://www.autoitscript.com/autoit3/scite/download/beta_SciTE4AutoIt3/'

_INET_DownloadIfNotEqual("AutoIt3Wrapper.exe")
_INET_DownloadIfNotEqual("Obfuscator.exe")
_INET_DownloadIfNotEqual("SciTE.exe")
_INET_DownloadIfNotEqual("SciteConfig.exe")
_INET_DownloadIfNotEqual("Tidy.exe")
_INET_DownloadIfNotEqual("SciLexer.dll")

Func _INET_DownloadIfNotEqual($fFileToDownlad)
    Local $fLocalDestination
    If _INET_CompareSize_IsEqual($fFileToDownlad) = False Then
        $fLocalDestination = _INET_GetUpdate($fFileToDownlad)
        FileMove($fLocalDestination, @ScriptDir & '\' & $fFileToDownlad, 1)
    EndIf
EndFunc   ;==>_INET_DownloadIfNotEqual

Func _INET_CompareSize_IsEqual($fFileToDownlad)
    Local $nWebSize = InetGetSize($URL_Scite & $fFileToDownlad)
    Local $nLocalSize = FileGetSize(@ScriptDir & '\' & $fFileToDownlad)
    If $nWebSize = $nLocalSize Then
        Return True
    Else
        Return False
    EndIf
EndFunc   ;==>_INET_CompareSize_IsEqual

Func _INET_GetUpdate($fFileToDownlad)
    Local $fLocalDestination = @TempDir & "\" & $fFileToDownlad
    Local $hDownload = InetGet($URL_Scite & $fFileToDownlad, $fLocalDestination, 1, 1)
    Do
        Sleep(250)
    Until InetGetInfo($hDownload, 2) ; Check if the download is complete.
    Local $nBytes = InetGetInfo($hDownload, 0)
    InetClose($hDownload) ; Close the handle to release resources.
    Return $fLocalDestination
EndFunc   ;==>_INET_GetUpdate

HOW TO USE:

Simply compile and run waiting to download current updates tools

If You want to replace file in SciTE4AutoIt dir then run it script from directory where SciTE4AutoIt is instaled

 

ps.

This is a really fast set up, update tool
contains no error checking
requires no configuration
requires that the target downloaded files were not used by other Windows processes
 
 
EDIT:
CAUTION:
 
EDIT:
WORD JOKE : as they say on the commercial
"before use, read the label or contact your doctor or pharmacist" :)
Edited by mlipok

Signature beginning:   Wondering who uses AutoIT and what it can be used for ?
* GHAPI UDF - modest begining - comunication with GitHub REST API Forum Rules *
ADO.au3 UDF     POP3.au3 UDF     XML.au3 UDF    How to use IE.au3  UDF with  AutoIt v3.3.14.x  for other useful stuff click the following button

Spoiler

Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind. 

My contribution (my own projects): * Debenu Quick PDF Library - UDF * Debenu PDF Viewer SDK - UDF * Acrobat Reader - ActiveX Viewer * UDF for PDFCreator v1.x.x * XZip - UDF * AppCompatFlags UDF * CrowdinAPI UDF * _WinMergeCompare2Files() * _JavaExceptionAdd() * _IsBeta() * Writing DPI Awareness App - workaround * _AutoIt_RequiredVersion() * Chilkatsoft.au3 UDF * TeamViewer.au3 UDF * JavaManagement UDF * VIES over SOAP * WinSCP UDF * GHAPI UDF - modest begining - comunication with GitHub REST APIErrorLog.au3 UDF - A logging Library
 

My contribution to others projects or UDF based on  others projects: * _sql.au3 UDF  * POP3.au3 UDF *  RTF Printer - UDF * XML.au3 UDF * ADO.au3 UDF SMTP Mailer UDF * Dual Monitor resolution detection * * 2GUI on Dual Monitor System * _SciLexer.au3 UDF *

Useful links: * Forum Rules * Forum etiquette *  Forum Information and FAQs * How to post code on the forum * AutoIt Online Documentation * AutoIt Online Beta Documentation * SciTE4AutoIt3 getting started * Convert text blocks to AutoIt code * Games made in Autoit * Programming related sites * Polish AutoIt Tutorial * DllCall Code Generator * 

Wiki: Expand your knowledge - AutoIt Wiki * Collection of User Defined Functions * How to use HelpFile * Good coding practices in AutoIt * 

IE Related:  * How to use IE.au3  UDF with  AutoIt v3.3.14.x * Why isn't Autoit able to click a Javascript Dialog? * Clicking javascript button with no ID * IE document >> save as MHT file * IETab Switcher (by LarsJ ) * HTML Entities * _IEquerySelectorAll() (by uncommon) * IE in TaskScheduler

I encourage you to read: * Global Vars * Best Coding Practices * Please explain code used in Help file for several File functions * OOP-like approach in AutoIt * UDF-Spec Questions *  EXAMPLE: How To Catch ConsoleWrite() output to a file or to CMD *

"Homo sum; humani nil a me alienum puto" - Publius Terentius Afer
"Program are meant to be read by humans and only incidentally for computers and execute" - Donald Knuth, "The Art of Computer Programming"
:naughty:  :ranting:, be  :) and       \\//_.

Anticipating Errors :  "Any program that accepts data from a user must include code to validate that data before sending it to the data store. You cannot rely on the data store, ...., or even your programming language to notify you of problems. You must check every byte entered by your users, making sure that data is the correct type for its field and that required fields are not empty."

Signature last update: 2018-10-31

Share this post


Link to post
Share on other sites
Melba23

Hi,

Just for emphasis: Using this tool will download the latest Beta versions of the various SciTE files and tools. As their name implies, these versions are not for general release and are often "works in progress" which may not be entirely backwards compatible nor fully functional - although as a rule Jos does a pretty good job of not breaking things. ;)

So please read his post in the "CAUTION" link above - and remember that if you do use this app, it is at your own risk and peril. :pirate:

M23

Edit: No need to read the link - just look below! :D

Edited by Melba23

Public_Domain.png.2d871819fcb9957cf44f4514551a2935.png Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind._______Open Open spoiler to see my UDFs:

Spoiler

ArrayMultiColSort ---- Sort arrays on multiple columns
ChooseFileFolder ---- Single and multiple selections from specified path treeview listing
Date_Time_Convert -- Easily convert date/time formats, including the language used
ExtMsgBox --------- A highly customisable replacement for MsgBox
GUIExtender -------- Extend and retract multiple sections within a GUI
GUIFrame ---------- Subdivide GUIs into many adjustable frames
GUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView items
GUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeView
Marquee ----------- Scrolling tickertape GUIs
NoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxes
Notify ------------- Small notifications on the edge of the display
Scrollbars ----------Automatically sized scrollbars with a single command
StringSize ---------- Automatically size controls to fit text
Toast -------------- Small GUIs which pop out of the notification area

 

Share this post


Link to post
Share on other sites
Jos

@mlipok,

I hope you did get the point I made earlier that I am not a fan of this and that this is not being supported by me.

It is fine when you want to use it for yourself but downloading the Beta versions of the utilities sometimes require extra changes to be made.

One prime example of that was with an upgrade of SciTE which also required to update an LUA file or else SciTE would become unresponsive.

End of all my disclaimer replies ;)

Jos


SciTE4AutoIt3 Full installer Download page   - Beta files       Read before posting     How to post scriptsource        Forum Rules
 
Live for the present,
Dream of the future,
Learn from the past.
  :)

Share this post


Link to post
Share on other sites
mLipok

Thank you for Your attention and valuable comments as for me and for the potential users of this script.

I hope that for those who test new tools and beta versions of AutoIt these tools will be helpful.


Signature beginning:   Wondering who uses AutoIT and what it can be used for ?
* GHAPI UDF - modest begining - comunication with GitHub REST API Forum Rules *
ADO.au3 UDF     POP3.au3 UDF     XML.au3 UDF    How to use IE.au3  UDF with  AutoIt v3.3.14.x  for other useful stuff click the following button

Spoiler

Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind. 

My contribution (my own projects): * Debenu Quick PDF Library - UDF * Debenu PDF Viewer SDK - UDF * Acrobat Reader - ActiveX Viewer * UDF for PDFCreator v1.x.x * XZip - UDF * AppCompatFlags UDF * CrowdinAPI UDF * _WinMergeCompare2Files() * _JavaExceptionAdd() * _IsBeta() * Writing DPI Awareness App - workaround * _AutoIt_RequiredVersion() * Chilkatsoft.au3 UDF * TeamViewer.au3 UDF * JavaManagement UDF * VIES over SOAP * WinSCP UDF * GHAPI UDF - modest begining - comunication with GitHub REST APIErrorLog.au3 UDF - A logging Library
 

My contribution to others projects or UDF based on  others projects: * _sql.au3 UDF  * POP3.au3 UDF *  RTF Printer - UDF * XML.au3 UDF * ADO.au3 UDF SMTP Mailer UDF * Dual Monitor resolution detection * * 2GUI on Dual Monitor System * _SciLexer.au3 UDF *

Useful links: * Forum Rules * Forum etiquette *  Forum Information and FAQs * How to post code on the forum * AutoIt Online Documentation * AutoIt Online Beta Documentation * SciTE4AutoIt3 getting started * Convert text blocks to AutoIt code * Games made in Autoit * Programming related sites * Polish AutoIt Tutorial * DllCall Code Generator * 

Wiki: Expand your knowledge - AutoIt Wiki * Collection of User Defined Functions * How to use HelpFile * Good coding practices in AutoIt * 

IE Related:  * How to use IE.au3  UDF with  AutoIt v3.3.14.x * Why isn't Autoit able to click a Javascript Dialog? * Clicking javascript button with no ID * IE document >> save as MHT file * IETab Switcher (by LarsJ ) * HTML Entities * _IEquerySelectorAll() (by uncommon) * IE in TaskScheduler

I encourage you to read: * Global Vars * Best Coding Practices * Please explain code used in Help file for several File functions * OOP-like approach in AutoIt * UDF-Spec Questions *  EXAMPLE: How To Catch ConsoleWrite() output to a file or to CMD *

"Homo sum; humani nil a me alienum puto" - Publius Terentius Afer
"Program are meant to be read by humans and only incidentally for computers and execute" - Donald Knuth, "The Art of Computer Programming"
:naughty:  :ranting:, be  :) and       \\//_.

Anticipating Errors :  "Any program that accepts data from a user must include code to validate that data before sending it to the data store. You cannot rely on the data store, ...., or even your programming language to notify you of problems. You must check every byte entered by your users, making sure that data is the correct type for its field and that required fields are not empty."

Signature last update: 2018-10-31

Share this post


Link to post
Share on other sites
Myicq

Assume that this tool could be used to update anything locally compared to a remote server, right ?

If so, the OP could simply change the URL to be unimportant dummy files. Would still prove the funtion but would not cause (relevant) issues with beta versions.


I am just a hobby programmer, and nothing great to publish right now.

Share this post


Link to post
Share on other sites
mLipok

@Myicq

if You want to update Your own aplication 

Yes You can but you have to modify the script exactly as it says @jaberwocky6669


Signature beginning:   Wondering who uses AutoIT and what it can be used for ?
* GHAPI UDF - modest begining - comunication with GitHub REST API Forum Rules *
ADO.au3 UDF     POP3.au3 UDF     XML.au3 UDF    How to use IE.au3  UDF with  AutoIt v3.3.14.x  for other useful stuff click the following button

Spoiler

Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind. 

My contribution (my own projects): * Debenu Quick PDF Library - UDF * Debenu PDF Viewer SDK - UDF * Acrobat Reader - ActiveX Viewer * UDF for PDFCreator v1.x.x * XZip - UDF * AppCompatFlags UDF * CrowdinAPI UDF * _WinMergeCompare2Files() * _JavaExceptionAdd() * _IsBeta() * Writing DPI Awareness App - workaround * _AutoIt_RequiredVersion() * Chilkatsoft.au3 UDF * TeamViewer.au3 UDF * JavaManagement UDF * VIES over SOAP * WinSCP UDF * GHAPI UDF - modest begining - comunication with GitHub REST APIErrorLog.au3 UDF - A logging Library
 

My contribution to others projects or UDF based on  others projects: * _sql.au3 UDF  * POP3.au3 UDF *  RTF Printer - UDF * XML.au3 UDF * ADO.au3 UDF SMTP Mailer UDF * Dual Monitor resolution detection * * 2GUI on Dual Monitor System * _SciLexer.au3 UDF *

Useful links: * Forum Rules * Forum etiquette *  Forum Information and FAQs * How to post code on the forum * AutoIt Online Documentation * AutoIt Online Beta Documentation * SciTE4AutoIt3 getting started * Convert text blocks to AutoIt code * Games made in Autoit * Programming related sites * Polish AutoIt Tutorial * DllCall Code Generator * 

Wiki: Expand your knowledge - AutoIt Wiki * Collection of User Defined Functions * How to use HelpFile * Good coding practices in AutoIt * 

IE Related:  * How to use IE.au3  UDF with  AutoIt v3.3.14.x * Why isn't Autoit able to click a Javascript Dialog? * Clicking javascript button with no ID * IE document >> save as MHT file * IETab Switcher (by LarsJ ) * HTML Entities * _IEquerySelectorAll() (by uncommon) * IE in TaskScheduler

I encourage you to read: * Global Vars * Best Coding Practices * Please explain code used in Help file for several File functions * OOP-like approach in AutoIt * UDF-Spec Questions *  EXAMPLE: How To Catch ConsoleWrite() output to a file or to CMD *

"Homo sum; humani nil a me alienum puto" - Publius Terentius Afer
"Program are meant to be read by humans and only incidentally for computers and execute" - Donald Knuth, "The Art of Computer Programming"
:naughty:  :ranting:, be  :) and       \\//_.

Anticipating Errors :  "Any program that accepts data from a user must include code to validate that data before sending it to the data store. You cannot rely on the data store, ...., or even your programming language to notify you of problems. You must check every byte entered by your users, making sure that data is the correct type for its field and that required fields are not empty."

Signature last update: 2018-10-31

Share this post


Link to post
Share on other sites
mLipok

First I want to thanks @Melba23 for "DTC.au3" 

'?do=embed' frameborder='0' data-embedContent>>


New version:

#Tidy_Parameters=/reel
#AutoIt3Wrapper_Au3Check_Parameters=-q -d -w 1 -w 2 -w 3 -w- 4 -w 5 -w 6 -w- 7

Global $URL_Scite = 'http://www.autoitscript.com/autoit3/scite/download/beta_SciTE4AutoIt3/'
Global $sRaport = ''

#include <Date.au3>
#include <debug.au3>
#include <IE.au3>
#include <array.au3>
#include <MsgBoxConstants.au3>
#include "DTC.au3" ; http://www.autoitscript.com/forum/topic/154684-date-time-convert-initial-release-17-sep-13/

_DebugSetup()
_Main()

Func _Main()
    Local $sIn_Date, $sOut_Date, $sName, $sWebDate
    Local $oIE = _IECreate("http://www.autoitscript.com/autoit3/scite/download/beta_SciTE4AutoIt3/?C=M;O=D")
    Local $sText = _IEBodyReadText($oIE)
;~  ClipPut($sText)
    _IEQuit($oIE)

    Local $aResult = StringRegExp($sText, "(?i)(.*)(\d\d-\w*-\d{4})", 3)
;~ _ArrayDisplay($aResult,'$aResult')

    For $i = 0 To UBound($aResult) - 1 Step 2
        $sName = $aResult[$i]
        $sWebDate = $aResult[$i + 1]
        $sIn_Date = $sWebDate
        $sOut_Date = _Date_Time_Convert($sIn_Date, "dd-MMM-yyyy", "yyyy/MM/dd")
        _INET_DownloadIfNotEqual($sName, $sOut_Date)
        _DebugOut('')
    Next

    If $sRaport = '' Then $sRaport = 'Not downloaded any files.'
    _DebugOut('')
    _DebugOut('=====================================================================================')
    _DebugOut('')
    _DebugOut('SUMMARY: List of downloaded files:')
    _DebugOut($sRaport)
    _DebugOut('')
    _DebugOut('=====================================================================================')
    _DebugOut('')

EndFunc   ;==>_Main

Func _INET_DownloadIfNotEqual($fFileToDownlad, $sWebDate = Default)
    Local $sSubDir
    Local $fLocalDestination
    Local $fLocalFinalDestination = @ScriptDir & '\BETADownload\'
    If FileExists($fLocalFinalDestination) = 0 Then DirCreate($fLocalFinalDestination)
    If StringInStr($fFileToDownlad, '/') Then
        _DebugOut('... skipping :' & $fFileToDownlad)
    Else
        _DebugOut($fFileToDownlad & ' :')
        Select
            Case $fFileToDownlad = 'Tidy.exe'
                $sSubDir = $fLocalFinalDestination & 'Tidy\'
            Case $fFileToDownlad = 'AutoIt3Wrapper.exe' Or $fFileToDownlad = 'AutoIt3Wrapper.au3'
                $sSubDir = $fLocalFinalDestination & 'AutoIt3Wrapper\'
            Case $fFileToDownlad = 'Obfuscator.exe'
                $sSubDir = $fLocalFinalDestination & 'Obfuscator\'
            Case $fFileToDownlad = 'SciteConfig.exe' Or $fFileToDownlad = 'SciteConfig.au3'
                $sSubDir = $fLocalFinalDestination & 'SciteConfig\'
            Case StringRight($fFileToDownlad, 4) = '.lua'
                $sSubDir = $fLocalFinalDestination & 'LUA\'
            Case Else
                $sSubDir = $fLocalFinalDestination
        EndSelect
        _DebugOut('$sSubDir = ' & $sSubDir)
        If FileExists($sSubDir) = 0 Then DirCreate($sSubDir)
        Local $sLocalDate = StringLeft(FileGetTime($sSubDir & $fFileToDownlad, $FT_MODIFIED, 1), 8)
        $sLocalDate = _Date_Time_Convert($sLocalDate, "yyyyMMdd", "yyyy/MM/dd")
        _DebugOut('$sWebDate  = ' & $sWebDate)
        _DebugOut('$sLocalDate = ' & $sLocalDate)
        If _
                _INET_CompareSize_IsEqual($fFileToDownlad, $sSubDir) = False Or _
                _DateDiff('D', $sLocalDate, $sWebDate) > 0 _
                Then
            _DebugOut('!!! Downloading: ' & $fFileToDownlad)
            $fLocalDestination = _INET_GetUpdate($fFileToDownlad)
            FileMove($fLocalDestination, $sSubDir & $fFileToDownlad, 1)
        EndIf
    EndIf
    _DebugOut('')
    _DebugOut('')
EndFunc   ;==>_INET_DownloadIfNotEqual

Func _INET_CompareSize_IsEqual($fFileToDownlad, $sSubDir)
    Local $vWebSize = InetGetSize($URL_Scite & $fFileToDownlad)
    Local $vLocalSize = FileGetSize($sSubDir & $fFileToDownlad)
;~  _DebugOut('$fFileToDownlad = ' & $fFileToDownlad )
    _DebugOut('$vWebSize  = ' & $vWebSize)
    _DebugOut('$vLocalSize = ' & $vLocalSize)
    Return $vWebSize = $vLocalSize
EndFunc   ;==>_INET_CompareSize_IsEqual

Func _INET_GetUpdate($fFileToDownlad)
    Local $fLocalDestination = @TempDir & "\" & $fFileToDownlad
    Local $hDownload = InetGet($URL_Scite & $fFileToDownlad, $fLocalDestination, 1, 1)
    Do
        Sleep(250)
    Until InetGetInfo($hDownload, 2) ; Check if the download is complete.
;~  Local $nBytes = InetGetInfo($hDownload, 0)
    InetClose($hDownload) ; Close the handle to release resources.
    $sRaport &= $fFileToDownlad & @CRLF
    Return $fLocalDestination
EndFunc   ;==>_INET_GetUpdate

REMARKS:

Read post #2 #3 #4 before using this script.

Whats new:

- check not only sizes (as before) but also file dates
- saving files in subdirectories

- reports in _DebugOut()

- using "DTC.au3"
- created to build using the latest version of AutoIt BETA
Edited by mlipok

Signature beginning:   Wondering who uses AutoIT and what it can be used for ?
* GHAPI UDF - modest begining - comunication with GitHub REST API Forum Rules *
ADO.au3 UDF     POP3.au3 UDF     XML.au3 UDF    How to use IE.au3  UDF with  AutoIt v3.3.14.x  for other useful stuff click the following button

Spoiler

Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind. 

My contribution (my own projects): * Debenu Quick PDF Library - UDF * Debenu PDF Viewer SDK - UDF * Acrobat Reader - ActiveX Viewer * UDF for PDFCreator v1.x.x * XZip - UDF * AppCompatFlags UDF * CrowdinAPI UDF * _WinMergeCompare2Files() * _JavaExceptionAdd() * _IsBeta() * Writing DPI Awareness App - workaround * _AutoIt_RequiredVersion() * Chilkatsoft.au3 UDF * TeamViewer.au3 UDF * JavaManagement UDF * VIES over SOAP * WinSCP UDF * GHAPI UDF - modest begining - comunication with GitHub REST APIErrorLog.au3 UDF - A logging Library
 

My contribution to others projects or UDF based on  others projects: * _sql.au3 UDF  * POP3.au3 UDF *  RTF Printer - UDF * XML.au3 UDF * ADO.au3 UDF SMTP Mailer UDF * Dual Monitor resolution detection * * 2GUI on Dual Monitor System * _SciLexer.au3 UDF *

Useful links: * Forum Rules * Forum etiquette *  Forum Information and FAQs * How to post code on the forum * AutoIt Online Documentation * AutoIt Online Beta Documentation * SciTE4AutoIt3 getting started * Convert text blocks to AutoIt code * Games made in Autoit * Programming related sites * Polish AutoIt Tutorial * DllCall Code Generator * 

Wiki: Expand your knowledge - AutoIt Wiki * Collection of User Defined Functions * How to use HelpFile * Good coding practices in AutoIt * 

IE Related:  * How to use IE.au3  UDF with  AutoIt v3.3.14.x * Why isn't Autoit able to click a Javascript Dialog? * Clicking javascript button with no ID * IE document >> save as MHT file * IETab Switcher (by LarsJ ) * HTML Entities * _IEquerySelectorAll() (by uncommon) * IE in TaskScheduler

I encourage you to read: * Global Vars * Best Coding Practices * Please explain code used in Help file for several File functions * OOP-like approach in AutoIt * UDF-Spec Questions *  EXAMPLE: How To Catch ConsoleWrite() output to a file or to CMD *

"Homo sum; humani nil a me alienum puto" - Publius Terentius Afer
"Program are meant to be read by humans and only incidentally for computers and execute" - Donald Knuth, "The Art of Computer Programming"
:naughty:  :ranting:, be  :) and       \\//_.

Anticipating Errors :  "Any program that accepts data from a user must include code to validate that data before sending it to the data store. You cannot rely on the data store, ...., or even your programming language to notify you of problems. You must check every byte entered by your users, making sure that data is the correct type for its field and that required fields are not empty."

Signature last update: 2018-10-31

Share this post


Link to post
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Similar Content

    • 2Toes
      By 2Toes
      Hi all..
      I'm having slight issue that has be a bit puzzled.
      I have an Input control.. After a certain function runs, it Disables that Input control, and sets it to ReadOnly.
      When running another certain function, it re-Enables that Input control, and sets the style back to Default.
      Which does work, however, when typing into the Input control after re-Enabling it, the text appears as a light gray color, rather than its original black color.
      I'm sure there's a simple solution here.. But what that is, appears to be beyond me.
      Here is a simplified example code:
      #include <ButtonConstants.au3> #include <EditConstants.au3> #include <GUIConstantsEx.au3> #include <WindowsConstants.au3> #Region ### START Koda GUI section ### Form= Global $Form1 = GUICreate("Form1", 245, 215, 192, 124) Global $disableBTN = GUICtrlCreateButton("Disable", 32, 64, 75, 25) Global $enableBTN = GUICtrlCreateButton("Enable", 128, 64, 75, 25) Global $Input1 = GUICtrlCreateInput("", 32, 120, 169, 21) GUISetState(@SW_SHOW) #EndRegion ### END Koda GUI section ### While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE Exit Case $disableBTN disable() Case $enableBTN enable() EndSwitch WEnd Func disable() GUICtrlSetState($Input1, $GUI_DISABLE) GUICtrlSetStyle($Input1, $ES_READONLY) EndFunc Func enable() GUICtrlSetState($Input1, $GUI_ENABLE) GUICtrlSetStyle($Input1, $GUI_SS_DEFAULT_INPUT) EndFunc  
      Any help would be greatly appreciated
      Thank you in advance!
    • jantograaf
      By jantograaf
      Hi all,
      I'm trying to create a script that runs a JSON-query and then can retrieve some variables out of the returned, decoded object using JSON.au3. I have tried some other examples on this forum, but I'm stuck at one point. My query works perfectly and gets loaded into the variable $data. Then, decoding $data to $object seems to work as well. But then I can't get the date-field out of this JSON-structure with my script.
      The JSON-structure returned looks like this:
      { "content": [ { "id": "451ec583-8f27-4926-82a3-a2d85e57a110", "createdDate": "2018-08-08T08:40:57.449004Z", "updatedDate": "2018-08-08T08:40:57.449004Z", "lastOpenedDate": "2018-08-08T08:40:57.449004Z", "date": "2018-04-26T00:00:00", "description": "X-Ray Exam", "patient": { "id": "f857238a-c75d-4760-b8d1-8f50f8f9bbfa", "createdDate": "2018-08-08T08:40:37.623976Z", "updatedDate": "2018-08-08T08:40:37.623976Z", "lastOpenedDate": "2018-08-08T08:40:37.623976Z", "name": "Fuerstonia", "birthDate": "2014-06-08", "breed": "", "chip": "", "color": "", "damsire": "", "sire": "", "neutered": false, "orthancUuid": "", "sex": "U", "species": "Paard", "ueln": "De 431310762114", "pmsReference": "", "origin": "" }, "type": "study", "accessionNumber": "KME201806960467", "instanceUid": null, "orthancUuid": "", "sent": false, "seriesCount": 0, "modalityType": "RX", "typeAndModality": "study RX", "client": { "id": "be627195-8458-4927-8446-f1ef37b917a4", "createdDate": "2018-08-08T08:40:31.433968Z", "updatedDate": "2018-08-08T08:40:31.433968Z", "lastOpenedDate": "2018-08-08T09:26:49.512298Z", "via": "", "extraInfo": "", "pmsReference": "", "contact": { "id": "406cc555-c491-4c29-b6bb-8d903f0e35a9", "createdDate": "2018-08-08T08:40:31.428968Z", "updatedDate": "2018-08-08T08:40:31.428968Z", "lastName": "Client 1", "firstName": "", "company": "", "email": "", "language": "nl", "phone": "", "address": { "id": "6fc7703c-137a-4e0a-ba96-8c7f38f2044b", "city": "", "country": "", "line": "", "postalCode": "" } } } }, My script looks like this:
      #RequireAdmin #include <json.au3> #include <inet.au3> #include <File.au3> ;Create a handle to a logfile (will be created if it doesnt exist) Global $logfile = FileOpen("C:\VSOL\VSTK\Logs\MigrationFix\MigrationFix.log",9) FileWriteLine($logfile,"Start script") ;Create the URL with the JSON-query $URL = "http://localhost:8080/v0/studies/?seriesCount=1" ;Catch the query output into a variable $data = _INetGetSource($URL) ;Check if there is any data at all in this variable, if not, exit If Not $data Then MsgBox(1,"Error","No answer. Server is probably not running.") Exit EndIf ;For debugging purposes FileWriteLine($logfile,$data) ;Decode the JSON_string into a useable object $object = Json_Decode($data,1000) If @error Then FileWriteLine($logfile,"Error decoding JSON") Exit EndIf Local $i = 0 ;Start a loop to retrieve the study date of each study... While 1 $study_date = json_get($object,'[' & $i & '].date') If @error Then FileWriteLine($logfile,"Study-Date retrieval error") ExitLoop EndIf $i = $i + 1 WEnd ;Close the logfile FileWriteLine($logfile,"Stop script") FileClose($logfile) ;Open the logfile for quick reference ShellExecute("C:\VSOL\VSTK\Logs\MigrationFix\MigrationFix.log") If believe it has something to do with my json_get($object...)-command. Anyone who can point me in the right direction?
      Thanks in advance!
      Kind regards
    • timmy2
      By timmy2
      I've noticed in several YouTube tutorials about AutoIt that every time the instructor types EndFunc a comment "<==(function name)" is automatically added. I understand that Tidy will do this after the fact but what I'm writing about happens in real time. Where's the setting for this?  Thank you.
    • gahhon
      By gahhon
      Hi Guys,
      I was trying to read some data from the excel file and without opening the file. But I tried a lot of methods, it still open the file.
      And also, I am able to capture the ColumnA value but not Column B.
      Thanks for advance information.
      Global $oDataA, $oDataB Call ("ExcelRead", "B2", "C2") Func ExcelRead($oColumnA, $oColumnB) Local $oPath = @ScriptDir & "\MyFile.xlsx" Local $oExcel = _Excel_Open() Local $oWorkbook = _Excel_BookOpen($oExcel, $oPath, 1, 0) $oDataA = _Excel_RangeRead($oWorkbook, "Sheet 1", $oColumnA) $oDataB = _Excel_RangeRead($oWorkbook, "Sheet 1", $oColumnB) MsgBox(0, "Test Value", $oDataA & ", " & $oDataB) EndFunc  
    • SharpDressedMan
      By SharpDressedMan
      I have an array of subarrays, eg:
      local $a[3] = [ 1, 2, 3 ] local $b[3] = [ 4, 5, 6 ] local $c[2] = [ $a, $b ] I can read read a subarray element of the array, as follows:
      local $c12 = ($c[1])[2] ; result: $c12 = 6 However, when I try to set a subarray element as follows, it fails:
      ($c[1])[2] = 12 ; this fails to set subarray element local $c12 = ($c[1])[2] ; result: $c12 = 6 How to set a subarray element ?
      Thanks
×