Jump to content

Recommended Posts

What is TrIDLib.dll?

This standard Win32 DLL library, based on TrID's core engine, make adding file identification / file recognition capabilities to any kind of application a very easy & quick process. If you need a managed library, check the TrIDEngine. For more Info Go to Author website http://mark0.net/index-e.html

Functions in the UDF are:

_TrIDLib_Startup

_TrIDLib_Shutdown

_TrIDLib_GetInfo

_TrIDLib_GetRealExtension

_TrIDLib_GetVersion

_TrIDLib_GetFileTypeDef

Here is main udf:

#AutoIt3Wrapper_AU3Check_Parameters=-d -w 1 -w 2 -w 3 -w 4 -w 5 -w 6
#include-once

; TrIDlib AutoIt Demo[Modified]

; #INDEX# =======================================================================================================================
; Title .........: 7Zip
; AutoIt Version : 3.3.8.1
; Language ......: English
; Description ...: Functions that assist with TrIDLib DLL.
; Author(s) .....: Gajjar Tejas
; Notes .........: The original code came from this subject : http://mark0.net/download/tridlib-samples.zip
;                 - 12 June 2013 :
;                       * Intial
;                       * Added _TrIDLib_GetInfo, _TrIDLib_GetVersion, _TrIDLib_GetFileTypeDef,_TrIDLib_Startup, _TrIDLib_Shutdown,_TrIDLib_GetRealExtension
;                       * 32bit dll Version(v1.0.2.0).
;                       * Auto Open Dll, Manually Close
;                 - Note
;                       * Using _TrIDLib_Startup() and _TrIDLib_Shutdown() is recommanded for multiples Files.
;                       * The last x32 DLL file can be found here : http://mark0.net/code-tridlib-e.html
;                       * The last Definition file can be found here : http://mark0.net/soft-trid-e.html
; ===============================================================================================================================

; #CURRENT# =====================================================================================================================
;_TrIDLib_Startup
;_TrIDLib_Shutdown
;_TrIDLib_GetInfo           Auto Open dll***
;_TrIDLib_GetVersion        Auto Open dll
;_TrIDLib_GetFileTypeDef    Auto Open dll

;***Using _TrIDLib_Startup() and _TrIDLib_Startup() is recommanded for multiples Files to avoid
;   repetitive dll open that can increase operation time.
;***If _TrIDLib_Startup is not specified then dll will open and close automatically for _TrIDLib_GetInfo()
; ===============================================================================================================================

; #VARIABLES# ===================================================================================================================
; Definations & dll File
Global $sTridDllFile = @ScriptDir & "\TrIDLib.dll"
Global $sTridDefDir = @ScriptDir
Global $sTridDefFile = $sTridDefDir & "\triddefs.trd"

; Others
Global $iTridIsDllOpen = 0 ;Default Dll is not opened.
Global $hTridDll = 0 ;Handle to Dll
Global $iTridAutoLoad = 1 ;Default auto load Dll

; Constants FOR TrID_GetInfo
Const $TRID_GET_RES_NUM = 1 ;Get the number of results available
Const $TRID_GET_RES_FILETYPE = 2 ;Filetype descriptions
Const $TRID_GET_RES_FILEEXT = 3 ;Filetype extension
Const $TRID_GET_RES_POINTS = 4 ;Matching points

Const $TRID_GET_VER = 1001 ;TrIDLib version (major * 100 + minor)
Const $TRID_GET_DEFSNUM = 1004 ;Number of filetypes definitions loaded
; ===============================================================================================================================


; #FUNCTION# ====================================================================================================================
; Name ..........: _TrIDLib
; Description ...: Identify file types from their binary signatures.
; Syntax ........: _TrIDLib($sFile)
; Parameters ....: $sFile               - A full path of file.
; Return values .: Success - Returns the array (n x 4) with results
;                           n = Total No of possible file type found(UBound(array, 1))
;                           array[0][0] = File Type 1st instant
;                           array[0][1] = Extension "
;                           array[0][2] = Points    "
;                           array[0][3] = % Point   "
;                           ...
;                           array[n-1][0] = File Type   (n-1)th instant
;                           array[n-1][1] = Extension   "
;                           array[n-1][2] = Points      "
;                           array[n-1][3] = % Point     "
;                 Failure - Returns 0 and and sets @error to non zero
;                           |1 = TrIDLib.dll File Not Found.(FileExist)
;                           |2 = Triddefs.trd File Not Found(FileExist)
;                           |3 = While Opening TrIDLib.dll(DllOpen)
;                           |4 = While Loading triddefs.trd(DllCall)
;                           |5 = While Submitting File(DllCall)
;                           |6 = While Analysing File(DllCall)
;                           |7 = Unable to detect file type(DllCall)
; Author ........: Gajjar Tejas
; Modified ......:
; Remarks .......:
; Related .......:
; Link ..........:
; Example .......: Yes
; ===============================================================================================================================
Func _TrIDLib_GetInfo($sFile)

    If $iTridAutoLoad Then
        _TrIDLib_Startup()
        If @error Then Return SetError(@error, 0, 0)
        $iTridAutoLoad = 1
    Else
        ;Check if Manually Load Using _TrIDLib_Startup and previously dll open or not
        If Not $iTridIsDllOpen Then
            _TrIDLib_Startup()
            If @error Then Return SetError(@error, 0, 0)
        EndIf
    EndIf

    ; load the definitions
    Local $Ret = DllCall($hTridDll, "int", "TrID_LoadDefsPack", "str", $sTridDefDir)
    If @error Then Return SetError(4, 0, 0)

    ; submit the file
    $Ret = DllCall($hTridDll, "int", "TrID_SubmitFileA", "str", $sFile)
    If @error Then Return SetError(5, 0, 0)

    ; perform the analysis
    $Ret = DllCall($hTridDll, "int", "TrID_Analyze")
    If @error Then Return SetError(6, 0, 0)

    Local $Buf
    $Ret = DllCall($hTridDll, "int", "TrID_GetInfo", "int", $TRID_GET_RES_NUM, "int", 0, "str", $Buf)

    Local $iTotalSumPoints = 0
    Local $RetCom
    If $Ret[0] > 0 Then
        Local $aTridLibInfoInform2D[$Ret[0]][4]

        For $ResId = 0 To $Ret[0] - 1

            ;Get File Type
            $RetCom = DllCall($hTridDll, "int", "TrID_GetInfo", "int", $TRID_GET_RES_FILETYPE, "int", $ResId + 1, "str", $Buf)
            $aTridLibInfoInform2D[$ResId][0] = $RetCom[3] ;First Element

            ;Get Extension
            $RetCom = DllCall($hTridDll, "int", "TrID_GetInfo", "int", $TRID_GET_RES_FILEEXT, "int", $ResId + 1, "str", $Buf)
            $aTridLibInfoInform2D[$ResId][1] = $RetCom[3] ;Second Element

            ;Get Points
            $RetCom = DllCall($hTridDll, "int", "TrID_GetInfo", "int", $TRID_GET_RES_POINTS, "int", $ResId + 1, "str", $Buf)
            $aTridLibInfoInform2D[$ResId][2] = $RetCom[0]
            $iTotalSumPoints += Number($aTridLibInfoInform2D[$ResId][2]) ;Third Element

        Next

        ;Get Points in Percentage
        If $iTotalSumPoints > 0 Then
            For $ResId = 0 To $Ret[0] - 1
                $aTridLibInfoInform2D[$ResId][3] = Round($aTridLibInfoInform2D[$ResId][2] * 100 / $iTotalSumPoints, 2) ;Fourth Element
            Next
        EndIf

    Else
        Return SetError(7, 0, 0)
    EndIf
    If $iTridAutoLoad Then _TrIDLib_Shutdown()
    Return $aTridLibInfoInform2D
EndFunc   ;==>_TrIDLib_GetInfo

; #FUNCTION# ====================================================================================================================
; Name ..........: _TrIDLib_GetRealExtension
; Description ...:
; Syntax ........: _TrIDLib_GetRealExtension($sFile)
; Parameters ....: $sFile               - A full path of file.
; Return values .: Success - Returns the Original File Extension
;                 Failure - Returns Empty String('') and and sets @error to non zero
;                           |1 = TrIDLib.dll File Not Found.(FileExist)
;                           |2 = Triddefs.trd File Not Found(FileExist)
;                           |3 = While Opening TrIDLib.dll(DllOpen)
;                           |4 = While Loading triddefs.trd(DllCall)
;                           |5 = While Submitting File(DllCall)
;                           |6 = While Analysing File(DllCall)
;                           |7 = Unable to detect file type(DllCall)
;                           |8 = File was Identified But Extension Not Found in the Database(null('') extension return by dll)
; Author ........: Gajjar Tejas
; Modified ......:
; Remarks .......:
; Related .......:
; Link ..........:
; Example .......: Yes
; ===============================================================================================================================
Func _TrIDLib_GetRealExtension($sFile)
    Local $at = _TrIDLib_GetInfo($sFile)
    Local $iErr = @error
    Local $sExt = $at[0][1]

    If Not $iErr Then
        If $sExt <> "" Then
            $sExt = "." & $sExt
        Else
            Return SetError(8, 0, '');null extension return by dll
        EndIf
    Else
        Return SetError($iErr, 0, '')
    EndIf
    Return $sExt
EndFunc   ;==>_TrIDLib_GetRealExtension

; #FUNCTION# ====================================================================================================================
; Name ..........: _TrIDLib_GetVersion
; Description ...: Get the TrIDLib.dll version
; Syntax ........: _TrIDLib_GetVersion()
; Parameters ....:
; Return values .: Success - Returns Numrical - Version
;                 Failure - Returns 0 and and sets @error to non zero
;                           |1 = TrIDLib.dll File Not Found.(FileExist)
;                           |2 = Triddefs.trd File Not Found(FileExist)
;                           |3 = While Opening TrIDLib.dll(DllOpen)
;                           |4 = While Loading triddefs.trd(DllCall)
; Author ........: Gajjar Tejas
; Modified ......:
; Remarks .......:
; Related .......:
; Link ..........:
; Example .......: Yes
; ===============================================================================================================================
Func _TrIDLib_GetVersion()

    ;Check if is dll open or not
    If Not $iTridIsDllOpen Then
        _TrIDLib_Startup()
        If @error Then Return SetError(@error, 0, 0)
    EndIf

    ;Get TrIDLib version
    Local $Buf
    Local $RetCom = DllCall($hTridDll, "int", "TrID_GetInfo", "int", $TRID_GET_VER, "int", 0, "str", $Buf)

    Return Round($RetCom[0] / 100, 2)
EndFunc   ;==>_TrIDLib_GetVersion

; #FUNCTION# ====================================================================================================================
; Name ..........: _TrIDLib_GetFileTypeDef
; Description ...: Get the total no of Definitions triddefs.trd
; Syntax ........: _TrIDLib_GetFileTypeDef()
; Parameters ....:
; Return values .: Success - Returns Numrical - Version
;                 Failure - Returns 0 and and sets @error to non zero
;                           |1 = TrIDLib.dll File Not Found.(FileExist)
;                           |2 = Triddefs.trd File Not Found(FileExist)
;                           |3 = While Opening TrIDLib.dll(DllOpen)
;                           |4 = While Loading triddefs.trd(DllCall)
; Author ........: Your Name
; Modified ......:
; Remarks .......:
; Related .......:
; Link ..........:
; Example .......: No
; ===============================================================================================================================
Func _TrIDLib_GetFileTypeDef()

    ;Check if is dll open or not
    If Not $iTridIsDllOpen Then
        _TrIDLib_Startup()
        If @error Then Return SetError(@error, 0, 0)
    EndIf

    ; load the definitions
    DllCall($hTridDll, "int", "TrID_LoadDefsPack", "str", $sTridDefDir)
    If @error Then Return SetError(4, 0, 0)

    ;Get Number of filetypes definitions loaded
    Local $Buf
    Local $RetCom = DllCall($hTridDll, "int", "TrID_GetInfo", "int", $TRID_GET_DEFSNUM, "int", 0, "str", $Buf)

    Return $RetCom[0]
EndFunc   ;==>_TrIDLib_GetFileTypeDef

; #FUNCTION# ====================================================================================================================
; Name ..........: _TrIDLib_CheckFiles
; Description ...: Check File
; Syntax ........: _TrIDLib_CheckFiles()
; Parameters ....:
; Return values .: Success - Returns 1
;                  Failure - Returns 0 and and sets @error to non zero
;                           |1 = TrIDLib.dll File Not Found.(FileExist)
;                           |2 = Triddefs.trd File Not Found(FileExist)
; Author ........: Gajjar Tejas
; Modified ......:
; Remarks .......:
; Related .......:
; Link ..........:
; Example .......: No
; ===============================================================================================================================
Func _TrIDLib_CheckFiles()
    If Not FileExists($sTridDllFile) Then
        Return SetError(1, 0, 0)
    ElseIf Not FileExists($sTridDefFile) Then
        Return SetError(2, 0, 0)
    Else
        Return SetError(0, 0, 1)
    EndIf
EndFunc   ;==>_TrIDLib_CheckFiles

; #FUNCTION# ====================================================================================================================
; Name ..........: _TrIDLib_Startup
; Description ...: Manually Load TrIDLib.dll
; Syntax ........: _TrIDLib_Startup()
; Parameters ....:
; Return values .: Success - Returns 1
;                  Failure - Returns 0 and and sets @error to non zero
;                           |1 = TrIDLib.dll File Not Found.(FileExist)
;                           |2 = Triddefs.trd File Not Found(FileExist)
;                           |3 = While Opening TrIDLib.dll(DllOpen)
; Author ........: Gajjar Tejas
; Modified ......:
; Remarks .......:
; Related .......:
; Link ..........:
; Example .......: No
; ===============================================================================================================================
Func _TrIDLib_Startup()
    _TrIDLib_CheckFiles()
    If @error Then Return SetError(@error, 0, 0)

    $hTridDll = DllOpen($sTridDllFile)
    If $hTridDll = -1 Then Return SetError(3, 0, 0)
    $iTridIsDllOpen = 1
    $iTridAutoLoad = 0
    Return SetError(0, 0, 1)
EndFunc   ;==>_TrIDLib_Startup
; #FUNCTION# ====================================================================================================================
; Name ..........: _TrIDLib_Shutdown
; Description ...:Manually Unload TrIDLib.dll
; Syntax ........: _TrIDLib_Shutdown()
; Parameters ....:
; Return values .: None
; Author ........: Gajjar Tejas
; Modified ......:
; Remarks .......:
; Related .......:
; Link ..........:
; Example .......: No
; ===============================================================================================================================
Func _TrIDLib_Shutdown()
    DllClose($hTridDll)
    $iTridAutoLoad = 1;Default auto load
    $iTridIsDllOpen = 0
EndFunc   ;==>_TrIDLib_Shutdown

Example:1

#AutoIt3Wrapper_AU3Check_Parameters=-d -w 1 -w 2 -w 3 -w 4 -w 5 -w 6

#Region    ;************ Includes ************
#Include "_TrIDLib.au3"
#include <Array.au3>
#EndRegion ;************ Includes ************

_Example()

Func _Example()
    MsgBox(0, "Info", _
            "TrIDLib.dll version (major * 100 + minor): " & _TrIDLib_GetVersion() & @CRLF & _
            "Number of filetypes definitions loaded:" & _TrIDLib_GetFileTypeDef())

    Local $sFile, $at, $iErr
    $sFile = FileOpenDialog("Choose Any File", "", "Any File (*.*)", 3) ; a file to analyze
    If @error Then Exit

    $at = _TrIDLib_GetInfo($sFile)
    $iErr = @error

    If Not $iErr Then
        MsgBox(0, "Info", "Total No of possible file type found:" & UBound($at, 1))
        MsgBox(0, "Info", "Suggested Extension:" & _TrIDLib_GetRealExtension($sFile))
        _ArrayDisplay($at, "Result", -1, 0, "", "|", "No.|File Type|Extension|Points|% Points")
    Else
        Switch $iErr
            Case 1
                MsgBox(0, "Error", "TrIDLib.dll File Not Found in Script Directory.")
            Case 2
                MsgBox(0, "Error", "triddefs.trd File Not Found in Script Directory.")
            Case 3
                MsgBox(0, "Error", "Error occurs during opening TrIDLib.dll")
            Case 4
                MsgBox(0, "Error", "Error occurs during Loading triddefs.trd.")
            Case 5
                MsgBox(0, "Error", "Error occurs during Submitting File: " & $sFile)
            Case 6
                MsgBox(0, "Error", "Error occurs during Analysing File: " & $sFile)
            Case 7
                MsgBox(0, "Error", "Unable to detect file type")
            Case 8
                MsgBox(0, "Error", "File was Identified But Extension Not Found in the Database(null extension return by dll)")
        EndSwitch
    EndIf
EndFunc   ;==>_Example

Example:2

#AutoIt3Wrapper_AU3Check_Parameters=-d -w 1 -w 2 -w 3 -w 4 -w 5 -w 6

#Region    ;************ Includes ************
#Include "_TrIDLib.au3"
#EndRegion ;************ Includes ************

_Example()

Func _Example()
    ;Load Dll
    _TrIDLib_Startup()

    ;Select Folder
    Local $sDir = FileSelectFolder("choose folder", "")
    If @error Then Exit
    If StringRight($sDir, 1) <> "\" Then $sDir &= "\"

    ;Search Handle
    Local $search = FileFindFirstFile($sDir & "*.*")

    ; Check if the search was successful
    If $search = -1 Then
        MsgBox(0, "Error", "No files/directories matched the search pattern")
        Exit
    EndIf
    MsgBox(0, "Info", "Now,Press Ok to See Console Output")

    Local $at, $iErr = 0

    While 1
        ;Search for file and Folder
        Local $sFile = FileFindNextFile($search)
        If @error Then ExitLoop

        ;Only file allowed
        If StringInStr(FileGetAttrib($sDir & $sFile), "D") = 0 Then
            ConsoleWrite("==============================================================" & @LF)
            ConsoleWrite(">File: " & $sDir & $sFile & @LF)
            ;Get detailed info in array
            $at = _TrIDLib_GetInfo($sDir & $sFile)
            $iErr = @error

            If Not $iErr Then
                ConsoleWrite("Total no of possible file type found:" & UBound($at, 1) & @LF)
                ConsoleWrite("-Suggested extension:" & $at[0][1] & @LF)

                For $i = 0 To UBound($at) - 1
                    ConsoleWrite($i + 1 & "==============" & @LF)
                    ConsoleWrite("File Type:" & $at[$i][0] & @LF)
                    ConsoleWrite("Extension:" & $at[$i][1] & @LF)
                    ConsoleWrite("Points:" & $at[$i][2] & @LF)
                    ConsoleWrite("Points %:" & $at[$i][3] & @LF)
                Next
            Else
                Switch $iErr
                    Case 1
                        ConsoleWrite("!Error: TrIDLib.dll File Not Found in Script Directory.")
                    Case 2
                        ConsoleWrite("!Error: triddefs.trd File Not Found in Script Directory.")
                    Case 3
                        ConsoleWrite("!Error: Error occurs during opening TrIDLib.dll")
                    Case 4
                        ConsoleWrite("!Error: Error occurs during Loading triddefs.trd.")
                    Case 5
                        ConsoleWrite("!Error: Error occurs during Submitting File: " & $sFile)
                    Case 6
                        ConsoleWrite("!Error: Error occurs during Analysing File: " & $sFile)
                    Case 7
                        ConsoleWrite("!Error: Unable to detect file type")
                EndSwitch
                ConsoleWrite(@LF)
            EndIf
        EndIf
    WEnd

    ; Close the search handle
    FileClose($search)
    ;Close Dll
    _TrIDLib_Shutdown()
EndFunc   ;==>_Example

This udf require the following components:

TrIDLib.dll - The last x32 DLL file can be found here : http://mark0.net/code-tridlib-e.html
triddefs.trd - The last Definition file can be found here : http://mark0.net/soft-trid-e.html
 
Includes in Download:
Examples, triddefs.trd and TrIDLib.dll
 
This is my first udf Hope you will like.  :)

Share this post


Link to post
Share on other sites

Very nice, very nice.


UDF List:

 
_AdapterConnections()_AlwaysRun()_AppMon()_AppMonEx()_ArrayFilter/_ArrayReduce_BinaryBin()_CheckMsgBox()_CmdLineRaw()_ContextMenu()_ConvertLHWebColor()/_ConvertSHWebColor()_DesktopDimensions()_DisplayPassword()_DotNet_Load()/_DotNet_Unload()_Fibonacci()_FileCompare()_FileCompareContents()_FileNameByHandle()_FilePrefix/SRE()_FindInFile()_GetBackgroundColor()/_SetBackgroundColor()_GetConrolID()_GetCtrlClass()_GetDirectoryFormat()_GetDriveMediaType()_GetFilename()/_GetFilenameExt()_GetHardwareID()_GetIP()_GetIP_Country()_GetOSLanguage()_GetSavedSource()_GetStringSize()_GetSystemPaths()_GetURLImage()_GIFImage()_GoogleWeather()_GUICtrlCreateGroup()_GUICtrlListBox_CreateArray()_GUICtrlListView_CreateArray()_GUICtrlListView_SaveCSV()_GUICtrlListView_SaveHTML()_GUICtrlListView_SaveTxt()_GUICtrlListView_SaveXML()_GUICtrlMenu_Recent()_GUICtrlMenu_SetItemImage()_GUICtrlTreeView_CreateArray()_GUIDisable()_GUIImageList_SetIconFromHandle()_GUIRegisterMsg()_GUISetIcon()_Icon_Clear()/_Icon_Set()_IdleTime()_InetGet()_InetGetGUI()_InetGetProgress()_IPDetails()_IsFileOlder()_IsGUID()_IsHex()_IsPalindrome()_IsRegKey()_IsStringRegExp()_IsSystemDrive()_IsUPX()_IsValidType()_IsWebColor()_Language()_Log()_MicrosoftInternetConnectivity()_MSDNDataType()_PathFull/GetRelative/Split()_PathSplitEx()_PrintFromArray()_ProgressSetMarquee()_ReDim()_RockPaperScissors()/_RockPaperScissorsLizardSpock()_ScrollingCredits_SelfDelete()_SelfRename()_SelfUpdate()_SendTo()_ShellAll()_ShellFile()_ShellFolder()_SingletonHWID()_SingletonPID()_Startup()_StringCompact()_StringIsValid()_StringRegExpMetaCharacters()_StringReplaceWholeWord()_StringStripChars()_Temperature()_TrialPeriod()_UKToUSDate()/_USToUKDate()_WinAPI_Create_CTL_CODE()_WinAPI_CreateGUID()_WMIDateStringToDate()/_DateToWMIDateString()Au3 script parsingAutoIt SearchAutoIt3 PortableAutoIt3WrapperToPragmaAutoItWinGetTitle()/AutoItWinSetTitle()CodingDirToHTML5FileInstallrFileReadLastChars()GeoIP databaseGUI - Only Close ButtonGUI ExamplesGUICtrlDeleteImage()GUICtrlGetBkColor()GUICtrlGetStyle()GUIEventsGUIGetBkColor()Int_Parse() & Int_TryParse()IsISBN()LockFile()Mapping CtrlIDsOOP in AutoItParseHeadersToSciTE()PasswordValidPasteBinPosts Per DayPreExpandProtect GlobalsQueue()Resource UpdateResourcesExSciTE JumpSettings INISHELLHOOKShunting-YardSignature CreatorStack()Stopwatch()StringAddLF()/StringStripLF()StringEOLToCRLF()VSCROLLWM_COPYDATAMore Examples...

Updated: 22/04/2018

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

    • By gahhon
      I am not very sure if I am all right to post here tho. Due to other forums have no respond at all.
      So I have my custom make google chrome extension, and it will load unpack into Portable Google Chrome, but it keep pop up the alert box

      Is there any way to disable it? Because my Portable Google Chrome will load as Kiosk mode, so that user can't be uninstall/disable the extension.
      Many thanks in advance.
    • By Rskm
      Hi, i have a variable (floating number - could be positive or negative), i wish to print it into a text file, how can i keep the format in such a way that it always has 4 digits ahead of decimal and 2 after decimal
      basically i have total 7 columns in the text file to print the variable  ;
      eg: variable = 1.235, output requied = 0001.24
      variable=-23.55555, output required =-023.56
    • By nacerbaaziz
      Hello
      Dear Sirs, I have a question please
      About UPDown ctrl
      Where I want to adjust its format
      For example, I want to create a window to set the clock like the window in the system
      Can this be done?
      here's the example
      ______

      #include <WindowsConstants.au3> #include <EditConstants.au3> #include <GUIConstantsEx.au3> #include <UpDownConstants.au3> goto() func Goto() local $wGoto = GUICreate("go to spissific position", 250, 180, @DesktopWidth / 2 - 192, @DesktopHeight / 2 - 235, -1) GUICtrlCreateLabel("please write a corect position to go to it", 50, 10, 220, 20) GUICtrlCreateLabel("hours", 0, 80, 100, 30) local $Inp1 = GUICtrlCreateInput("00", 0, 90, 100, 20, $ES_NUMBER + $WS_TABSTOP)     GUICtrlCreateUpdown($Inp1, $UDS_ARROWKEYS) GUICtrlSetLimit(-1, 23, 0) GUICtrlCreateLabel("minuts", 110, 80, 100, 30) local $Inp2 = GUICtrlCreateInput("00", 110, 90, 100, 20, $ES_NUMBER + $WS_TABSTOP)     GUICtrlCreateUpdown($Inp2, $UDS_ARROWKEYS) GUICtrlSetLimit(-1, 60, 0) GUICtrlCreateLabel("seconds", 220, 80, 100, 30) local $Inp3 = GUICtrlCreateInput("00", 220, 90, 100, 20, $ES_NUMBER + $WS_TABSTOP)     GUICtrlCreateUpdown($Inp3, $UDS_ARROWKEYS) GUICtrlSetLimit(-1, 60, 0) local $Ok = GUICtrlCreateButton("&ok", 0, 150, 50, 30, 0x01) local $cancel = GUICtrlCreateButton("&cancel", 200, 150, 50, 30) GUISetState(@sw_show, $WgoTo) while 1 switch GUIGetMSG() case $GUI_Event_Close, $cancel exit case $OK local $read1 = GUICtrlRead($inp1) if $read1 >= 1 then $Read1 = ($Read1*60)*60 local $read2 = GUICtrlRead($inp2) if $read2 >= 1 then $Read2 = $Read2*60 local $read3 = GUICtrlRead($inp3) GUIDelete($WgoTo) Return $read1+$read2+$read3 exit endSwitch Wend EndFunc
      ________
      What I need is to be the contents of the inputs as follows when i change the value of the UPDown CTRL
      00
      01
      02
      03
      ...
       
    • By Seminko
      In my recent project I'm downloading a bunch of data, so I decided to store it in a SQLite database. NOTE: I'm using sqlite3_x64.dll
      Everything is working just fine but I'm struggling with getting the Median value. SQLite has an Average function but not a Median one.
      I googled but all of the provided solutions are way above my pay-grade. After some more searching I found 'extension-functions.c' on the SQLite site where Median is included. After almost an hour of struggling I was able to successfully compile it into a DLL.
      So I downloaded @jchd's SQLiteExtLoad.au3 as seen here:
      But I'm getting these errors:
      "Path\SQLiteExtLoad.au3"(21,40) : warning: $g_hDll_SQLite: possibly used before declaration. Local $RetVal = DllCall($g_hDll_SQLite, ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ "Path\SQLiteExtLoad.au3"(21,40) : error: $g_hDll_SQLite: undeclared global variable. Local $RetVal = DllCall($g_hDll_SQLite, ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ So I tried, copying the function to my file and changing the DLL variable ($g_hDll_SQLite) directly to the DLL location (C:\...\.. .dll), but now this error fires
      If __SQLite_hChk($hConn, 1) Then Return SetError(@error, 0, $SQLITE_MISUSE) To be honest, I don't know what to use as the $hConn - handle of connection.
      I would appreciate any help, be it getting the median using SQLite queries or getting the DLL extension loaded using AutoIt.
      Thanks, S.
       
      EDIT: well, I suspect the $hConn variable refers to the return value of the _SQLite_Open function. Well, at least now _SQLite_EnableExtensions doesn't give errors. Now I run into problems with _SQLite_LoadExtension, which gives error -1, and extended 1. Apparently the 1 constant is a generic error where other error do not apply.
      BTW, anybody knows whether I need to compile the extension DLL "into" x64 when I use a x64 SQLite? That might be the problem...
       
      EDIT2: I recompiled the dll and tried it using the SQLite3.exe and it works, so I'm confident the extension DLL has been created correctly

    • By rkr
      I have a text file which has over 1000 lines, and I wish to replace one particular - I was able to do the replacement - but I have a issue - I want the numbers to be of specific format 
      Eg; my command was as follows, 
      my command >>>>> _filewritetoline($inp_file,$inp_replacement,"WAVE1.00STOK"&$hdet&"      "&$tasso&"        "&"270.0      D          5.0  72MS     1",true)
      my output >>>>>>       WAVE1.00STOK10.06        9.800         270.0      D          5.0  72MS     1
      how do I make sure that the $hdet=10.06 is printed as 10.060(3 digits after decimel) and same with $tasso and so on.. also, how to maintain the required gap between the variables - is it by manually putting spaces ?
       
      thanks guys
×
×
  • Create New...