Sign in to follow this  
Followers 0
mLipok

XZip - UDF for "XStandard XZIP Component"

9 posts in this topic

#1 ·  Posted (edited)

I was looking for a simple and small freeware ActiveX component for ZIP archive.

 

And behold, here it is:

 

http://www.xstandard.com/en/documentation/xzip/

HERE IS MY UDF (look also to attachment):

#include-once
#Tidy_Parameters=/sort_funcs /reel
; #AutoIt3Wrapper_Run_Debug_Mode=Y
OnAutoItExitRegister("_XZIP_Shutdown") ; in case the script exit without calling _XZIP_Shutdown()

#Region XZIP Include
#include-once
#include <MsgBoxConstants.au3>
#include <FileConstants.au3>
#include <String.au3>
#include <WinAPIFiles.au3>
#EndRegion XZIP Include

#Region XZIP Header
; #INDEX# =======================================================================================================================
; Title .........: UDF for "XStandard XZIP Component"
; AutoIt Version : 3.3.10.2++
; Language ......: English
; Description ...: A collection of functions for "XStandard XZIP Component"
; Author(s) .....: mLipok
; Modified ......:
; ===============================================================================================================================
#cs
    Title:   UDF for "XStandard XZIP Component"
    Filename:  XZip.au3
    Description: A collection of functions for "XStandard XZIP Component"
    Author:   mLipok
    Modified:
    Last Update: 2014/06/04
    Requirements:
    AutoIt 3.3.10.2 or higher

    XStandard XZIP Component
    http://www.xstandard.com/en/documentation/xzip/

    Update History:
    ===================================================
    2014/06/04
    v0.1 First official version

#CE

#EndRegion XZIP Header

#Region #XZIP Constants#

; #CONSTANTS# ===================================================================================================================
; $__<UDF>_CONSTANT_<NAME>
Global Const $__sXZIP_ClassName = "XStandard.Zip.1"
Global Const $__sXZIP_CLSID = '{13D6BDE3-46AA-4FF2-A622-EBC43110D95C}'
Global Const $__sXZIP_IID = '{0B2D411B-7A91-483A-95C4-53DDC6B17895}'

Global Enum _
        $tFolder = 1, _
        $tFile

#EndRegion #XZIP Constants#

#Region XZIP Global Variables

; #VARIABLES# ===================================================================================================================
; $__g<VARNAME>_<UDF>
Global $__hDll_XZIP = 0
Global $__oXZIP_ErrorHandler = ''
Global $__fXPDF_Notification = True
Global $__sXZIP_DllFileFullPath = @ScriptDir & '\XZIP.dll'

#EndRegion XZIP Global Variables

#Region EXAMPLES
;~ _XZIP_UseErrorHandler()
;~ _TEST()
;~ _Examples()

Func _Examples()
    Local $oXZIP
    $sFilePath = @ScriptFullPath
    $sArchive = @ScriptFullPath & '.zip'
    $fStorePath = 0
    $sNewPath = ""
;~  Sleep(1000)
    _XZIP_Pack($oXZIP, $sFilePath, $sArchive, $fStorePath, $sNewPath)
;~  _XZIP_ErrorCode($oXZIP)
    $output = _XZIP_Contents($oXZIP, $sArchive)
;~  MsgBox(1, 'VarGetType', VarGetType($output))
    For $out In $output
        ConsoleWrite($out.Path & $out.Name & @CRLF)
    Next
    _XZIP_UnPack($oXZIP, @ScriptDir & '\xZIP.zip', @ScriptDir & '\TESTING')

    $oXZIP = '' ; CleanUp

EndFunc   ;==>_Examples
#EndRegion EXAMPLES

#Region #XZIP INTERNAL#

; ===============================================================================================================================
; #INTERNAL# ====================================================================================================================

#EndRegion #XZIP INTERNAL#

#Region #XZIP CURRENT#

; #FUNCTION# ====================================================================================================================
; Name ..........: _XZIP_Contents
; Description ...: Get a list of files and folder in the archive
; Syntax ........: _XZIP_Contents(ByRef $oXZIP, $sArchive)
; Parameters ....: $oXZIP               - [in/out] Reference to xZIP object.
;                  $sArchive            - A string value.
; Return values .: None
; Author ........: mLipok
; Modified ......:
; Remarks .......:
; Related .......:
; Link ..........: http://www.xstandard.com/en/documentation/XZIP/
; Example .......: No
; ===============================================================================================================================
Func _XZIP_Contents(ByRef $oXZIP, $sArchive)
    _XZIP_CreateObject($oXZIP)
    If @error Then
        Return SetError(1, '', '')
    Else
        Return $oXZIP.Contents($sArchive)
    EndIf
EndFunc   ;==>_XZIP_Contents

; #FUNCTION# ====================================================================================================================
; Name ..........: _XZIP_CreateObject
; Description ...: Create Object for XZIP
; Syntax ........: _XZIP_CreateObject(Byref $oXZIP)
; Parameters ....: $oXZIP               - [in/out] Reference to xZIP object.
; Return values .: Success: $oXZIP object
;                  Failure: 0 and set @error to non zero
; Author ........: mLipok
; Modified ......:
; Remarks .......:
; Related .......:
; Link ..........:
; Example .......: No
; ===============================================================================================================================
Func _XZIP_CreateObject(ByRef $oXZIP)
;~  $oXZIP = ObjCreate($__sXZIP_ClassName)
;~  Return
    If _XZIP_StartUp() Then
        If Not IsObj($oXZIP) Then
            $oXZIP = ObjCreate($__sXZIP_CLSID, $__sXZIP_IID, $__hDll_XZIP) ; $__sClassName_XZIP_Commercial
;~          _XZIP_ErrorCode($oXZIP)
            Return SetError(@error, 0, $oXZIP)
        EndIf
    EndIf
EndFunc   ;==>_XZIP_CreateObject

; #FUNCTION# ====================================================================================================================
; Name ..........: _XZIP_Delete
; Description ...: Remove a file from an archive.
; Syntax ........: _XZIP_Delete(ByRef $oXZIP, $sFile, $sArchive)
; Parameters ....: $oXZIP               - [in/out] Reference to xZIP object.
;                  $sFile               - A string value.
;                  $sArchive            - A string value.
; Return values .: None
; Author ........: mLipok
; Modified ......:
; Remarks .......:
; Related .......:
; Link ..........: http://www.xstandard.com/en/documentation/XZIP/
; Example .......: No
; ===============================================================================================================================
Func _XZIP_Delete(ByRef $oXZIP, $sFile, $sArchive)
EndFunc   ;==>_XZIP_Delete

; #FUNCTION# ====================================================================================================================
; Name ..........: _XZIP_ErrFunc
; Description ...: AutoIt COM Error Handling Functionality
; Syntax ........: _XZIP_ErrFunc($oError)
; Parameters ....: $oError              - An unknown value.
; Return values .: None
; Author ........: mLipok
; Modified ......:
; Remarks .......:
; Related .......:
; Link ..........:
; Example .......: No
; ===============================================================================================================================
Func _XZIP_ErrFunc($oError)
    ConsoleWrite(@ScriptName & " (" & $oError.scriptline & ") : ==> COM Error intercepted !" & @CRLF & _
            @TAB & "err.number is: " & @TAB & @TAB & "0x" & Hex($oError.number) & @CRLF & _
            @TAB & "err.windescription:" & @TAB & $oError.windescription & @CRLF & _
            @TAB & "err.description is: " & @TAB & $oError.description & @CRLF & _
            @TAB & "err.source is: " & @TAB & @TAB & $oError.source & @CRLF & _
            @TAB & "err.helpfile is: " & @TAB & $oError.helpfile & @CRLF & _
            @TAB & "err.helpcontext is: " & @TAB & $oError.helpcontext & @CRLF & _
            @TAB & "err.lastdllerror is: " & @TAB & $oError.lastdllerror & @CRLF & _
            @TAB & "err.scriptline is: " & @TAB & $oError.scriptline & @CRLF & _
            @TAB & "err.retcode is: " & @TAB & "0x" & Hex($oError.retcode) & @CRLF & @CRLF)
EndFunc   ;==>_XZIP_ErrFunc

; #FUNCTION# ====================================================================================================================
; Name ..........: _XZIP_ErrorCode
; Description ...: Return the code of last operation.
; Syntax ........: _XZIP_ErrorCode(Byref $oXZIP)
; Parameters ....: $oXZIP               - [in/out] Reference to xZIP object.
; Return values .: ErrorCode of last operation.
; Author ........: mLipok
; Modified ......:
; Remarks .......:
; Related .......:
; Link ..........: http://www.xstandard.com/en/documentation/XZIP/
; Example .......: No
; ===============================================================================================================================
Func _XZIP_ErrorCode(ByRef $oXZIP)
    If IsObj($oXZIP) Then
        Local $oXZIP_ErrorCode = $oXZIP.ErrorCode($oXZIP)
        Local $oXZIP_ErrorDescription = $oXZIP.ErrorDescription($oXZIP)
        ConsoleWrite('! _XZIP_ErrorCode:' & @CRLF)
        ConsoleWrite('>     $oXZIP_ErrorCode =  ' & $oXZIP_ErrorCode & @CRLF)
        ConsoleWrite('>     $oXZIP_ErrorDescription = ' & $oXZIP_ErrorDescription & @CRLF)
        Return SetError(0, $oXZIP_ErrorDescription, $oXZIP_ErrorCode)
    Else
        ConsoleWrite('! _XZIP_ErrorCode:' & @CRLF)
        ConsoleWrite('>     $oXZIP is not an object.' & @CRLF)
        Return SetError(1, '', 0)
    EndIf
EndFunc   ;==>_XZIP_ErrorCode

; #FUNCTION# ====================================================================================================================
; Name ..........: _XZIP_ErrorDescription
; Description ...: Return the error code description of last operation.
; Syntax ........: _XZIP_ErrorDescription(Byref $oXZIP)
; Parameters ....: $oXZIP               - [in/out] An unknown value.
; Return values .: None
; Author ........: mLipok
; Modified ......:
; Remarks .......:
; Related .......:
; Link ..........:
; Example .......: No
; ===============================================================================================================================
Func _XZIP_ErrorDescription(ByRef $oXZIP)
    Return $oXZIP.ErrorDescription()
EndFunc   ;==>_XZIP_ErrorDescription

; #FUNCTION# ====================================================================================================================
; Name ..........: _XZIP_Move
; Description ...: Move or rename a file in the archive.
; Syntax ........: _XZIP_Move(ByRef $oXZIP, $sFrom, $sTo, $sArchive)
; Parameters ....: $oXZIP               - [in/out] Reference to xZIP object.
;                  $sFrom               - A string value.
;                  $sTo                 - A string value.
;                  $sArchive            - A string value.
; Return values .: None
; Author ........: mLipok
; Modified ......:
; Remarks .......:
; Related .......:
; Link ..........: http://www.xstandard.com/en/documentation/XZIP/
; Example .......: No
; ===============================================================================================================================
Func _XZIP_Move(ByRef $oXZIP, $sFrom, $sTo, $sArchive)
EndFunc   ;==>_XZIP_Move

; #CURRENT# =====================================================================================================================
; ===============================================================================================================================

; #FUNCTION# ====================================================================================================================
; Name ..........: _XZIP_Pack
; Description ...: Add file or folder to an archive.
; Syntax ........: _XZIP_Pack(ByRef $oXZIP, $sFilePath, $sArchive[, $fStorePath = False[, $sNewPath = Default[, $iCompressionLevel = -1]]])
; Parameters ....: $oXZIP               - [in/out] Reference to xZIP object.
;                  $sFilePath           - A string value.
;                  $sArchive            - A string value.
;                  $fStorePath          - [optional] A boolean value. Default is False.
;                  $sNewPath            - [optional] A string value. Default is "".
;                  $iCompressionLevel   - [optional] An integer value. Default is -1. Compression level 1 is minimum, level 9 is maximum, all other values default to level 6.
; Return values .: None
; Author ........: mLipok
; Modified ......:
; Remarks .......:
; Related .......:
; Link ..........: http://www.xstandard.com/en/documentation/XZIP/
; Example .......: No
; ===============================================================================================================================
Func _XZIP_Pack(ByRef $oXZIP, $sFilePath, $sArchive, $fStorePath = False, $sNewPath = "", $iCompressionLevel = -1)
    _XZIP_CreateObject($oXZIP)
    If @error Then
        Return -1
    Else
        $oXZIP.Pack($sFilePath, $sArchive, $fStorePath, $sNewPath, $iCompressionLevel)
        ConsoleWrite('>     $oXZIP.ErrorCode =  ' & $oXZIP.ErrorCode() & @CRLF)
        ConsoleWrite('>     $oXZIP.ErrorDescription = ' & $oXZIP.ErrorDescription() & @CRLF)
        ConsoleWrite('!     $oXZIP.Version =  ' & $oXZIP.Version() & @CRLF)
    EndIf
EndFunc   ;==>_XZIP_Pack

; #FUNCTION# ====================================================================================================================
; Name ..........: _XZIP_Shutdown
; Description ...: Close the XZip.dll library
; Syntax ........: _XZIP_Shutdown()
; Parameters ....: None
; Return values .: None
; Author ........: mLipok
; Modified ......:
; Remarks .......:
; Related .......:
; Link ..........:
; Example .......: No
; ===============================================================================================================================
Func _XZIP_Shutdown()
    $oXZIP = ''
    If $__hDll_XZIP > 0 Then DllClose($__hDll_XZIP)
    $__hDll_XZIP = 0
    OnAutoItExitUnRegister("_XZIP_Shutdown")
EndFunc   ;==>_XZIP_Shutdown

; #FUNCTION# ====================================================================================================================
; Name ..........: _XZIP_StartUp
; Description ...: Open the XZip.dll library
; Syntax ........: _XZIP_StartUp()
; Parameters ....: None
; Return values .: TODO
; Author ........: mLipok
; Modified ......:
; Remarks .......: If you not set $__sLicenseKey_XZIP then DebenuPDFLibraryLite1012.dll will be used (Lite version). SET YOUR LICENSE KEY in your main script using _XZIP_SetLicenseKey()
; Related .......:
; Link ..........:
; Example .......: No
; ===============================================================================================================================
Func _XZIP_StartUp()
    If $__hDll_XZIP = 0 Then
        If FileExists($__sXZIP_DllFileFullPath) Then
            $__hDll_XZIP = DllOpen($__sXZIP_DllFileFullPath)
            If @error = -1 Then
                MsgBox($MB_SYSTEMMODAL + $MB_OK, "DllOpen Error", "Can not open: " & @CRLF & $__sXZIP_DllFileFullPath)
                Return SetError(2, '', 0)
            EndIf
            Return 1
        Else
            MsgBox($MB_SYSTEMMODAL + $MB_OK, "DllOpen Error", "Dll File not exist: " & @CRLF & $__sXZIP_DllFileFullPath)
            Return SetError(1, '', 0)
        EndIf
    Else
    EndIf
EndFunc   ;==>_XZIP_StartUp

; #FUNCTION# ====================================================================================================================
; Name ..........: _XZIP_UnPack
; Description ...: Extract contents of an archive to a folder.
; Syntax ........: _XZIP_UnPack(ByRef $oXZIP, $sArchive, $sFolderPath[, $sPattern = ""])
; Parameters ....: $oXZIP               - [in/out] Reference to xZIP object.
;                  $sArchive            - A string value.
;                  $sFolderPath         - A string value.
;                  $sPattern            - [optional] A string value. Default is "".
; Return values .: None
; Author ........: mLipok
; Modified ......:
; Remarks .......:
; Related .......:
; Link ..........: http://www.xstandard.com/en/documentation/XZIP/
; Example .......: No
; ===============================================================================================================================
Func _XZIP_UnPack(ByRef $oXZIP, $sArchive, $sFolderPath, $sPattern = "")
    Return $oXZIP.UnPack($sArchive, $sFolderPath, $sPattern)
EndFunc   ;==>_XZIP_UnPack

; #FUNCTION# ====================================================================================================================
; Name ..........: _XZIP_UseErrorHandler
; Description ...: Handles incoming events from the given Object.
; Syntax ........: _XZIP_UseErrorHandler()
; Parameters ....:
; Return values .: None
; Author ........: mLipok
; Modified ......:
; Remarks .......: Use it only if you do not use your own COM Error Handling.
; Related .......: _XZIP_ErrFunc
; Link ..........:
; Example .......: No
; ===============================================================================================================================
Func _XZIP_UseErrorHandler()
    $__oXZIP_ErrorHandler = ObjEvent("AutoIt.Error", "_XZIP_ErrFunc")
EndFunc   ;==>_XZIP_UseErrorHandler
#EndRegion #XZIP CURRENT#

#Region TODO
Func _TEST()
    $oXZIP = ''
    _XZIP_CreateObject($oXZIP)
    If Not IsObj($oXZIP) Then
        MsgBox(1, 'IsObj ERROR', '')
    Else
        $sFilePath = @ScriptFullPath
        $sArchive = @ScriptFullPath & '.zip'
        ConsoleWrite('>     $oXZIP.ErrorCode =  ' & $oXZIP.ErrorCode() & @CRLF)
        ConsoleWrite('>     $oXZIP.ErrorDescription = ' & $oXZIP.ErrorDescription() & @CRLF)
        ConsoleWrite('!     $oXZIP.Version =  ' & $oXZIP.Version() & @CRLF)
    EndIf
    $oXZIP = ''
EndFunc   ;==>_TEST
#EndRegion TODO

HOW TO USE IT:

look at

#Region EXAMPLES
;~ _XZIP_UseErrorHandler()
;~ _TEST()
;~ _Examples()

Func _Examples()
    Local $oXZIP
    $sFilePath = @ScriptFullPath
    $sArchive = @ScriptFullPath & '.zip'
    $fStorePath = 0
    $sNewPath = ""
;~  Sleep(1000)
    _XZIP_Pack($oXZIP, $sFilePath, $sArchive, $fStorePath, $sNewPath)
;~  _XZIP_ErrorCode($oXZIP)
    $output = _XZIP_Contents($oXZIP, $sArchive)
;~  MsgBox(1, 'VarGetType', VarGetType($output))
    For $out In $output
        ConsoleWrite($out.Path & $out.Name & @CRLF)
    Next
    _XZIP_UnPack($oXZIP, @ScriptDir & '\xZIP.zip', @ScriptDir & '\TESTING')

    $oXZIP = '' ; CleanUp

EndFunc   ;==>_Examples
#EndRegion EXAMPLES
Have fun

mLipok

XZip.au3.Download.html

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 *
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 API *

My contribution to others projects or UDF based on  others projects: * _sql.au3 UDF  * POP3.au3 UDF *  RTF Printer - UDF * XML.au3 - BETA * ADO.au3 UDF SMTP Mailer 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 * Best coding practices * 

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) * 

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: 2017-06-04

Share this post


Link to post
Share on other sites

Not tried yet but seems to be interesting !

why not include activex to your udf ?

_Xzipdll ( 'XZip.dll', @TempDir )

Func _Xzipdll ( $sFileName, $sOutputDirPath, $iOverWrite=0 ) ; http://xstandard.com/get/ecxhcxej/zip/
    Local $sFileBin = '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'
    $sFileBin &= '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'
    $sFileBin &= '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'
    $sFileBin &= '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'
    $sFileBin &= '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'
    $sFileBin &= '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'
    $sFileBin &= 'fQgAfa1oi0UUwBACoB3gAHzCDGEFB8dFCDEvMDHM6wXCVeJPEADg0yBnoDPAi89PcD8hkF8ADItyCItKDDuQTgh0DwBbiUoQzeGwAXXr6wMQduAuIl+CUVAZVoXAV76yanhtgyDgneDMIE1jWluIi3UIwFz8/3awVJgIjUPFWoBmiXsQDygEiUNAFPwgL2hoN0BpgjNgMf9ghaIzi/BQW4X2fbBb/LRbOWEgQVfovmS0WwF/uBJeUUedcFFHV2oUAL8OAAeA6GZxrSXfgzBFEDseEDs2kRh/cJRIQOewMALQ85ARgZAwAxE9lpsEAIvBg2AQBADDzAAAg+w4FdA8SCASPFBCRFOLQFwkRFaJTAATTAAkVIlUJBRqOBVwfgwgpHgQDY1UJAgQUVIAASjHRCRWOOEEcAA8dABAcQDoomvAU4PEELBBR+BdQAhqBFDo2GJugwDECIP+AXQejREwXVHoJJDug8QECrjgxv+wChuLxl4AW4PEOMM4vACLVCQcjUQkCABQiRPoAAoAAACDxAReW4PEOATDkAMAi0QkEIsITCQMAJwIav9QAQA4DFFSUOg1/wD//4PEFMOQg1TsOAA8SAAuRABEPIBWV4t8JEiJAGCCiQCoiwdqOI0AFgBogIUBEFGJVAQkIAAqJMdEJDQWAAAAAA44AQ7oGBqBAXcMhcB1R40BZhAEUuglABKL8IOAxAiD/gF0HgKgSOiRGAKeuPsAe4WA9nQbi8ZfXgGpBQB/HAE3UokP6G0HAyMDGAG/uFBUARADBcwBz0wkCIXJdRADM8DDALMEU1YAi3QkFIP+CPcQ0A+C7gBGV4v+AMHvA4vQM9uKEBmB4v+ACDPTi4DYwesIiwSVASXAg+4IM8NBiw+ABRBZAYsUgg/B6AhAM9BBi8IlAg3DCQMNBIUCDeoIM8IfAB1zGwAVBBoAC08PhWoZgKJfAKMeyzKKCU7AdeJeW/fQiE/KgwFBgwhRagBqCGooD2oIQIUPgBCDxAIgzAscU1Uz0jMA7VY7wlcPhNsSAQB2DYjAg4oAOhABD4XLwAODfCQgMDgPhcCBBnwkABQ7+nUKX15dBLj+QChbw4tHIACJVxg7wnUKxwBHILCQABCJVwAoOVckdQfHRwwk0IADACMYg/n/ZHUMgJMYBgAgAQSLAFwkIDvafQe9EYAUAPfbACEkg/gAAXypg/gJf6QBgBscCHWdg/sJAHyYg/sPf5M7AMp8j4P5CX+KAcAJKDvCfIKD+BACD495gB+LVygAaLgWAABqAVKI/1cgAaQMhfZDJwL8QieJdxyJbhgBghmLy9PliV4oAYAeJIk+agKNSwAHiU5IiW4kjYBF/1WJRiy4wQgA0+CDwQKJRkQASIlGTLirqqoAqvfh0eqJVlAQi08oUQEYViSJAEYwi0coagJSglDBA05EiUY4ACEIagJRASCJRjyNBEsGQhJqBNPgibSGlMAmUMALAguOQQMAg8QwiUYIjRQCjUHWiVYMi1YwgIXSdE2LVjiAARBGi1Y8gAE/hcAAdDuL0VfR6sYERh1gBVCNBEgDMMiJlpzgB+A6LImMjpAhAcBqiZaAwQgwTnzoNOE0AWtdWwDDoSSGARBXieBHGOjOBUNygSFCA40hI/oiI+c/BFNVwoIAHIXAi+8PhNoBYSVYHIXbD4TPAUEBdCQYhfYPhALDYUd7BCoPhbkBoQJAMFdWUOg+ChziECDgLoP/A4mQQTBzByAMM8DAQhBDJAX6IEQ7+HYABovoK/0D94sAezCLzYvRM8AAwekC86WLyoMA4QPzpItzMIsAS1CJa2SJa1QAigaJQ0DT4DMAyYpOAY11/TMAwYtLTCPBM9IBoAKLQzCLe0AzAMmLa0yKTBACAotAA1DT5zPJM0DHi3s8I8UgBGYAiwxHi3ssi8KiI0ACOGaJoAFLwAYAPGaJFEhCO9Ycdr3kEgdX5x8zyTsAwVZ0YYtwHDsA8XRaOUggdFUAOUgkdFCJSBQAiUgIiUgYx0AELAKBHlYIiU4UAIlWEItWGDvRIH0DiU4YIAFW9wDaG9KD4keDwoAqiVYEx0AwwT8giU4g6FGAI1bohqtgXuCkM8BewwIPFl6pb+APVOAvM8BVFIXSgG+wgQx6HIVQ/w+EpUEBXECf+5D/dQe74WbrEUAyRozhRiBjD4+EAQRsAWAz7Xx8g/0CfwB3i098Vo00WwCNDEnB5gKLDICNkFgBEDuOoQCQdBKLSoCqdAvAZAToW2KACDlffHQCOWArX3xmi5aKAYAEM8mJV3hmi2SOiGEB0oniC0ADjElDA5eIwgGOjsABiZBPdImv4U5eXyFKBespU4AWCFVWhdtFwBmTgCaLcxyhR4gDQQGgFYP9BA+Pe0GAAYXtD4xzgQJDEeDKD4RfQAGDOwAgdQuLQwTgAYVPIUEDRgQ9muAAdQlJoQaFPEECSxCAwxIEoSgAXF9eiUMYBl2izcBNTiCD+CoEiR4g2xSJbiB1AHiLTiiLRnzBAOEMgekAeAAAAEjR+IP4A3YFBLgD4BbB4AYLyAiLRmTAbAODySASi2BMvx8B3kYEcQHhkfcrygPPUVZk6OABnkZkoCUgBR8Ai1MwweoQUlaE6MnBAkMwJf8gshBQVui6Im8Qx0MRAj+LRhSABR5T6BrTogQQoG/g5jPHRh4g4BRhcINjgQIeO2wIJBR/QSJ0E4sNhUQaS0caRgSLSyQgohfQGxeLFTQCUzYCocAQGotObGAAEwAVjISrAAgCAw+EoLIIAHxVVo0EQP8UhoVhINF6+AJ0BYAQ2dBZRgSBArEXzhEhEFUEhMWCAAF1ZzvoQHULVughG8JD60Y6EGQQAFbocHKAEGCD/QN1JqBPwEpmEMdESv6BBkSLfgA8jUwA/jPAiwLR8T2ri8ojzfOwqlPozHEIZRAOaxDzkQ/2QkYYcBOSW2EUMRJQMMHoEPAVWhEES1gwgeHxFlAZSvAAUyTodFEBThQwjsdGAhgxBTPAX16FyZBdWw+UkINDENAG8zAOShcVHOATwBMqQPE/gzGHEFBwCIt4FOALAOoIiBQ+i1AUAQABQolQFF+IDEAWi0gUQV7gQMMl8gJWkEKLSFBAFDsg0XYCi9EgW1iLAHYQi8pTi9lXKIt4DANOywNOeAxAi0gcA/qJcABxABAD8olxEItYEBSLeBBRAdor+hCJWBSJwABxFF8AK/JbiXEUi0CloAUUAB0Gi6FHEOxCopDxkAiF9tA1lBIeEUBbD4SJoQB4BIMA/yp0DYP/cXSICIH/YiN0i0ChK5ALUItGIGhWJBAgQItOHItBPEEBixBWKFBSRAFGHIuEQDhCAU4oUFFEAeBWHItCMO8DcAPAbsnSADPA0AbHRnBOICcAlcBIXyT9XsPeX2pOsGURnBILlSExMC8doSqJsjXQCxCnGA+EUnrgALkOYQz9oBNFgVV9UP9VIIvYUX0m21l9MWm5rrBti/sIiV0cAANLJIkrRItVY3hVIInQYkM4JItN8ADADBAEU0S4iUM4UAVie/AAi5F46IlDPCEDBCIDwGmQeSCF/4lDCBRwSzikhckUcEs8oQDEoAAVwRa8IgEkgFsY0eGgi3Iwi+nzHs3zHjmQAXI4IGiwAYwBRIsMcjzgao8BDItyCAiLewhsAUoQi3oACItzCCvPA84QX4lLEFMLi9HRAOqNBFCNFE4DSMqJgxGBiYvRgI2Eg4xwCY2LgAlQAASTdJDCXomDEAtl4QEcUQCTKFAAcjBVeOi4/cHBXIEUMfJoVgAz9otCJItKRADR4IlCNItCPEBXZol0SP4AAYsAejwzwI1MCf4Mi9ljPlIuqotCfAgzyV+gRsHgAmYEi4jxZIlKeDPJc7AA8WSJitFk4gDxZIkOitFk4gDyZHJkiXIgVIlybLhBdolyAGCJckBeiUp0wIlCcIlCWJaK+SQEELvBQItGDIPAgPs7w3MCi9hxJQiLRmzgS3cgVuiqNtIlbFNHEPEmFRABA9EbIVKLTmTH'
    $sFileBin &= 'RmwDQStQlU5ki05UiwBWZI0EGXQEO0DQcj8r0ImgYckgiVZsfAfQmQPRAOsCM9IrwWoAJlCwX/HLiw5AYVGJkEZU6O9QWIsWMEgci0IAR/R70gSLRiRQK9EtBkAHO4DLY4UR0cngBEYwA8HgBFDAagBSkE0gwQQWgdAIUolOVOiiwQQKBsEESEBudGfpLUkBrk5UigMz0rFwlCTCUjAGK9FBBNsX5RkJXRoJdRAQOvACoDkgXl2D4AKQM8VeAIPoBF332BvAgFsk/oPAA8PDUQP3FfN7i2skV4tDAGSLUzSLS2wrMNAr0XXwv2FodRNQi9Xpi4Fi+oCJuolRI+t/QC+NjCningjBcnGDnsGNNC8F8yzIlJ5oi0tki4BDVCv1K82JwACIc0SJ8ABLPCvgm0BUjQxxg+nwDWYAiwE7xXIEK8UBwQ5OZokBdeiLYaA79Y0MaP8B8wEDQNWLA4tIBCATYCGwCotzZFKQegPOwAPKUVDoXrI6cCBADAPIi/GJkAD+YANyJItTcAhxp42SPFAEigdlp08BNKcJAAGB/sEbcw2LE/SLQhKJ7tANwjL7WLHWBFNV0CcMi0UEi6jYO9kAYdnQSgViFagrw4lQAUUgXRigEwAUi00Ai1UwUyBRUugFESL1iUUAMIvLVot1AIsawRG4GAoTwAJFCCa7AAPLA8NfiU0AAIlFCF6Lw11bBMOQCwBRVVaLdAAkEFcz/4tGbAA9BgEAAHMnVhDoNv7/ATyDxAQBA0gMi0wkGIXJAA+E8wIAAIXACA+EfwAOg/gDcgBBi0ZAi05QiwBWZIt+MNPgMwDJikwXAot+TAAzwYtOPCPHM4D/iUZAZos8ACYALItOOCPCZokBAAtWQItGPGaLAE5kZokMUIX/BHQnAT5GJCvXLQEBbDvQdxaDvoAAAAAAAnQNV1YE6IoBasQIiUZYiItGWABzD4JMACWQi5aYFgAFrpwABQCKyGaLRmRmKwBGaIDpA4hMJKAUZolEVQAhkAIhAYETBf//AACIDCYqhBoAEUKJAgWB4QEADAAz0oqRSGEAARBm/4SWkAQAAABmPQABjYwxAgVzESWBHQBsiEiAXwEQi8HrEgIIiMHoB4AakEhggAkiwoAbhoAJACyGlIMBL4IsSDPJO9CAWACLVngPlMGL6QCLTmwryDvCiQBObHdeg/kDcgxZSIFoAXwwi35AAEIzyYlWZIpMiAICi4CcUNPnAJ8MM8cApImhTiyLRgg4I9GAoVCLTkCMi1aAoQB7iQRKADNhgSZ1sOmcgGYArIsAVjADyDPAA9GCiYAFTlDHRljABZgAigJAEgJpSgEBaEhMI8EABOtuRCGOQYEtigQCi5YBVYiARCQMZscESsATho4CUkI1iAQRiwAGBUNVJcFORTPSjYSUhoxAAokCBWb/AAwTgkGCA0k7QT4PlMIISYvqwD7/RmSFIO0PhJD9wJdOVBCFyXwJgCqLwQMgwusCM8DAIWoAACvRUlBW6EUTBQAQDoA3UYlGVOgEx/aACxaDxBSLAEIQhcB0celQJcYPB0AuA8FCD2wkQBgz0oP9BAAbUlOAEgMS/BIJEn4KEnUAE4v1M8CD/gQAXw+VwEheg+AQAl1Zw4A3GF+DAOgEXvfYG8BdACT+g8ADWcNfGF4zwMAGwMuD7BQAU1VWV4t8JCgAi3cki0d0i1cAZItPMItvcIlARCQUi4eIAEKNhJ76wM8DyjvTwASAGHYOK9aBwkG2AIlUJBzrCMdEBCQcQmNUKf+NmQICwAWIVCQoihRCKYABE4uXhIAGOwDqcgXBbCQUAgiLV2yAjFQkIHYKBEABGEDqLItXMACKRCQTA9Y4BBAqD4WlARJEJCiAOEQq/w+FlwJ5IDoBD4WNQQJCARhCOkGAAWFpg8ECAEKKQQFBQjoCVHVDBQE6BQExBQEoVQUBHwUBFgUBDQUBBAA7y3K0i9GNi0L+oBwr04HCYRg7iNV+HEEniXdowF4A6n00ikQK/4oUFArASCgCG1csiwBHOCPWM/ZmiwQ0UCAFHDvwdg8J4AAUSAEnD4Uk/wFAM0QkIDvodwJAi8VfXl1bwDTDrJBRoC3AHhQAlL0AgRIAqZSQ+aKUi1wkAiAmlQiF2w+E6RoDo5QZ4ACtlEzT4ACLTjAz24pcEZoCgWzDv5SglItWoI8AaIX/iVZwiUYgXIluWHTgAXiLIMo7yHNPrZc+OTauIS6Cl80AVYiXBXfiIUObAXQVABMAUGF1AGgryoH5ABAAiAB2AyALi0ZwopwChaAJOUZYD4d8A8GdYQxsik5wi55BgXONbAL9ZuCOK6xGXONyAJ9IIJ8YoIGqUwSfngifGgafGB+fBx+fFZ8iiItWbEgzKNs7yOAYuSAXAA8AlMMryAPRg8CA/olWbIlGcEAehEGLAZM71Xc+BDMTf8ezMkZw4J5wdaxD4AGiQ0HHRmBha4VG2wApQAwPhMwhhVYYVIXSI4XijCvKaqQAUWCD4A6gFQZAK4BQiVZU6GLyIAWKDmGDQWCDD4SkgBek6Y3BB0Zg4QGyoU9RKaVEAv9GpRBVpRC7gwFCpUIFpUICB6WGA6VowXUyeqIxwRVGmbMK8SFLFCESTmxCSRmgx4sWAKwCmw+E5zHADOnQ/KGkgSNBSAeAEcEYMBGJRmzptnORAWENdFzwBPAwUwqKoEQI/4uOJA0cIA2OUcEMIg0iD4gECsMKoouQTECB4kENiQIBdwEkoQ30F43TAC1a4Fn7SetZXQ05Dd/w6lkRx8BZ8AKwWV8jxQBBwFmKw6lZW7RZXTPAsAED84wgFwQz0jvCdAAyi0gcO8p0KwBWiVAUiVAIiQBQGItxDFL33gAb9lCD5geJMQCLQByLSBRR6AQrJeGFDDPAXsMauPBM/wySwUcIhfYgdDiLRhzgEjGLAE4khcl0KotAAhTQAApWUOgbMwPiieABi04oUFH/ZFYk0ADHRiJeRgVeC1YF0XNWwEw7xw+EAvZBWgCKDZSFAUAQOsEPheZxWnxAJBg4D4Xb0RN0gCQMO/d1CF8kBACLRiCJfhg7xwB1CsdGILCQAAAQiX4oOX4kdWAHx0Yk0OAA8AdqGBhqASAI4FAMO8c4iUYcwQOgHsEDTCQIEIl44CIcO8+JEHoMfQwAC/fZxwRADFEhg/kIfFugg/kPf1bwAbgRARDT4IlKAAUci1EADPfaG9JQ99IIgeLgMAZSVuh6SiSBHRwgBolB8QRWgDl6FHUQ6NNACoNQWOIGX17D6HPzAMQzwMAAVui11AGRDDEAAV+4+lQR0oRMJAIIECUEUFFqD1I06NqiAhAUE+NfEIVg9lcPhMDgXGIYDwSEtZFdPgAPhKwDMQGgcTPbg/oEvwL7UAUPlcNLvQVhUQ3j+4lcQHOQGQhAg/kND4eAsAL/UCSNuI6xEgThrGUBQENJM9KJTgSLAE4IQYv7iU4IgIsOihGJUARRAwAWi0gEg+EPQgCA+QiJFnQVxwYAwCogQBzHRhicQSAbiWoE66IgAosAUBDB6QSDwQhQO8p2GEkCuEMC6RJ6UAnHAGEVi0YETdEL7rAA8KGJRmAGCABAi/uLXhyJRoAIiwYz0r0fMSEACECJBotDBMEA4AgDwff1hdLwdCHHA2IFQAkQDdINhfAFzPEFaATpGvAFQPbBIA+FfXAFx0wDB5ECZQLp/aG8SIAUV1ZR6GAjgAGC+IAbg//9dRgxCnICVAXHQBBfEUPAAoWA/3UCi/uD/4CDBkaRZzAH+4tQFI0ASARRVlLo/CEjIgFABItIDJAwC8cUAAyRA5aQA8cACH03DgoxDjAGRA7RDhAOiwD7igjB4RiJSrewAEEOoAcA8GNFA9WyE+EwGEhCiVZQc2EY0GYCERAISAjB4hADqMqJSJgDCpcDm58DlZkDCJwDC5UDdGVVA/ciA7ADUgNIAAPgICcDch6xEB4PhERBFlge9FQeNpSiYggaAPOKQAZ1BzSLxxGNwxcKQCdGBGOABtEVweIY'
    $sFileBin &= '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'
    $sFileBin &= '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'
    $sFileBin &= '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'
    $sFileBin &= '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'
    $sFileBin &= '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'
    $sFileBin &= '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'
    $sFileBin &= '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'
    $sFileBin &= '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'
    $sFileBin &= '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'
    $sFileBin &= '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'
    $sFileBin &= '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'
    $sFileBin &= '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'
    $sFileBin &= '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'
    $sFileBin &= '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'
    $sFileBin &= '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'
    $sFileBin &= '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'
    $sFileBin &= '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'
    $sFileBin &= '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'
    $sFileBin &= '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'
    $sFileBin &= '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'
    $sFileBin &= 'ohEovLy0AGlnxPiEPCrAAB1Fkrx6VOhJAEtnrG1TjuZqAHWdaFq6mFBfAAwpoeho3LDXABrNnS38DXtKAHgKq7twYfDTAMrncWXMIoX1ADrIAE1aPGU+AJqV7ae4CWhSAIxbMOEiq4eyAMqLYdc5I+mPABqJc2bzvcbIAD2e2/5hXBZFAAw2bVqhhSTaAFpCgTYbT3kIABTfyGHqdr6gADYnNBecEsfqACTmWLLHTBnkANyzMAQ28h1HAFR/yLS8ftdLAKb73tJTm6cNAG5Vj+6zekMTAESaBfb3KjISAGm+GlxH6kxkAA828pYTTlFiAPo+e6nV+YCWAL5x94Ca2rVSAFKPggSN6hDAAAA='
    $sFileBin = Binary ( _Base64Decode ( $sFileBin ) )
    $sFileBin = Binary ( _LzntDecompress ( $sFileBin ) )
    If Not FileExists ( $sOutputDirPath ) Then DirCreate ( $sOutputDirPath )
    If StringRight ( $sOutputDirPath, 1 ) <> '\' Then $sOutputDirPath &= '\'
    Local $sFilePath = $sOutputDirPath & $sFileName
    If FileExists ( $sFilePath ) Then
        If $iOverWrite = 1 Then
            If Not Filedelete ( $sFilePath ) Then Return SetError ( 2, 0, $sFileBin )
        Else
            Return SetError ( 0, 0, $sFileBin )
        EndIf
    EndIf
    Local $hFile = FileOpen ( $sFilePath, 16+2 )
    If $hFile = -1 Then Return SetError ( 3, 0, $sFileBin )
    FileWrite ( $hFile, $sFileBin )
    FileClose ( $hFile )
    Return SetError ( 0, 0, $sFileBin )
EndFunc ;==> _Xzipdll ()

Func _Base64Decode ( $input_string ) ; by trancexx
     Local $struct = DllStructCreate ( 'int' )
     Local $a_Call = DllCall ( 'Crypt32.dll', 'int', 'CryptStringToBinary', 'str', $input_string, 'int', 0, 'int', 1, 'ptr', 0, 'ptr', DllStructGetPtr ( $struct, 1 ), 'ptr', 0, 'ptr', 0 )
     If @error Or Not $a_Call[0] Then Return SetError ( 1, 0, '' )
     Local $a = DllStructCreate ( 'byte[' & DllStructGetData ( $struct, 1) & ']' )
     $a_Call = DllCall ( 'Crypt32.dll', 'int', 'CryptStringToBinary', 'str', $input_string, 'int', 0, 'int', 1, 'ptr', DllStructGetPtr ( $a ), 'ptr', DllStructGetPtr ( $struct, 1 ), 'ptr', 0, 'ptr', 0 )
     If @error Or Not $a_Call[0] Then Return SetError ( 2, 0, '' )
     Return DllStructGetData ( $a, 1 )
EndFunc ;==> _Base64Decode ()

Func _LzntDecompress ( $bBinary ); by trancexx
    $bBinary = Binary ( $bBinary )
    Local $tInput = DllStructCreate ( 'byte[' & BinaryLen ( $bBinary ) & ']' )
    DllStructSetData ( $tInput, 1, $bBinary )
    Local $tBuffer = DllStructCreate ( 'byte[' & 16 * DllStructGetSize ( $tInput ) & ']' )
    Local $a_Call = DllCall ( 'ntdll.dll', 'int', 'RtlDecompressBuffer', 'ushort', 2, 'ptr', DllStructGetPtr ( $tBuffer ), 'dword', DllStructGetSize ( $tBuffer ), 'ptr', DllStructGetPtr ( $tInput ), 'dword', DllStructGetSize ( $tInput ), 'dword*', 0 )
    If @error Or $a_Call[0] Then Return SetError ( 1, 0, '' )
    Local $tOutput = DllStructCreate ( 'byte[' & $a_Call[6] & ']', DllStructGetPtr ( $tBuffer ) )
    Return SetError ( 0, 0, DllStructGetData ( $tOutput, 1 ) )
EndFunc ;==> _LzntDecompress ()

AutoIt 3.3.14.2 X86 - SciTE 3.6.0WIN 8.1 X64 - Other Example Scripts

Share this post


Link to post
Share on other sites

#3 ·  Posted (edited)

Hi

Thanks for you attention.

Here you can read why:

1.

licences - freeware

if you add this to udf then all programs using this also must be freeware

because your code contains code from Xstandards

this not happend when you use this dll as a separate file

I think so.

There may be others issue with licence.

2.

I think would be able to use this library directly from memory using DllCall
But the thing is that my experience with DllCall has its limit at zero :)

In exchange I feel good surrounded ActiveX objects.

 

Cheers

mLipok

Edit: typo

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 *
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 API *

My contribution to others projects or UDF based on  others projects: * _sql.au3 UDF  * POP3.au3 UDF *  RTF Printer - UDF * XML.au3 - BETA * ADO.au3 UDF SMTP Mailer 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 * Best coding practices * 

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) * 

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: 2017-06-04

Share this post


Link to post
Share on other sites

I think 1 would not be relevant by what wakillon has done.  I believe what they mean actual source code from the project included.  Wakillon just encoded the file, not actual source code, to be included in the script.

 

Adam

Share this post


Link to post
Share on other sites

Maybe yes, maybe not.
But it sounds reasonable.

Help needed: Is the courtroom is a lawyer ?


Signature beginning:   Wondering who uses AutoIT and what it can be used for ?
* GHAPI UDF - modest begining - comunication with GitHub REST API *
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 API *

My contribution to others projects or UDF based on  others projects: * _sql.au3 UDF  * POP3.au3 UDF *  RTF Printer - UDF * XML.au3 - BETA * ADO.au3 UDF SMTP Mailer 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 * Best coding practices * 

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) * 

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: 2017-06-04

Share this post


Link to post
Share on other sites

Today i find a very similar old thread here


Signature beginning:   Wondering who uses AutoIT and what it can be used for ?
* GHAPI UDF - modest begining - comunication with GitHub REST API *
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 API *

My contribution to others projects or UDF based on  others projects: * _sql.au3 UDF  * POP3.au3 UDF *  RTF Printer - UDF * XML.au3 - BETA * ADO.au3 UDF SMTP Mailer 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 * Best coding practices * 

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) * 

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: 2017-06-04

Share this post


Link to post
Share on other sites

NEW VERSION:

2014/07/01
v0.2
* CleanUp
* using #AutoIt3Wrapper_Au3Check_Parameters
* Fixed - _XZIP_UnPack - this function earlier, did not create the object
* !!! in #HEADER# added remarks about Known Issues
* supplemented #CURRENT# section
* added  _WinAPI_FileInUse($sArchive)

Signature beginning:   Wondering who uses AutoIT and what it can be used for ?
* GHAPI UDF - modest begining - comunication with GitHub REST API *
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 API *

My contribution to others projects or UDF based on  others projects: * _sql.au3 UDF  * POP3.au3 UDF *  RTF Printer - UDF * XML.au3 - BETA * ADO.au3 UDF SMTP Mailer 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 * Best coding practices * 

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) * 

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: 2017-06-04

Share this post


Link to post
Share on other sites

#9 ·  Posted (edited)

I check it:

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

#include "XZIP.au3"

Local $oXZIP
_XZIP_UseErrorHandler()
Local $sFileFullPath_ZIP_Archive = FileOpenDialog('Subtitle to extract', @ScriptDir, 'Zipped Subtitle (*.zip)')
_XZIP_UnPack($oXZIP, $sFileFullPath_ZIP_Archive, @ScriptDir)

For $out In _XZIP_Contents($oXZIP, $sFileFullPath_ZIP_Archive)
    ConsoleWrite($out.Path & $out.Name & @CRLF)
Next

This can unpack, but can't list this archive.

But this is not related to file name length, but to compression "standard".

Try tu unpack it and after this try to zip it again. ( for make new zip file I was using TotalCommander and Explorer from Windows )

Now try my snippet to test this new zip archive.

btw.

you can use other ZIP UDF listed in this wiki paged

edit: typo

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 *
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 API *

My contribution to others projects or UDF based on  others projects: * _sql.au3 UDF  * POP3.au3 UDF *  RTF Printer - UDF * XML.au3 - BETA * ADO.au3 UDF SMTP Mailer 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 * Best coding practices * 

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) * 

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: 2017-06-04

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  
Followers 0

  • Similar Content

    • Ascer
      By Ascer
      1. Description.
      oAuth 2.0 is security system implemented by Google a few years ago. You are able to connect into your Google accounts and manage documents. In this UDF i show you how to pass first authorization process., this allow you to automate most of functions using API interface. 2. Requirements.
      Google account. oAuth.au3 Download 3. Possibilities
      ;============================================================================================================ ; Date: 2018-02-10, 14:21 ; ; Description: UDF for authorize your app with oAuth 2.0 Google. ; ; Function(s): ; oAuth2GetAuthorizationCode() -> Get Code for "grant". ; oAuth2GetAccessToken() -> Get "access_token" and "refresh_token" first time. ; oAuth2RefreshAccessToken() -> Get current "access_token" using "refresh_token". ; ; Author(s): Ascer ;============================================================================================================ 4. Enable your Google API.
          4.1. Video Tutorial not mine!
       YouTube     4.2 Screenshots from authorization process (Polish language) 
      Go to https://console.developers.google.com/apis/dashboard and accept current rules.  

       
      Next create an new project  

       
      Enter name of you new project and click Create  

       
      Google will working now, please wait until finish. Next go to enable your API interface, we make if for Google  

       
      Take "Gmail" in search input and after click in found result.  

       
      Click Enable interface, Google will working now.  

       
      Create your login credentials  

       
      Select Windows Interface (combobox), User credentials (radio) and click button what is need bla bla  

       
      Type name of a new client id for oAuth 2.0 and click Create a new Client ID.  

       
      Next configure screen aplication, type some name and click Next. Google will working now.  

       
      Last step on this website is download source with your credentials in *Json format.  

       
      Now you received a file named client_id.json, it's how it look in Sublime Text:  

       
      5. Coding.
      Now we need to call a some function to get access code.  
      #include <oAuth.au3> Local $sClientId = "167204758184-vpeues0uk6b0g4jrnv0ipq5fapoig2v8.apps.googleusercontent.com" Local $sRedirectUri = "http://localhost" oAuth2GetAuthorizationCode($sClientId, $sRedirectUri)  
      Function will execute default browser for ask you to permission.  

       
      Next Google ask you to permission for access to your personal details by application Autoit   

       
      Now you can thing is something wrong but all is ok, you need to copy all after  code= . It your access code.  

       
      Let's now ask Google about our Access Token and Refresh Token  
      #include <oAuth.au3> Local $sClientId = "167204758184-vpeues0uk6b0g4jrnv0ipq5fapoig2v8.apps.googleusercontent.com" Local $sClientSecret = "cWalvFr3WxiE6cjUkdmKEPo8" Local $sAuthorizationCode = "4/AAAPXJOZ-Tz0s6mrx7JbV6nthXSfcxaszFh_aH0azVqHkSHkfiwE8uamcabn4eMbEWg1eAuUw7AU0PQ0XeWUFRo#" Local $sRedirectUri = "http://localhost" Local $aRet = oAuth2GetAccessToken($sClientId, $sClientSecret, $sAuthorizationCode, $sRedirectUri) If Ubound($aRet) <> 4 then ConsoleWrite("+++ Something wrong with reading ResponseText." & @CRLF) Exit EndIf ConsoleWrite("Successfully received data from Google." & @CRLF) ConsoleWrite("access_token: " & $aRet[0] & @CRLF) ConsoleWrite("expires_in: " & $aRet[1] & @CRLF) ConsoleWrite("refresh_token: " & $aRet[2] & @CRLF) ConsoleWrite("token_type: " & $aRet[3] & @CRLF)  
      Important! When you received error 400 and output says: Invalid grant it means that your previous generated access_code lost validity and you need to generate new calling previus code. When everything is fine you should received a 4 informations about your: access_token, expires_in, refresh_token and token_type. Access_Token time is a little short so you need to know fuction possible to refresh it (tell Google that he should generate a new Token for you)  
      #include <oAuth.au3> Local $sRefreshToken = "1/ba8JpW7TjQH3-UI1BvPaXhSf-oTQ4BmZAbBfhcKgKfY" Local $sClientId = "167204758184-vpeues0uk6b0g4jrnv0ipq5fapoig2v8.apps.googleusercontent.com" Local $sClientSecret = "cWalvFr3WxiE6cjUkdmKEPo8" Local $sRedirectUri = "http://localhost" Local $aRet = oAuth2RefreshAccessToken($sRefreshToken, $sClientId, $sClientSecret) If Ubound($aRet) <> 3 then ConsoleWrite("+++ Something wrong with reading ResponseText." & @CRLF) Exit EndIf ConsoleWrite("Successfully received data from Google." & @CRLF) ConsoleWrite("access_token: " & $aRet[0] & @CRLF) ConsoleWrite("expires_in: " & $aRet[1] & @CRLF) ConsoleWrite("token_type: " & $aRet[2] & @CRLF)  
      6. Finish words
      If you followed all this above steps im sure that you received all informations required for coding your Google API (Gmail, Dropbox, YouTube, Calender etc. See next thread: [UDF] Gmail API - Email automation with AutoIt!
    • Ascer
      By Ascer
      1. Description.
      Automate communication with Gmail API using oAuth 2.0 security. 2. Requirements.
      Google Gmail account. Finished Authorization process. Look here 3. Possibilities.
      ;======================================================================================================================== ; Date: 2018-02-12, 11:46 ; ; Bug Fixs: 2018-02-17, 7:31 -> Fixed problems with adding items to array and minor bugs. ; ; Description: UDF for using Gmail API interface. This UDF requires oAuth.au3 and Gmail account. ; ; Function(s): ; gmailUsersGetProfile() -> Information about your account. ; gmailUsersLabelsList() -> Get all available labels ids. ex. "INBOX", "UNREAD" ; gmailUsersLabelsGet() -> Get information about specific label id. ; gmailUsersMessagesBatchDelete() -> Delete many messages emails by id. ; gmailUsersMessagesBatchModify() -> Set status for many messages ex. "INBOX", "UNREAD" ; gmailUsersMessagesDelete() -> Totaly delete email from ur account. ; gmailUsersMessagesGet() -> Get all information about specific email. ; gmailUsersMessagesList() -> Get list of last ~100 emails. ; gmailUsersMessagesModify() -> Modify single message. ; gmailUsersMessagesTrash() -> Put email in trash. ; gmailUsersMessagesUntrash() -> Restore email from trash. ; gmailUsersMessagesSend() -> Send email to single or group recipients. ; gmailUsersMessagesAttachmentsGet() -> Download attachment by id. ; ; Author(s): Ascer ;======================================================================================================================== 4. Downloads.
      oAuth.au3 Gmail API.au3 5. Examples.
      Sending emails
    • islandspapand
      By islandspapand
      Hi All
      i am currently trying to add a function to my project that can send SMS, i have gone with Twilio for the sms service that use a REST API.
      I have never worked with an API before, and could use some help.
      I can get my function working with using cURL.exe and copy past command from the website with the following code. And thats great unfortunately i am have issue with character like æøå when sending a SMS appears like a box or ?. this does not happen if i do it from the website so it looks like a Unicode issue in curl.exe.
      I have done some searching on the forum and understand that i should be able to implement this curl command with the WinHTTP UDF from @trancexx so i don't need a third part exe and it might fix my charater issue.
      Unfortunately i really don't understand how i am to change curl commands to the WinHTTP and i was hoping some good maybe give me an example i could learn from.
      Thanks in advanced
      i have removed the AuthToken number from the script.
      _SendSMS("00000000","SomeOne","SMS body info") Func _SendSMS($SendTo,$SendFrom,$Msgtxt) $AccountSID = "ACbb765b3180d5938229eff8b8f63ed1bc" $AuthToken = "Auth Token number" $Data = '"https://api.twilio.com/2010-04-01/Accounts/'&$AccountSID&'/Messages.json"'& _ '-X POST \ --data-urlencode "To=+45'&$SendTo&'" \ --data-urlencode "From='&$SendFrom&'" \ --data-urlencode "Body='&$Msgtxt&'" \ -u '&$AccountSID&':'&$AuthToken&'' ShellExecute(@ScriptDir&"\curl.exe","-k "&$Data) ;~ curl 'https://api.twilio.com/2010-04-01/Accounts/ACbb765b3180d5938229eff8b8f63ed1bc/Messages.json' -X POST \ ;~ --data-urlencode 'To=+4500000000' \ ;~ --data-urlencode 'From=Reception' \ ;~ --data-urlencode 'Body=Test Body' \ ;~ -u ACbb765b3180d5938229eff8b8f63ed1bc:[AuthToken] EndFunc  
       
    • jesus40
      By jesus40
      Hello friends, i have a working curl command that show informations about my account on binance.com, but_it dont work with autoit code without curl.exe.
      I want to do it without curl, because the whole process much Slower_ with StdoutRead (I want get the response in variable.)
      My Curl command in Autoit:
      This 2 are works, but_ i would like to do it without curl.exe
      $apikey="XYZ" sCommand = @ScriptDir & '\curl.exe -k -H "X-MBX-APIKEY: ' & $apikey & '" -X GET "https://api.binance.com/api/v3/account?' & $request the same in .bat  file
      curl.exe -k -H "X-MBX-APIKEY: XYZ" -X GET "https://api.binance.com/api/v3/account?timestamp=1514917812000&signature=85bdee77e53cd521e1d5229fbfb459d53799c42b3fa4596d73f1520fad5f965a" (I use curl with -k option which allows curl to make insecure connections, because there is problem with the sites certificate, (cURL error 60))
       
      I tried many variations, this is the latest... I cant get the same response.
      curl $error message (I changed ): {"code":-2015,"msg":"Invalid API-key, IP, or permissions for action."}
      autoit version $error message (Response code:400): Mandatory parameter 'timestamp' was not sent, was empty/null, or malformed.
       
      $request = $query & '&signature=' & $signature $oHTTP = ObjCreate("winhttp.winhttprequest.5.1") $oHTTP.Open("GET", "https://api.binance.com/api/v3/account", False) $oHTTP.SetRequestHeader("X-MBX-APIKEY", $apikey) $oHTTP.Send($request) $oReceived = $oHTTP.ResponseText $oStatusCode = $oHTTP.Status If $oStatusCode <> 200 then MsgBox(4096, "Response code", $oStatusCode) EndIf  
      thanks
    • nznet
      By nznet
      Hi Guys,
      I have been trying to write the API calls to Coinigy.com in AutoitScipt. I have managed to solve most of them put are having trouble with the ones that require parameters to be passed.
      The source to the API calls can be found here:
      http://docs.coinigy.apiary.io/#reference/market-data/market-data/data-{type:history}
      Example code from this site:
      curl --include \      --request POST \      --header "Content-Type: application/json" \      --header "X-API-KEY: " \      --header "X-API-SECRET: " \      --data-binary "    {         \"exchange_code\": \"GDAX\",         \"exchange_market\": \"BTC/USD\",         \"type\": \"history\"     }" \ ' https://api.coinigy.com/api/v1/data '  
      This data one is really annoying me. I have the following so far:
      #include <Array.au3> #include <string.au3> #include <MsgBoxConstants.au3> #Region Coinigy Const Global $sCoinigyAPIUrl = "https://api.coinigy.com/api/v1/" #EndRegion Coinigy Const #Region keys Global Const $sCoinigyAPIKey = "" ; just removed my APIKey Global Const $sCoinigyAPISecret = "" ; just removed my APISecret #EndRegion keys $sResults = CoinigyQueryPrivate("data", "exchange_code=GDAX&exchange_market=BTC/USD&type=history") ; Trade history, asks and bids for any supported exchange/market ConsoleWrite("Market Data: " & $sResults & @CRLF & @CRLF) Func CoinigyQueryPrivate($sMethod, $sParameters)     Local $oHTTP = ObjCreate("winhttp.winhttprequest.5.1")     $oHTTP.Open("POST", $sCoinigyAPIUrl & $sMethod, False)     $oHTTP.SetRequestHeader("X-API-KEY", $sCoinigyAPIKey)     $oHTTP.SetRequestHeader("X-API-SECRET", $sCoinigyAPISecret)    ; $oHTTP.Send(Binary($sParameters)) ; tried this as well     $oHTTP.Send($sParameters)     Local $sReceived = $oHTTP.ResponseText     Return $sReceived EndFunc   ;==>CoinigyQueryPrivate  
      If I do other queries that don't require Parameters they work perfectly. I am just totally stumped by the parameter passing queries. I have tried everything and I still can't get it to go. Would really appreciate some help.
      If you want to try for yourself live, Coinigy.com give a free 30 trial.... 
      Please help...
      Thanks in advance.