#include-once ;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;UDFS REGION;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;_ArrayCreate is too small... Func _ArrayCreateVals($v_0, $v_1 = 0, $v_2 = 0, $v_3 = 0, $v_4 = 0, $v_5 = 0, $v_6 = 0, $v_7 = 0, $v_8 = 0, $v_9 = 0, $v_10 = 0, _ $v_11 = 0, $v_12 = 0, $v_13 = 0, $v_14 = 0, $v_15 = 0, $v_16 = 0, $v_17 = 0, $v_18 = 0, $v_19 = 0, $v_20 = 0, $v_21 = 0, _ $v_22 = 0, $v_23 = 0, $v_24 = 0, $v_25 = 0, $v_26 = 0, $v_27 = 0, $v_28 = 0, $v_29 = 0, $v_30 = 0, $v_31 = 0, $v_32 = 0, _ $v_33 = 0, $v_34 = 0, $v_35 = 0, $v_36 = 0, $v_37 = 0, $v_38 = 0, $v_39 = 0, $v_40 = 0, $v_51 = 0, $v_52 = 0, $v_53 = 0, _ $v_54 = 0, $v_55 = 0, $v_56 = 0, $v_57 = 0, $v_58 = 0, $v_59 = 0, $v_60 = 0, $v_71 = 0, $v_72 = 0, $v_73 = 0, $v_74 = 0, _ $v_75 = 0, $v_76 = 0, $v_77 = 0, $v_78 = 0, $v_79 = 0, $v_80 = 0, $v_81 = 0, $v_82 = 0, $v_83 = 0, $v_84 = 0, $v_85 = 0, _ $v_86 = 0, $v_87 = 0, $v_88 = 0, $v_89 = 0, $v_90 = 0, $v_91 = 0, $v_92 = 0, $v_93 = 0, $v_94 = 0, $v_95 = 0, $v_96 = 0, _ $v_97 = 0, $v_98 = 0, $v_99 = 0) Local $i_UBound = @NumParams Local $av_Array[$i_UBound] Local $i_Index For $i_Index = 0 To ($i_UBound - 1) $av_Array[$i_Index] = Eval("v_" & String($i_Index)) Next Return $av_Array EndFunc Func _QuickArraySearch($array, $val) For $i = 0 to UBound($array)-1 If $array[$i] = $val Then Return $i Next EndFunc ;;Var Functions Func _VarsInterpret( $sData ) Local $sFile = @ScriptDir & "\variables.ini", $aVars = IniReadSection($sFile, "Variables") If @error Then SetError(1) Return $sData EndIf For $i = 1 to $aVars[0][0] $sData = StringReplace($sData, $aVars[$i][0], Execute($aVars[$i][1])) Next Return $sData EndFunc Func _VarsGet($varlist="") Return StringSplit($varlist, "&") EndFunc ;; By: MrSpacely ;; At: Dec 21 2005, 06:08 AM (+8 GMT) ;; In: http://www.autoitscript.com/forum/index.php?showtopic=18448 Func FileGetExt($inputfilename) If StringInStr($inputfilename, "\") Then $inputfilename = StringRegExpReplace($inputfilename, ".*\\([^\\])", "\1") If StringInStr($inputfilename, "/") Then $inputfilename = StringRegExpReplace($inputfilename, ".*/([^/])", "\1") If StringInStr($inputfilename, ".") Then Return StringRegExpReplace($inputfilename, ".*\.([^.])", "\1") Else Return -1 EndIf EndFunc ;==>FileGetExt ;;STACK UDFs by nfwu Func _StackPop(ByRef $avArray) Local $sLastVal If (Not IsArray($avArray)) Then SetError(1) Return "" ;$_StackEmpty EndIf $sLastVal = $avArray[UBound($avArray) - 1] If UBound($avArray) = 1 Then $avArray = "" ;$_StackEmpty Else ReDim $avArray[UBound($avArray) - 1] EndIf Return $sLastVal EndFunc ;==>_StackPop Func _StackPush(ByRef $avArray, $sValue) If IsArray($avArray) Then ReDim $avArray[UBound($avArray) + 1] Else Dim $avArray[1] EndIf $avArray[UBound($avArray) - 1] = $sValue SetError(0) Return 1 EndFunc ;==>_StackPush ;=============================================================================== ; _URLEncode() ; Description: : Encodes a string to be URL-friendly ; Parameter(s): : $toEncode - The String to Encode ; $encodeType = 0 - Practical Encoding (Encode only what is necessary) ; = 1 - Encode everything ; = 2 - RFC 1738 Encoding - http://www.ietf.org/rfc/rfc1738.txt ; Return Value(s): : The URL encoded string ; Author(s): : nfwu ; Note(s): : - ; ;=============================================================================== Func _URLEncode($toEncode, $encodeType = 0) Local $strHex = "", $iDec Local $aryChar = StringSplit($toEncode, "") If $encodeType = 1 Then ;;Encode EVERYTHING For $i = 1 To $aryChar[0] $strHex = $strHex & "%" & Hex(Asc($aryChar[$i]), 2) Next Return $strHex ElseIf $encodeType = 0 Then ;;Practical Encoding For $i = 1 To $aryChar[0] $iDec = Asc($aryChar[$i]) if $iDec <= 32 Or $iDec = 37 Then $strHex = $strHex & "%" & Hex($iDec, 2) Else $strHex = $strHex & $aryChar[$i] EndIf Next Return $strHex ElseIf $encodeType = 2 Then ;;RFC 1738 Encoding For $i = 1 To $aryChar[0] If Not StringInStr("$-_.+!*'(),;/?:@=&abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890", $aryChar[$i]) Then $strHex = $strHex & "%" & Hex(Asc($aryChar[$i]), 2) Else $strHex = $strHex & $aryChar[$i] EndIf Next Return $strHex EndIf EndFunc ;=============================================================================== ; _URLDecode() ; Description: : Tranlates a URL-friendly string to a normal string ; Parameter(s): : $toDecode - The URL-friendly string to decode ; Return Value(s): : The URL decoded string ; Author(s): : nfwu ; Note(s): : Don't mess with the $mode parameter unless you know what ; you are doing!!! ; ;=============================================================================== Func _URLDecode($toDecode, $mode=0) local $strChar = "", $iOne, $iTwo Local $aryHex = StringSplit($toDecode, "") For $i = 1 to $aryHex[0] If $aryHex[$i] = "%" Then $i = $i + 1 $iOne = $aryHex[$i] $i = $i + 1 $iTwo = $aryHex[$i] $strChar = $strChar & Chr(Dec($iOne & $iTwo)) Else $strChar = $strChar & $aryHex[$i] EndIf Next if $mode = 0 Then Return StringReplace($strChar, "+", " ") Else Return $strChar EndIf EndFunc