Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 06/14/2014 in all areas

  1. I needed a way to get SRV records for domains, and the closest I found was >this thread, but no, it was not as easy to 'upgrade' as trancexx said! A summary of my changes: Replaced MX specifics with SRV specifics (obviously...) Adapted the code to work with _ArraySort() instead of her custom SortArray (seemed easier than adding the extra logic I needed) Replaced the non-working RegRead with a DllCall to GetNetworkParams (not sure if that key moved or if it never was there to begin with) Added Googles dns servers to list of public ones and simplified list code Fixed a bug in ExtractSRVServerData() that garbled data if more than 1 record was received Enjoy! #Region ;**** Directives created by AutoIt3Wrapper_GUI **** #AutoIt3Wrapper_UseX64=n #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI **** #cs Originally was a script to get MX records written by trancexx http://www.autoitscript.com/forum/topic/78465-mx-records-for-a-specific-domain/ Now modified to get SRV records by AdmiralAlkex #ce Opt("MustDeclareVars", 1) #include <StringConstants.au3> #include <Array.au3> Local $domain = "_sip._udp.siplogin.de" ; change it to domain of your interest Local $mx = SRVRecords($domain) If IsArray($mx) Then Local $au For $j = 0 To UBound($mx) - 1 $au &= "Priority:" & $mx[$j][0] & " Weight:" & $mx[$j][1] & " Port:" & $mx[$j][2] & " Target:" & $mx[$j][3] & @CRLF Next MsgBox(0, "SRV records for " & $domain, $au) Else MsgBox(0, "SRV records for " & $domain, "No Records") EndIf Func SRVRecords($domain) Local $binary_data = SRVQueryServer($domain) If $binary_data = -1 Then Return -1 Local $output = ExtractSRVServerData($binary_data) _ArraySort($output, 0, 0, 0, 0) Local $iStart = -1 For $iX = 1 To UBound($output) - 1 If $output[$iX][0] = $output[$iX - 1][0] And $iStart = -1 Then $iStart = $iX - 1 ElseIf $output[$iX][0] <> $output[$iX - 1][0] And $iStart <> -1 Then _ArraySort($output, 1, $iStart, $iX - 1, 1) $iStart = -1 EndIf Next If $iStart <> -1 Then _ArraySort($output, 1, $iStart, $iX - 1, 1) EndIf Return $output EndFunc ;==>SRVRecords Func SRVQueryServer($domain) Local $domain_array $domain_array = StringSplit($domain, ".", 1) Local $binarydom For $el = 1 To $domain_array[0] $binarydom &= Hex(BinaryLen($domain_array[$el]), 2) & StringTrimLeft(StringToBinary($domain_array[$el]), 2) Next $binarydom &= "00" ; for example, 'gmail.com' will be '05676D61696C03636F6D00' and 'autoit.com' will be '066175746F697403636F6D00' Local $identifier = Hex(Random(0, 1000, 1), 2) ; random hex number serving as a handle for the data that will be received Local $server_bin = "0x00" & $identifier & "01000001000000000000" & $binarydom & "00210001" ; this is our query Local $num_time, $data Local $asQueryServers = _GetDnsServerAddress() Local $asPublicServers = StringSplit("8.8.8.8|8.8.4.4|4.2.2.1|67.138.54.100|208.67.222.222|4.2.2.2|4.2.2.3|208.67.220.220|4.2.2.4|4.2.2.5|4.2.2.6", "|", $STR_NOCOUNT) Local $iSize = _ArrayConcatenate($asQueryServers, $asPublicServers) For $num_time = 0 To $iSize - 1 ; this kind of server is not what we want If StringLeft($asQueryServers[$num_time], 3) = "192" Then ContinueLoop If $asQueryServers[$num_time] = "" Then ContinueLoop UDPStartup() Local $sock $sock = UDPOpen($asQueryServers[$num_time], 53) If $sock = -1 Then ; ok, that happens UDPCloseSocket($sock) UDPShutdown() ContinueLoop ; change server and try again EndIf UDPSend($sock, $server_bin) ; sending query Local $tik = 0 Do $data = UDPRecv($sock, 512) $tik += 1 Sleep(100) Until $data <> "" Or $tik = 8 ; waiting reasonable time for the response UDPShutdown() ; stopping service If $data <> "" And StringRight(BinaryMid($data, 2, 1), 2) = $identifier Then Return $data ; if there is data for us, return EndIf Next Return -1 EndFunc ;==>SRVQueryServer Func ExtractSRVServerData($binary_data) Local $num_answ = Dec(StringMid($binary_data, 15, 4)) ; representing number of answers provided by the server Local $arr = StringSplit($binary_data, "C00C00210001", 1) ; splitting input; "C00C000F0001" - translated to human: "this is the answer for your MX query" If $num_answ <> $arr[0] - 1 Or $num_answ = 0 Then Return -1 ; dealing with possible options Local $iPriority[$arr[0]] Local $iWeight[$arr[0]] Local $iPort[$arr[0]] Local $sTarget[$arr[0]] ; server name(s) Local $output[$arr[0] - 1][4] ; this goes out containing both server names and coresponding priority/weight and port numbers Local $offset = 14 ; initial offset For $i = 2 To $arr[0] $arr[$i] = "0x" & $arr[$i] ; well, it is binary data $iPriority[$i - 1] = Dec(StringRight(BinaryMid($arr[$i], 7, 2), 4)) $iWeight[$i - 1] = Dec(StringRight(BinaryMid($arr[$i], 9, 2), 4)) $iPort[$i - 1] = Dec(StringRight(BinaryMid($arr[$i], 11, 2), 4)) $offset += BinaryLen($arr[$i - 1]) + 6 ; adding lenght of every past part plus lenght of that "C00C000F0001" used for splitting Local $array = ReadBinary($binary_data, $offset) ; extraction of server names starts here While $array[1] = 192 ; dealing with special case $array = ReadBinary($binary_data, $array[6] + 2) WEnd $sTarget[$i - 1] &= $array[2] & "." While $array[3] <> 0 ; the end will obviously be at $array[3] = 0 If $array[3] = 192 Then $array = ReadBinary($array[0], $array[4] + 2) If $array[3] = 0 Then $sTarget[$i - 1] &= $array[2] ExitLoop Else $sTarget[$i - 1] &= $array[2] & "." EndIf Else $array = ReadBinary($array[0], $array[5]) If $array[3] = 0 Then $sTarget[$i - 1] &= $array[2] ExitLoop Else $sTarget[$i - 1] &= $array[2] & "." EndIf EndIf WEnd $output[$i - 2][0] = $iPriority[$i - 1] $output[$i - 2][1] = $iWeight[$i - 1] $output[$i - 2][2] = $iPort[$i - 1] $output[$i - 2][3] = $sTarget[$i - 1] Next Return $output ; two-dimensional array EndFunc ;==>ExtractSRVServerData Func ReadBinary($binary_data, $offset) Local $len = Dec(StringRight(BinaryMid($binary_data, $offset - 1, 1), 2)) Local $data_bin = BinaryMid($binary_data, $offset, $len) Local $checker = Dec(StringRight(BinaryMid($data_bin, 1, 1), 2)) Local $data = BinaryToString($data_bin) Local $triger = Dec(StringRight(BinaryMid($binary_data, $offset + $len, 1), 2)) Local $new_offset = Dec(StringRight(BinaryMid($binary_data, $offset + $len + 1, 1), 2)) Local $another_offset = $offset + $len + 1 Local $array[7] = [$binary_data, $len, $data, $triger, $new_offset, $another_offset, $checker] ; bit of this and bit of that Return $array EndFunc ;==>ReadBinary ;Based on Authenticity code from http://www.autoitscript.com/forum/topic/119734-tcpiptoname-extremly-slow-if-no-ptr-record-exists/?p=832148 Func _GetDnsServerAddress() Local $aResult, $tBuf, $tDnsServersList $aResult = DllCall("iphlpapi.dll", "uint", "GetNetworkParams", "int*", 0, "uint*", 4) If $aResult[0] = 111 Then $tBuf = DllStructCreate("byte[" & $aResult[2] & "]") $aResult = DllCall("iphlpapi.dll", "uint", "GetNetworkParams", "struct*", $tBuf, "uint*", $aResult[2]) If $aResult[0] <> 0 Then Return SetError($aResult[0], 0, "") Local $tagIP_ADDR_STRING = "ptr Next;char IpAddress[16];char IpMask[16];uint Context;" $tDnsServersList = DllStructCreate($tagIP_ADDR_STRING, DllStructGetPtr($tBuf) + 268) Local $sOutput = $tDnsServersList.IpAddress While $tDnsServersList.Next $tDnsServersList = DllStructCreate($tagIP_ADDR_STRING, $tDnsServersList.Next) $sOutput &= "|" & $tDnsServersList.IpAddress WEnd Return StringSplit($sOutput, "|", $STR_NOCOUNT) Else Return SetError(-1, 0, "") EndIf EndFunc ;==>_GetDnsServerAddress
    1 point
  2. rasim

    UnRAR.au3

    Ok. I searched solution about how to unpack *.rar archive programmaticaly without console Rar.exe utility. And i found the freeware unrar.dll library. Hope this will be useful for you. muttley UnRAR.au3 Latest unrar.dll library Also you may download latest unrar.dll and help file from the official site Common features: Unicode support Archive testing Archive comment getting Unpacking cancelling Archive decryption Next volume changing Edit: Fixed some bugs. License The unrar.dll library is freeware. This means: 1. All copyrights to RAR and the unrar.dll are exclusively owned by the author - Alexander Roshal. 2. The unrar.dll library may be used in any software to handle RAR archives without limitations free of charge. 3. THE RAR ARCHIVER AND THE UNRAR.DLL LIBRARY ARE DISTRIBUTED "AS IS". NO WARRANTY OF ANY KIND IS EXPRESSED OR IMPLIED. YOU USE AT YOUR OWN RISK. THE AUTHOR WILL NOT BE LIABLE FOR DATA LOSS, DAMAGES, LOSS OF PROFITS OR ANY OTHER KIND OF LOSS WHILE USING OR MISUSING THIS SOFTWARE. Thank you for your interest in RAR and unrar.dll. Alexander L. Roshalunrar.zip unrarudf.zip
    1 point
  3. rasim

    Zip32

    Ok, after searching for easy and functional UDF for works with zip archives, i wrote Zip32 UDF. This UDF used 2 free library zip32.dll and unzip32.dll. Hope this UDF be useful for you. License Main features: Create zip archive Extract zip archive Set archive comment Read archive comment Encrypt archive Decrypt archive Compression level 0-9 Include\Exclude files by date Include\Exclude files by name Include\Exclude files by files number Include\Exclude system and hidden files Update archive Freshen archive Test archive And more... Download Zip32 UDF Included latest zip32.dll and unzip32.dll. Edit: Uploaded UDF on this site zip_udf.zip
    1 point
  4. Description: PreExpand expands constant and enum variables in an AutoIt script. The reluctance users have to using constant or enum variables, is because you're using additional variables, sometimes Global. Though in all honesty using constants is a preferred approach for most programmers, as it provides easier to read code and means to debug quicker. It's also a way of eliminating magic numbers. But enough about that, have a look at the following examples to get a better idea. Before: Local Const $CONST_VAR_1 = @ScriptDir, $CONST_VAR_2 = True, $CONST_VAR_3 = @ScriptDir Const $CONST_VAR_4 = True, $CONST_VAR_5 = @ScriptDir, $CONST_VAR_6 = "Some String Number 6" Local Const $CONST_VAR_7 = False Const $CONST_VAR_8 = 929 Global Const $CONST_VAR_9 = 933, $CONST_VAR_10 = 769.665784479817 Local Const $CONST_VAR_11 = @ScriptDir, $CONST_VAR_12 = True, $CONST_VAR_13 = "Some String Number 13" Local Const $CONST_VAR_14 = "Some String Number 14", $CONST_VAR_15 = "Some String Number 15", $CONST_VAR_16 = @ScriptDir Local Const $CONST_VAR_17 = False, $CONST_VAR_18 = @ScriptDir Local Const $CONST_VAR_19 = "Some String Number 19", $CONST_VAR_20 = "Some String Number 20" Const $CONST_VAR_21 = True, $CONST_VAR_22 = 228.61349680461 Local Const $CONST_VAR_23 = "Some String Number 23", $CONST_VAR_24 = @ScriptDir, $CONST_VAR_25 = False Global Const $CONST_VAR_26 = True, $CONST_VAR_27 = 171.124138467945 Global Const $CONST_VAR_28 = @ScriptDir, $CONST_VAR_29 = @ScriptDir, $CONST_VAR_30 = @ScriptDir Global Const $CONST_VAR_31 = 308, $CONST_VAR_32 = 659.485720483586 Const $CONST_VAR_33 = "Some String Number 33", $CONST_VAR_34 = @ScriptDir, $CONST_VAR_35 = @ScriptDir, $CONST_VAR_36 = False, $CONST_VAR_37 = False Local Const $CONST_VAR_38 = 994.699117473094 Global Const $CONST_VAR_39 = 345.137656846782, $CONST_VAR_40 = @ScriptDir, $CONST_VAR_41 = @ScriptDir, $CONST_VAR_42 = "Some String Number 42", $CONST_VAR_43 = @ScriptDir Const $CONST_VAR_44 = @ScriptDir Global Const $CONST_VAR_45 = 21.8916724964511, $CONST_VAR_46 = @ScriptDir, $CONST_VAR_47 = 400 Local Const $CONST_VAR_48 = @ScriptDir, $CONST_VAR_49 = "Some String Number 49" Const $CONST_VAR_50 = True, $CONST_VAR_51 = 694, $CONST_VAR_52 = "Some String Number 52", $CONST_VAR_53 = "Some String Number 53" Global Const $CONST_VAR_54 = 69.0704407929443, $CONST_VAR_55 = "Some String Number 55" Local Const $CONST_VAR_56 = False, $CONST_VAR_57 = @ScriptDir, $CONST_VAR_58 = True, $CONST_VAR_59 = 469.03752424242 Local Const $CONST_VAR_60 = "Some String Number 60", $CONST_VAR_61 = 672.557973664952, $CONST_VAR_62 = 980.679561085301 Local Const $CONST_VAR_63 = 638.447331566829 Const $CONST_VAR_64 = "Some String Number 64", $CONST_VAR_65 = 335 Global Const $CONST_VAR_66 = True, $CONST_VAR_67 = True Local Const $CONST_VAR_68 = False Const $CONST_VAR_69 = "Some String Number 69", $CONST_VAR_70 = @ScriptDir Global Const $CONST_VAR_71 = @ScriptDir, $CONST_VAR_72 = "Some String Number 72", $CONST_VAR_73 = @ScriptDir Global Const $CONST_VAR_74 = 231, $CONST_VAR_75 = "Some String Number 75", $CONST_VAR_76 = @ScriptDir Global Const $CONST_VAR_77 = True Global Const $CONST_VAR_78 = 50.2678008952644, $CONST_VAR_79 = True, $CONST_VAR_80 = "Some String Number 80" Local Const $CONST_VAR_81 = 941.841832005186, $CONST_VAR_82 = @ScriptDir, $CONST_VAR_83 = "Some String Number 83" Local Const $CONST_VAR_84 = @ScriptDir, $CONST_VAR_85 = 222.873421458993, $CONST_VAR_86 = @ScriptDir Const $CONST_VAR_87 = False, $CONST_VAR_88 = True, $CONST_VAR_89 = True Local Const $CONST_VAR_90 = @ScriptDir, $CONST_VAR_91 = "Some String Number 91" Local Const $CONST_VAR_92 = False Global Const $CONST_VAR_93 = "Some String Number 93", $CONST_VAR_94 = False Global Const $CONST_VAR_95 = 112 Const $CONST_VAR_96 = False, $CONST_VAR_97 = True, $CONST_VAR_98 = True, $CONST_VAR_99 = "Some String Number 99", $CONST_VAR_100 = False Global Const $CONST_VAR_101 = "Some String Number 101" Local Const $CONST_VAR_102 = True, $CONST_VAR_103 = @ScriptDir Const $CONST_VAR_104 = @ScriptDir, $CONST_VAR_105 = "Some String Number 105", $CONST_VAR_106 = "Some String Number 106", $CONST_VAR_107 = @ScriptDir Const $CONST_VAR_108 = @ScriptDir, $CONST_VAR_109 = @ScriptDir, $CONST_VAR_110 = @ScriptDir, $CONST_VAR_111 = False, $CONST_VAR_112 = False Global Const $CONST_VAR_113 = @ScriptDir Const $CONST_VAR_114 = @ScriptDir, $CONST_VAR_115 = "Some String Number 115", $CONST_VAR_116 = 569 Global Const $CONST_VAR_117 = "Some String Number 117", $CONST_VAR_118 = 817, $CONST_VAR_119 = True Local Const $CONST_VAR_120 = @ScriptDir, $CONST_VAR_121 = "Some String Number 121", $CONST_VAR_122 = True Global Const $CONST_VAR_123 = True Const $CONST_VAR_124 = 972.01836516778, $CONST_VAR_125 = @ScriptDir, $CONST_VAR_126 = "Some String Number 126", $CONST_VAR_127 = @ScriptDir Global Const $CONST_VAR_128 = False, $CONST_VAR_129 = 102.34518263978, $CONST_VAR_130 = 247, $CONST_VAR_131 = 485, $CONST_VAR_132 = @ScriptDir Global Const $CONST_VAR_133 = @ScriptDir, $CONST_VAR_134 = False, $CONST_VAR_135 = 185, $CONST_VAR_136 = @ScriptDir Local Const $CONST_VAR_137 = "Some String Number 137", $CONST_VAR_138 = @ScriptDir, $CONST_VAR_139 = 684.853763477178, $CONST_VAR_140 = "Some String Number 140", $CONST_VAR_141 = "Some String Number 141" Const $CONST_VAR_142 = 15, $CONST_VAR_143 = 894, $CONST_VAR_144 = @ScriptDir, $CONST_VAR_145 = @ScriptDir, $CONST_VAR_146 = "Some String Number 146" Global Const $CONST_VAR_147 = True, $CONST_VAR_148 = "Some String Number 148" Const $CONST_VAR_149 = "Some String Number 149", $CONST_VAR_150 = 685, $CONST_VAR_151 = 876, $CONST_VAR_152 = False, $CONST_VAR_153 = @ScriptDir Const $CONST_VAR_154 = "Some String Number 154", $CONST_VAR_155 = 346, $CONST_VAR_156 = True Const $CONST_VAR_157 = @ScriptDir, $CONST_VAR_158 = 428.429060575552, $CONST_VAR_159 = "Some String Number 159" Const $CONST_VAR_160 = @ScriptDir, $CONST_VAR_161 = 465, $CONST_VAR_162 = True, $CONST_VAR_163 = "Some String Number 163" Local Const $CONST_VAR_164 = False, $CONST_VAR_165 = 905.929007398197, $CONST_VAR_166 = "Some String Number 166", $CONST_VAR_167 = False, $CONST_VAR_168 = False Local Const $CONST_VAR_169 = @ScriptDir, $CONST_VAR_170 = True Const $CONST_VAR_171 = "Some String Number 171" Global Const $CONST_VAR_172 = False, $CONST_VAR_173 = 745, $CONST_VAR_174 = True, $CONST_VAR_175 = "Some String Number 175" Global Const $CONST_VAR_176 = False, $CONST_VAR_177 = 129, $CONST_VAR_178 = True Const $CONST_VAR_179 = "Some String Number 179", $CONST_VAR_180 = "Some String Number 180", $CONST_VAR_181 = "Some String Number 181" Local Const $CONST_VAR_182 = "Some String Number 182", $CONST_VAR_183 = "Some String Number 183" Global Const $CONST_VAR_184 = @ScriptDir, $CONST_VAR_185 = 187.73177490104 Const $CONST_VAR_186 = 352.337569564348 Const $CONST_VAR_187 = 311.494611016707, $CONST_VAR_188 = 270 Local Const $CONST_VAR_189 = @ScriptDir, $CONST_VAR_190 = "Some String Number 190", $CONST_VAR_191 = "Some String Number 191", $CONST_VAR_192 = 174.566120439675 Local Const $CONST_VAR_193 = "Some String Number 193" Const $CONST_VAR_194 = True, $CONST_VAR_195 = "Some String Number 195", $CONST_VAR_196 = @ScriptDir Local Const $CONST_VAR_197 = "Some String Number 197", $CONST_VAR_198 = @ScriptDir Const $CONST_VAR_199 = "Some String Number 199" Const $CONST_VAR_200 = "Some String Number 200", $CONST_VAR_201 = @ScriptDir Local Const $CONST_VAR_202 = "Some String Number 202", $CONST_VAR_203 = "Some String Number 203", $CONST_VAR_204 = "Some String Number 204" Local Const $CONST_VAR_205 = False, $CONST_VAR_206 = @ScriptDir, $CONST_VAR_207 = @ScriptDir Const $CONST_VAR_208 = 883.095158747165, $CONST_VAR_209 = @ScriptDir, $CONST_VAR_210 = @ScriptDir, $CONST_VAR_211 = True Const $CONST_VAR_212 = "Some String Number 212", $CONST_VAR_213 = "Some String Number 213", $CONST_VAR_214 = True Const $CONST_VAR_215 = True, $CONST_VAR_216 = True Local Const $CONST_VAR_217 = @ScriptDir Global Const $CONST_VAR_218 = "Some String Number 218", $CONST_VAR_219 = "Some String Number 219", $CONST_VAR_220 = @ScriptDir, $CONST_VAR_221 = "Some String Number 221", $CONST_VAR_222 = False Local Const $CONST_VAR_223 = "Some String Number 223", $CONST_VAR_224 = @ScriptDir Const $CONST_VAR_225 = "Some String Number 225" Global Const $CONST_VAR_226 = True Const $CONST_VAR_227 = @ScriptDir, $CONST_VAR_228 = @ScriptDir, $CONST_VAR_229 = 124, $CONST_VAR_230 = False, $CONST_VAR_231 = "Some String Number 231" Local Const $CONST_VAR_232 = 536.685596249066, $CONST_VAR_233 = "Some String Number 233", $CONST_VAR_234 = @ScriptDir, $CONST_VAR_235 = False, $CONST_VAR_236 = False Const $CONST_VAR_237 = "Some String Number 237", $CONST_VAR_238 = 658.447164270561, $CONST_VAR_239 = @ScriptDir Const $CONST_VAR_240 = 140, $CONST_VAR_241 = 790, $CONST_VAR_242 = "Some String Number 242", $CONST_VAR_243 = 848.363330695312, $CONST_VAR_244 = True Const $CONST_VAR_245 = 153.434925925918, $CONST_VAR_246 = 750.900167408632 Global Const $CONST_VAR_247 = False, $CONST_VAR_248 = True, $CONST_VAR_249 = 908.597750271671, $CONST_VAR_250 = True Const $CONST_VAR_251 = 654.769560016459, $CONST_VAR_252 = True Global Const $CONST_VAR_253 = True, $CONST_VAR_254 = "Some String Number 254", $CONST_VAR_255 = 785, $CONST_VAR_256 = @ScriptDir, $CONST_VAR_257 = "Some String Number 257" Global Const $CONST_VAR_258 = "Some String Number 258", $CONST_VAR_259 = 966, $CONST_VAR_260 = "Some String Number 260", $CONST_VAR_261 = @ScriptDir Local Const $CONST_VAR_262 = "Some String Number 262", $CONST_VAR_263 = @ScriptDir, $CONST_VAR_264 = False, $CONST_VAR_265 = "Some String Number 265" Const $CONST_VAR_266 = 410.872590442421, $CONST_VAR_267 = @ScriptDir, $CONST_VAR_268 = @ScriptDir Const $CONST_VAR_269 = "Some String Number 269", $CONST_VAR_270 = 76, $CONST_VAR_271 = @ScriptDir, $CONST_VAR_272 = 285, $CONST_VAR_273 = 498 Global Const $CONST_VAR_274 = @ScriptDir, $CONST_VAR_275 = True, $CONST_VAR_276 = @ScriptDir, $CONST_VAR_277 = False, $CONST_VAR_278 = False Global Const $CONST_VAR_279 = "Some String Number 279", $CONST_VAR_280 = @ScriptDir ConsoleWrite($CONST_VAR_1 & @CRLF) ConsoleWrite($CONST_VAR_2 & @CRLF) ConsoleWrite($CONST_VAR_3 & @CRLF) ConsoleWrite($CONST_VAR_4 & @CRLF) ConsoleWrite($CONST_VAR_5 & @CRLF) ConsoleWrite($CONST_VAR_6 & @CRLF) ConsoleWrite($CONST_VAR_7 & @CRLF) ConsoleWrite($CONST_VAR_8 & @CRLF) ConsoleWrite($CONST_VAR_9 & @CRLF) ConsoleWrite($CONST_VAR_10 & @CRLF) ConsoleWrite($CONST_VAR_11 & @CRLF) ConsoleWrite($CONST_VAR_12 & @CRLF) ConsoleWrite($CONST_VAR_13 & @CRLF) ConsoleWrite($CONST_VAR_14 & @CRLF) ConsoleWrite($CONST_VAR_15 & @CRLF) ConsoleWrite($CONST_VAR_16 & @CRLF) ConsoleWrite($CONST_VAR_17 & @CRLF) ConsoleWrite($CONST_VAR_18 & @CRLF) ConsoleWrite($CONST_VAR_19 & @CRLF) ConsoleWrite($CONST_VAR_20 & @CRLF) ConsoleWrite($CONST_VAR_21 & @CRLF) ConsoleWrite($CONST_VAR_22 & @CRLF) ConsoleWrite($CONST_VAR_23 & @CRLF) ConsoleWrite($CONST_VAR_24 & @CRLF) ConsoleWrite($CONST_VAR_25 & @CRLF) ConsoleWrite($CONST_VAR_26 & @CRLF) ConsoleWrite($CONST_VAR_27 & @CRLF) ConsoleWrite($CONST_VAR_28 & @CRLF) ConsoleWrite($CONST_VAR_29 & @CRLF) ConsoleWrite($CONST_VAR_30 & @CRLF) ConsoleWrite($CONST_VAR_31 & @CRLF) ConsoleWrite($CONST_VAR_32 & @CRLF) ConsoleWrite($CONST_VAR_33 & @CRLF) ConsoleWrite($CONST_VAR_34 & @CRLF) ConsoleWrite($CONST_VAR_35 & @CRLF) ConsoleWrite($CONST_VAR_36 & @CRLF) ConsoleWrite($CONST_VAR_37 & @CRLF) ConsoleWrite($CONST_VAR_38 & @CRLF) ConsoleWrite($CONST_VAR_39 & @CRLF) ConsoleWrite($CONST_VAR_40 & @CRLF) ConsoleWrite($CONST_VAR_41 & @CRLF) ConsoleWrite($CONST_VAR_42 & @CRLF) ConsoleWrite($CONST_VAR_43 & @CRLF) ConsoleWrite($CONST_VAR_44 & @CRLF) ConsoleWrite($CONST_VAR_45 & @CRLF) ConsoleWrite($CONST_VAR_46 & @CRLF) ConsoleWrite($CONST_VAR_47 & @CRLF) ConsoleWrite($CONST_VAR_48 & @CRLF) ConsoleWrite($CONST_VAR_49 & @CRLF) ConsoleWrite($CONST_VAR_50 & @CRLF) ConsoleWrite($CONST_VAR_51 & @CRLF) ConsoleWrite($CONST_VAR_52 & @CRLF) ConsoleWrite($CONST_VAR_53 & @CRLF) ConsoleWrite($CONST_VAR_54 & @CRLF) ConsoleWrite($CONST_VAR_55 & @CRLF) ConsoleWrite($CONST_VAR_56 & @CRLF) ConsoleWrite($CONST_VAR_57 & @CRLF) ConsoleWrite($CONST_VAR_58 & @CRLF) ConsoleWrite($CONST_VAR_59 & @CRLF) ConsoleWrite($CONST_VAR_60 & @CRLF) ConsoleWrite($CONST_VAR_61 & @CRLF) ConsoleWrite($CONST_VAR_62 & @CRLF) ConsoleWrite($CONST_VAR_63 & @CRLF) ConsoleWrite($CONST_VAR_64 & @CRLF) ConsoleWrite($CONST_VAR_65 & @CRLF) ConsoleWrite($CONST_VAR_66 & @CRLF) ConsoleWrite($CONST_VAR_67 & @CRLF) ConsoleWrite($CONST_VAR_68 & @CRLF) ConsoleWrite($CONST_VAR_69 & @CRLF) ConsoleWrite($CONST_VAR_70 & @CRLF) ConsoleWrite($CONST_VAR_71 & @CRLF) ConsoleWrite($CONST_VAR_72 & @CRLF) ConsoleWrite($CONST_VAR_73 & @CRLF) ConsoleWrite($CONST_VAR_74 & @CRLF) ConsoleWrite($CONST_VAR_75 & @CRLF) ConsoleWrite($CONST_VAR_76 & @CRLF) ConsoleWrite($CONST_VAR_77 & @CRLF) ConsoleWrite($CONST_VAR_78 & @CRLF) ConsoleWrite($CONST_VAR_79 & @CRLF) ConsoleWrite($CONST_VAR_80 & @CRLF) ConsoleWrite($CONST_VAR_81 & @CRLF) ConsoleWrite($CONST_VAR_82 & @CRLF) ConsoleWrite($CONST_VAR_83 & @CRLF) ConsoleWrite($CONST_VAR_84 & @CRLF) ConsoleWrite($CONST_VAR_85 & @CRLF) ConsoleWrite($CONST_VAR_86 & @CRLF) ConsoleWrite($CONST_VAR_87 & @CRLF) ConsoleWrite($CONST_VAR_88 & @CRLF) ConsoleWrite($CONST_VAR_89 & @CRLF) ConsoleWrite($CONST_VAR_90 & @CRLF) ConsoleWrite($CONST_VAR_91 & @CRLF) ConsoleWrite($CONST_VAR_92 & @CRLF) ConsoleWrite($CONST_VAR_93 & @CRLF) ConsoleWrite($CONST_VAR_94 & @CRLF) ConsoleWrite($CONST_VAR_95 & @CRLF) ConsoleWrite($CONST_VAR_96 & @CRLF) ConsoleWrite($CONST_VAR_97 & @CRLF) ConsoleWrite($CONST_VAR_98 & @CRLF) ConsoleWrite($CONST_VAR_99 & @CRLF) ConsoleWrite($CONST_VAR_100 & @CRLF) ConsoleWrite($CONST_VAR_101 & @CRLF) ConsoleWrite($CONST_VAR_102 & @CRLF) ConsoleWrite($CONST_VAR_103 & @CRLF) ConsoleWrite($CONST_VAR_104 & @CRLF) ConsoleWrite($CONST_VAR_105 & @CRLF) ConsoleWrite($CONST_VAR_106 & @CRLF) ConsoleWrite($CONST_VAR_107 & @CRLF) ConsoleWrite($CONST_VAR_108 & @CRLF) ConsoleWrite($CONST_VAR_109 & @CRLF) ConsoleWrite($CONST_VAR_110 & @CRLF) ConsoleWrite($CONST_VAR_111 & @CRLF) ConsoleWrite($CONST_VAR_112 & @CRLF) ConsoleWrite($CONST_VAR_113 & @CRLF) ConsoleWrite($CONST_VAR_114 & @CRLF) ConsoleWrite($CONST_VAR_115 & @CRLF) ConsoleWrite($CONST_VAR_116 & @CRLF) ConsoleWrite($CONST_VAR_117 & @CRLF) ConsoleWrite($CONST_VAR_118 & @CRLF) ConsoleWrite($CONST_VAR_119 & @CRLF) ConsoleWrite($CONST_VAR_120 & @CRLF) ConsoleWrite($CONST_VAR_121 & @CRLF) ConsoleWrite($CONST_VAR_122 & @CRLF) ConsoleWrite($CONST_VAR_123 & @CRLF) ConsoleWrite($CONST_VAR_124 & @CRLF) ConsoleWrite($CONST_VAR_125 & @CRLF) ConsoleWrite($CONST_VAR_126 & @CRLF) ConsoleWrite($CONST_VAR_127 & @CRLF) ConsoleWrite($CONST_VAR_128 & @CRLF) ConsoleWrite($CONST_VAR_129 & @CRLF) ConsoleWrite($CONST_VAR_130 & @CRLF) ConsoleWrite($CONST_VAR_131 & @CRLF) ConsoleWrite($CONST_VAR_132 & @CRLF) ConsoleWrite($CONST_VAR_133 & @CRLF) ConsoleWrite($CONST_VAR_134 & @CRLF) ConsoleWrite($CONST_VAR_135 & @CRLF) ConsoleWrite($CONST_VAR_136 & @CRLF) ConsoleWrite($CONST_VAR_137 & @CRLF) ConsoleWrite($CONST_VAR_138 & @CRLF) ConsoleWrite($CONST_VAR_139 & @CRLF) ConsoleWrite($CONST_VAR_140 & @CRLF) ConsoleWrite($CONST_VAR_141 & @CRLF) ConsoleWrite($CONST_VAR_142 & @CRLF) ConsoleWrite($CONST_VAR_143 & @CRLF) ConsoleWrite($CONST_VAR_144 & @CRLF) ConsoleWrite($CONST_VAR_145 & @CRLF) ConsoleWrite($CONST_VAR_146 & @CRLF) ConsoleWrite($CONST_VAR_147 & @CRLF) ConsoleWrite($CONST_VAR_148 & @CRLF) ConsoleWrite($CONST_VAR_149 & @CRLF) ConsoleWrite($CONST_VAR_150 & @CRLF) ConsoleWrite($CONST_VAR_151 & @CRLF) ConsoleWrite($CONST_VAR_152 & @CRLF) ConsoleWrite($CONST_VAR_153 & @CRLF) ConsoleWrite($CONST_VAR_154 & @CRLF) ConsoleWrite($CONST_VAR_155 & @CRLF) ConsoleWrite($CONST_VAR_156 & @CRLF) ConsoleWrite($CONST_VAR_157 & @CRLF) ConsoleWrite($CONST_VAR_158 & @CRLF) ConsoleWrite($CONST_VAR_159 & @CRLF) ConsoleWrite($CONST_VAR_160 & @CRLF) ConsoleWrite($CONST_VAR_161 & @CRLF) ConsoleWrite($CONST_VAR_162 & @CRLF) ConsoleWrite($CONST_VAR_163 & @CRLF) ConsoleWrite($CONST_VAR_164 & @CRLF) ConsoleWrite($CONST_VAR_165 & @CRLF) ConsoleWrite($CONST_VAR_166 & @CRLF) ConsoleWrite($CONST_VAR_167 & @CRLF) ConsoleWrite($CONST_VAR_168 & @CRLF) ConsoleWrite($CONST_VAR_169 & @CRLF) ConsoleWrite($CONST_VAR_170 & @CRLF) ConsoleWrite($CONST_VAR_171 & @CRLF) ConsoleWrite($CONST_VAR_172 & @CRLF) ConsoleWrite($CONST_VAR_173 & @CRLF) ConsoleWrite($CONST_VAR_174 & @CRLF) ConsoleWrite($CONST_VAR_175 & @CRLF) ConsoleWrite($CONST_VAR_176 & @CRLF) ConsoleWrite($CONST_VAR_177 & @CRLF) ConsoleWrite($CONST_VAR_178 & @CRLF) ConsoleWrite($CONST_VAR_179 & @CRLF) ConsoleWrite($CONST_VAR_180 & @CRLF) ConsoleWrite($CONST_VAR_181 & @CRLF) ConsoleWrite($CONST_VAR_182 & @CRLF) ConsoleWrite($CONST_VAR_183 & @CRLF) ConsoleWrite($CONST_VAR_184 & @CRLF) ConsoleWrite($CONST_VAR_185 & @CRLF) ConsoleWrite($CONST_VAR_186 & @CRLF) ConsoleWrite($CONST_VAR_187 & @CRLF) ConsoleWrite($CONST_VAR_188 & @CRLF) ConsoleWrite($CONST_VAR_189 & @CRLF) ConsoleWrite($CONST_VAR_190 & @CRLF) ConsoleWrite($CONST_VAR_191 & @CRLF) ConsoleWrite($CONST_VAR_192 & @CRLF) ConsoleWrite($CONST_VAR_193 & @CRLF) ConsoleWrite($CONST_VAR_194 & @CRLF) ConsoleWrite($CONST_VAR_195 & @CRLF) ConsoleWrite($CONST_VAR_196 & @CRLF) ConsoleWrite($CONST_VAR_197 & @CRLF) ConsoleWrite($CONST_VAR_198 & @CRLF) ConsoleWrite($CONST_VAR_199 & @CRLF) ConsoleWrite($CONST_VAR_200 & @CRLF) ConsoleWrite($CONST_VAR_201 & @CRLF) ConsoleWrite($CONST_VAR_202 & @CRLF) ConsoleWrite($CONST_VAR_203 & @CRLF) ConsoleWrite($CONST_VAR_204 & @CRLF) ConsoleWrite($CONST_VAR_205 & @CRLF) ConsoleWrite($CONST_VAR_206 & @CRLF) ConsoleWrite($CONST_VAR_207 & @CRLF) ConsoleWrite($CONST_VAR_208 & @CRLF) ConsoleWrite($CONST_VAR_209 & @CRLF) ConsoleWrite($CONST_VAR_210 & @CRLF) ConsoleWrite($CONST_VAR_211 & @CRLF) ConsoleWrite($CONST_VAR_212 & @CRLF) ConsoleWrite($CONST_VAR_213 & @CRLF) ConsoleWrite($CONST_VAR_214 & @CRLF) ConsoleWrite($CONST_VAR_215 & @CRLF) ConsoleWrite($CONST_VAR_216 & @CRLF) ConsoleWrite($CONST_VAR_217 & @CRLF) ConsoleWrite($CONST_VAR_218 & @CRLF) ConsoleWrite($CONST_VAR_219 & @CRLF) ConsoleWrite($CONST_VAR_220 & @CRLF) ConsoleWrite($CONST_VAR_221 & @CRLF) ConsoleWrite($CONST_VAR_222 & @CRLF) ConsoleWrite($CONST_VAR_223 & @CRLF) ConsoleWrite($CONST_VAR_224 & @CRLF) ConsoleWrite($CONST_VAR_225 & @CRLF) ConsoleWrite($CONST_VAR_226 & @CRLF) ConsoleWrite($CONST_VAR_227 & @CRLF) ConsoleWrite($CONST_VAR_228 & @CRLF) ConsoleWrite($CONST_VAR_229 & @CRLF) ConsoleWrite($CONST_VAR_230 & @CRLF) ConsoleWrite($CONST_VAR_231 & @CRLF) ConsoleWrite($CONST_VAR_232 & @CRLF) ConsoleWrite($CONST_VAR_233 & @CRLF) ConsoleWrite($CONST_VAR_234 & @CRLF) ConsoleWrite($CONST_VAR_235 & @CRLF) ConsoleWrite($CONST_VAR_236 & @CRLF) ConsoleWrite($CONST_VAR_237 & @CRLF) ConsoleWrite($CONST_VAR_238 & @CRLF) ConsoleWrite($CONST_VAR_239 & @CRLF) ConsoleWrite($CONST_VAR_240 & @CRLF) ConsoleWrite($CONST_VAR_241 & @CRLF) ConsoleWrite($CONST_VAR_242 & @CRLF) ConsoleWrite($CONST_VAR_243 & @CRLF) ConsoleWrite($CONST_VAR_244 & @CRLF) ConsoleWrite($CONST_VAR_245 & @CRLF) ConsoleWrite($CONST_VAR_246 & @CRLF) ConsoleWrite($CONST_VAR_247 & @CRLF) ConsoleWrite($CONST_VAR_248 & @CRLF) ConsoleWrite($CONST_VAR_249 & @CRLF) ConsoleWrite($CONST_VAR_250 & @CRLF) ConsoleWrite($CONST_VAR_251 & @CRLF) ConsoleWrite($CONST_VAR_252 & @CRLF) ConsoleWrite($CONST_VAR_253 & @CRLF) ConsoleWrite($CONST_VAR_254 & @CRLF) ConsoleWrite($CONST_VAR_255 & @CRLF) ConsoleWrite($CONST_VAR_256 & @CRLF) ConsoleWrite($CONST_VAR_257 & @CRLF) ConsoleWrite($CONST_VAR_258 & @CRLF) ConsoleWrite($CONST_VAR_259 & @CRLF) ConsoleWrite($CONST_VAR_260 & @CRLF) ConsoleWrite($CONST_VAR_261 & @CRLF) ConsoleWrite($CONST_VAR_262 & @CRLF) ConsoleWrite($CONST_VAR_263 & @CRLF) ConsoleWrite($CONST_VAR_264 & @CRLF) ConsoleWrite($CONST_VAR_265 & @CRLF) ConsoleWrite($CONST_VAR_266 & @CRLF) ConsoleWrite($CONST_VAR_267 & @CRLF) ConsoleWrite($CONST_VAR_268 & @CRLF) ConsoleWrite($CONST_VAR_269 & @CRLF) ConsoleWrite($CONST_VAR_270 & @CRLF) ConsoleWrite($CONST_VAR_271 & @CRLF) ConsoleWrite($CONST_VAR_272 & @CRLF) ConsoleWrite($CONST_VAR_273 & @CRLF) ConsoleWrite($CONST_VAR_274 & @CRLF) ConsoleWrite($CONST_VAR_275 & @CRLF) ConsoleWrite($CONST_VAR_276 & @CRLF) ConsoleWrite($CONST_VAR_277 & @CRLF) ConsoleWrite($CONST_VAR_278 & @CRLF) ConsoleWrite($CONST_VAR_279 & @CRLF) ConsoleWrite($CONST_VAR_280 & @CRLF)After: ConsoleWrite(@ScriptDir & @CRLF) ConsoleWrite(True & @CRLF) ConsoleWrite(@ScriptDir & @CRLF) ConsoleWrite(True & @CRLF) ConsoleWrite(@ScriptDir & @CRLF) ConsoleWrite("Some String Number 6" & @CRLF) ConsoleWrite(False & @CRLF) ConsoleWrite(929 & @CRLF) ConsoleWrite(933 & @CRLF) ConsoleWrite(769.665784479817 & @CRLF) ConsoleWrite(@ScriptDir & @CRLF) ConsoleWrite(True & @CRLF) ConsoleWrite("Some String Number 13" & @CRLF) ConsoleWrite("Some String Number 14" & @CRLF) ConsoleWrite("Some String Number 15" & @CRLF) ConsoleWrite(@ScriptDir & @CRLF) ConsoleWrite(False & @CRLF) ConsoleWrite(@ScriptDir & @CRLF) ConsoleWrite("Some String Number 19" & @CRLF) ConsoleWrite("Some String Number 20" & @CRLF) ConsoleWrite(True & @CRLF) ConsoleWrite(228.61349680461 & @CRLF) ConsoleWrite("Some String Number 23" & @CRLF) ConsoleWrite(@ScriptDir & @CRLF) ConsoleWrite(False & @CRLF) ConsoleWrite(True & @CRLF) ConsoleWrite(171.124138467945 & @CRLF) ConsoleWrite(@ScriptDir & @CRLF) ConsoleWrite(@ScriptDir & @CRLF) ConsoleWrite(@ScriptDir & @CRLF) ConsoleWrite(308 & @CRLF) ConsoleWrite(659.485720483586 & @CRLF) ConsoleWrite("Some String Number 33" & @CRLF) ConsoleWrite(@ScriptDir & @CRLF) ConsoleWrite(@ScriptDir & @CRLF) ConsoleWrite(False & @CRLF) ConsoleWrite(False & @CRLF) ConsoleWrite(994.699117473094 & @CRLF) ConsoleWrite(345.137656846782 & @CRLF) ConsoleWrite(@ScriptDir & @CRLF) ConsoleWrite(@ScriptDir & @CRLF) ConsoleWrite("Some String Number 42" & @CRLF) ConsoleWrite(@ScriptDir & @CRLF) ConsoleWrite(@ScriptDir & @CRLF) ConsoleWrite(21.8916724964511 & @CRLF) ConsoleWrite(@ScriptDir & @CRLF) ConsoleWrite(400 & @CRLF) ConsoleWrite(@ScriptDir & @CRLF) ConsoleWrite("Some String Number 49" & @CRLF) ConsoleWrite(True & @CRLF) ConsoleWrite(694 & @CRLF) ConsoleWrite("Some String Number 52" & @CRLF) ConsoleWrite("Some String Number 53" & @CRLF) ConsoleWrite(69.0704407929443 & @CRLF) ConsoleWrite("Some String Number 55" & @CRLF) ConsoleWrite(False & @CRLF) ConsoleWrite(@ScriptDir & @CRLF) ConsoleWrite(True & @CRLF) ConsoleWrite(469.03752424242 & @CRLF) ConsoleWrite("Some String Number 60" & @CRLF) ConsoleWrite(672.557973664952 & @CRLF) ConsoleWrite(980.679561085301 & @CRLF) ConsoleWrite(638.447331566829 & @CRLF) ConsoleWrite("Some String Number 64" & @CRLF) ConsoleWrite(335 & @CRLF) ConsoleWrite(True & @CRLF) ConsoleWrite(True & @CRLF) ConsoleWrite(False & @CRLF) ConsoleWrite("Some String Number 69" & @CRLF) ConsoleWrite(@ScriptDir & @CRLF) ConsoleWrite(@ScriptDir & @CRLF) ConsoleWrite("Some String Number 72" & @CRLF) ConsoleWrite(@ScriptDir & @CRLF) ConsoleWrite(231 & @CRLF) ConsoleWrite("Some String Number 75" & @CRLF) ConsoleWrite(@ScriptDir & @CRLF) ConsoleWrite(True & @CRLF) ConsoleWrite(50.2678008952644 & @CRLF) ConsoleWrite(True & @CRLF) ConsoleWrite("Some String Number 80" & @CRLF) ConsoleWrite(941.841832005186 & @CRLF) ConsoleWrite(@ScriptDir & @CRLF) ConsoleWrite("Some String Number 83" & @CRLF) ConsoleWrite(@ScriptDir & @CRLF) ConsoleWrite(222.873421458993 & @CRLF) ConsoleWrite(@ScriptDir & @CRLF) ConsoleWrite(False & @CRLF) ConsoleWrite(True & @CRLF) ConsoleWrite(True & @CRLF) ConsoleWrite(@ScriptDir & @CRLF) ConsoleWrite("Some String Number 91" & @CRLF) ConsoleWrite(False & @CRLF) ConsoleWrite("Some String Number 93" & @CRLF) ConsoleWrite(False & @CRLF) ConsoleWrite(112 & @CRLF) ConsoleWrite(False & @CRLF) ConsoleWrite(True & @CRLF) ConsoleWrite(True & @CRLF) ConsoleWrite("Some String Number 99" & @CRLF) ConsoleWrite(False & @CRLF) ConsoleWrite("Some String Number 101" & @CRLF) ConsoleWrite(True & @CRLF) ConsoleWrite(@ScriptDir & @CRLF) ConsoleWrite(@ScriptDir & @CRLF) ConsoleWrite("Some String Number 105" & @CRLF) ConsoleWrite("Some String Number 106" & @CRLF) ConsoleWrite(@ScriptDir & @CRLF) ConsoleWrite(@ScriptDir & @CRLF) ConsoleWrite(@ScriptDir & @CRLF) ConsoleWrite(@ScriptDir & @CRLF) ConsoleWrite(False & @CRLF) ConsoleWrite(False & @CRLF) ConsoleWrite(@ScriptDir & @CRLF) ConsoleWrite(@ScriptDir & @CRLF) ConsoleWrite("Some String Number 115" & @CRLF) ConsoleWrite(569 & @CRLF) ConsoleWrite("Some String Number 117" & @CRLF) ConsoleWrite(817 & @CRLF) ConsoleWrite(True & @CRLF) ConsoleWrite(@ScriptDir & @CRLF) ConsoleWrite("Some String Number 121" & @CRLF) ConsoleWrite(True & @CRLF) ConsoleWrite(True & @CRLF) ConsoleWrite(972.01836516778 & @CRLF) ConsoleWrite(@ScriptDir & @CRLF) ConsoleWrite("Some String Number 126" & @CRLF) ConsoleWrite(@ScriptDir & @CRLF) ConsoleWrite(False & @CRLF) ConsoleWrite(102.34518263978 & @CRLF) ConsoleWrite(247 & @CRLF) ConsoleWrite(485 & @CRLF) ConsoleWrite(@ScriptDir & @CRLF) ConsoleWrite(@ScriptDir & @CRLF) ConsoleWrite(False & @CRLF) ConsoleWrite(185 & @CRLF) ConsoleWrite(@ScriptDir & @CRLF) ConsoleWrite("Some String Number 137" & @CRLF) ConsoleWrite(@ScriptDir & @CRLF) ConsoleWrite(684.853763477178 & @CRLF) ConsoleWrite("Some String Number 140" & @CRLF) ConsoleWrite("Some String Number 141" & @CRLF) ConsoleWrite(15 & @CRLF) ConsoleWrite(894 & @CRLF) ConsoleWrite(@ScriptDir & @CRLF) ConsoleWrite(@ScriptDir & @CRLF) ConsoleWrite("Some String Number 146" & @CRLF) ConsoleWrite(True & @CRLF) ConsoleWrite("Some String Number 148" & @CRLF) ConsoleWrite("Some String Number 149" & @CRLF) ConsoleWrite(685 & @CRLF) ConsoleWrite(876 & @CRLF) ConsoleWrite(False & @CRLF) ConsoleWrite(@ScriptDir & @CRLF) ConsoleWrite("Some String Number 154" & @CRLF) ConsoleWrite(346 & @CRLF) ConsoleWrite(True & @CRLF) ConsoleWrite(@ScriptDir & @CRLF) ConsoleWrite(428.429060575552 & @CRLF) ConsoleWrite("Some String Number 159" & @CRLF) ConsoleWrite(@ScriptDir & @CRLF) ConsoleWrite(465 & @CRLF) ConsoleWrite(True & @CRLF) ConsoleWrite("Some String Number 163" & @CRLF) ConsoleWrite(False & @CRLF) ConsoleWrite(905.929007398197 & @CRLF) ConsoleWrite("Some String Number 166" & @CRLF) ConsoleWrite(False & @CRLF) ConsoleWrite(False & @CRLF) ConsoleWrite(@ScriptDir & @CRLF) ConsoleWrite(True & @CRLF) ConsoleWrite("Some String Number 171" & @CRLF) ConsoleWrite(False & @CRLF) ConsoleWrite(745 & @CRLF) ConsoleWrite(True & @CRLF) ConsoleWrite("Some String Number 175" & @CRLF) ConsoleWrite(False & @CRLF) ConsoleWrite(129 & @CRLF) ConsoleWrite(True & @CRLF) ConsoleWrite("Some String Number 179" & @CRLF) ConsoleWrite("Some String Number 180" & @CRLF) ConsoleWrite("Some String Number 181" & @CRLF) ConsoleWrite("Some String Number 182" & @CRLF) ConsoleWrite("Some String Number 183" & @CRLF) ConsoleWrite(@ScriptDir & @CRLF) ConsoleWrite(187.73177490104 & @CRLF) ConsoleWrite(352.337569564348 & @CRLF) ConsoleWrite(311.494611016707 & @CRLF) ConsoleWrite(270 & @CRLF) ConsoleWrite(@ScriptDir & @CRLF) ConsoleWrite("Some String Number 190" & @CRLF) ConsoleWrite("Some String Number 191" & @CRLF) ConsoleWrite(174.566120439675 & @CRLF) ConsoleWrite("Some String Number 193" & @CRLF) ConsoleWrite(True & @CRLF) ConsoleWrite("Some String Number 195" & @CRLF) ConsoleWrite(@ScriptDir & @CRLF) ConsoleWrite("Some String Number 197" & @CRLF) ConsoleWrite(@ScriptDir & @CRLF) ConsoleWrite("Some String Number 199" & @CRLF) ConsoleWrite("Some String Number 200" & @CRLF) ConsoleWrite(@ScriptDir & @CRLF) ConsoleWrite("Some String Number 202" & @CRLF) ConsoleWrite("Some String Number 203" & @CRLF) ConsoleWrite("Some String Number 204" & @CRLF) ConsoleWrite(False & @CRLF) ConsoleWrite(@ScriptDir & @CRLF) ConsoleWrite(@ScriptDir & @CRLF) ConsoleWrite(883.095158747165 & @CRLF) ConsoleWrite(@ScriptDir & @CRLF) ConsoleWrite(@ScriptDir & @CRLF) ConsoleWrite(True & @CRLF) ConsoleWrite("Some String Number 212" & @CRLF) ConsoleWrite("Some String Number 213" & @CRLF) ConsoleWrite(True & @CRLF) ConsoleWrite(True & @CRLF) ConsoleWrite(True & @CRLF) ConsoleWrite(@ScriptDir & @CRLF) ConsoleWrite("Some String Number 218" & @CRLF) ConsoleWrite("Some String Number 219" & @CRLF) ConsoleWrite(@ScriptDir & @CRLF) ConsoleWrite("Some String Number 221" & @CRLF) ConsoleWrite(False & @CRLF) ConsoleWrite("Some String Number 223" & @CRLF) ConsoleWrite(@ScriptDir & @CRLF) ConsoleWrite("Some String Number 225" & @CRLF) ConsoleWrite(True & @CRLF) ConsoleWrite(@ScriptDir & @CRLF) ConsoleWrite(@ScriptDir & @CRLF) ConsoleWrite(124 & @CRLF) ConsoleWrite(False & @CRLF) ConsoleWrite("Some String Number 231" & @CRLF) ConsoleWrite(536.685596249066 & @CRLF) ConsoleWrite("Some String Number 233" & @CRLF) ConsoleWrite(@ScriptDir & @CRLF) ConsoleWrite(False & @CRLF) ConsoleWrite(False & @CRLF) ConsoleWrite("Some String Number 237" & @CRLF) ConsoleWrite(658.447164270561 & @CRLF) ConsoleWrite(@ScriptDir & @CRLF) ConsoleWrite(140 & @CRLF) ConsoleWrite(790 & @CRLF) ConsoleWrite("Some String Number 242" & @CRLF) ConsoleWrite(848.363330695312 & @CRLF) ConsoleWrite(True & @CRLF) ConsoleWrite(153.434925925918 & @CRLF) ConsoleWrite(750.900167408632 & @CRLF) ConsoleWrite(False & @CRLF) ConsoleWrite(True & @CRLF) ConsoleWrite(908.597750271671 & @CRLF) ConsoleWrite(True & @CRLF) ConsoleWrite(654.769560016459 & @CRLF) ConsoleWrite(True & @CRLF) ConsoleWrite(True & @CRLF) ConsoleWrite("Some String Number 254" & @CRLF) ConsoleWrite(785 & @CRLF) ConsoleWrite(@ScriptDir & @CRLF) ConsoleWrite("Some String Number 257" & @CRLF) ConsoleWrite("Some String Number 258" & @CRLF) ConsoleWrite(966 & @CRLF) ConsoleWrite("Some String Number 260" & @CRLF) ConsoleWrite(@ScriptDir & @CRLF) ConsoleWrite("Some String Number 262" & @CRLF) ConsoleWrite(@ScriptDir & @CRLF) ConsoleWrite(False & @CRLF) ConsoleWrite("Some String Number 265" & @CRLF) ConsoleWrite(410.872590442421 & @CRLF) ConsoleWrite(@ScriptDir & @CRLF) ConsoleWrite(@ScriptDir & @CRLF) ConsoleWrite("Some String Number 269" & @CRLF) ConsoleWrite(76 & @CRLF) ConsoleWrite(@ScriptDir & @CRLF) ConsoleWrite(285 & @CRLF) ConsoleWrite(498 & @CRLF) ConsoleWrite(@ScriptDir & @CRLF) ConsoleWrite(True & @CRLF) ConsoleWrite(@ScriptDir & @CRLF) ConsoleWrite(False & @CRLF) ConsoleWrite(False & @CRLF) ConsoleWrite("Some String Number 279" & @CRLF) ConsoleWrite(@ScriptDir & @CRLF)Before: #include <Constants.au3> Example() Func Example() Local Const $MB_SYSTEMMODAL = 4096 Local Const $sVar = 'SomeVar', $iConsty = 1000, $sConstyVar = 'SomeConst', $iControlID = ConsoleWrite('This won''t be expanded.') Local Enum $eVar_1 = 1, $eVar_2, $eVar_3, $eVar_4 #forceref $eVar_1, $eVar_2, $eVar_3 MsgBox($MB_SYSTEMMODAL, $sVar, 'Enum Var_4: ' & $eVar_4 & @TAB & @TAB) MsgBox($MB_SYSTEMMODAL, 'Enum Var_2: ' & $eVar_2, $sConstyVar & @TAB & @TAB) EndFunc ;==>Example After: #include <Constants.au3> Example() Func Example() Local Const $iControlID = ConsoleWrite('This won''t be expanded.') MsgBox(4096, 'SomeVar', 'Enum Var_4: ' & 4 & @TAB & @TAB) MsgBox(4096, 'Enum Var_2: ' & 2, 'SomeConst' & @TAB & @TAB) EndFunc ;==>Example An example of why I use Enum: #include <MsgBoxConstants.au3> Example() Func Example() Local Enum $eAPI_FilePath, $eAPI_FileDate, $eAPI_FileData, $eAPI_Max Local $aAPI[$eAPI_Max] $aAPI[$eAPI_FilePath] = @ScriptFullPath ; It's easier to understand that this item is hold the file path date ; string, instead of using $aAPI[1]. Also if I decided to change what index ; holds what, then I only have to change the order of the Enum declaration. $aAPI[$eAPI_FileDate] = FileGetTime($aAPI[$eAPI_FilePath], Default, 1) MsgBox($MB_SYSTEMMODAL, '', $aAPI[$eAPI_FilePath] & @CRLF & _ $aAPI[$eAPI_FileDate]) EndFunc ;==>Example Download v1.4.0.0: PreExpand.zip Changelog: Thanks to everyone who tested over the last year or so. Sorry for the delay in releasing a stable version. I will admit the last change I made to the code was the 29th August 2014, though everything I wanted to add/fix had been completed before then, hence why I left it this long (waiting for people to report a bug etc.) Limitations (for now): See Readme,txt
    1 point
  5. Being sufficiently ancient to recall CP/M, monochrome CRTs, and woolly mammoths, I thought I'd share something from the bad old days: FAT filesystems (FAT12, FAT16, FAT32). Still widely used in USB flashRAM, SD cards, RAMdisks, and microcontroller-based embedded systems, (F)ile (A)llocation (T)able filesystems are simple and robust, providing a great environment for learning how filesystems work. Moreover, many operating systems other than Windows can handle them, enabling data exchange between different platforms. That's the good part. I've often wondered why nobody had yet written a FAT UDF library for AutoIt. Now I know why. When a normally bone-dry tech page introduces FAT with the words "Welcome to Hell" you know you're in for a rough ride. It took me almost a year of grief and many, many wrecked (virtual) volumes to get to this first beta release. That's the bad part. Why was it so painful to develop, you rhetorically ask? The I/O itself is fairly straightforward, but backward compatibility, poor design choices and some blatant mistakes have produced a convoluted mess of rules with exceptions, exceptions to the exceptions, and exceptions to the exceptions to the exceptions (and in case you're wondering, no, I'm not talking about my own scripts here). It's like the Gregorian calendar, which has 365 days per year, unless the year is divisible by 4 (366), unless the year is also divisible by 100 (365), unless the year is also divisible by 400 (366). Add to that non-standard address-widths (paired 12-bit in FAT12, 28-bit in FAT32), file fragmentation, lost clusters, cross-, open-, and self-linked chaining errors, and the train wreck that is VFAT Long File Names support , and you've got yourself a challenge. The result is a main library called the FAT Suite (FATsuite.au3), to which I've added a large demo GUI called FAT Manager (FATman.au3, not to be confused with the famous superhero), plus my trusty MBR handler (BuildPartitionTable.au3), and a few sample image files with different types of FAT. If running older versions of AutoIt, you'll additionally need Yashied's outstanding WinAPIEx.au3. I've also gratefully incorporated two excellent UDFs by Ascend4nt and trancexx respectively (with acknowledgement, of course). Many thanks to you all! When you start FATman and load a volume, you'll see a pretty lame directory/file tree above a small log-window (ripped from my CodeScanner). Bog-standard menus allow you to copy, rename, remove files and dirs, etcetera. No big deal, right? You're not impressed. But please consider this: When FATman loads a volume (either from an image file or a physical drive) it is unmounted. As far as Windows is concerned, the volume is inaccessible to you. But your actions are not handled by the OS, but by the FATsuite UDFs. If you don't appreciate the significance of unmounted full access, then this library probably isn't for you. For my fellow codehounds, however, check out the main features below. And yes, it can be slow for large filled volumes with a small cluster size (especially the demo GUI tree refresh). But it also offers you full access to your files and other data, that is, more than Windows usually offers you. Main Features: FAT volume creation and (re)formatting (18 KB - 2 TB; slow for large volumes) visualising FAT architecture, with interactive tool (manipulate total size, cluster size, number of FAT copies) two-way file transfer between FAT volume and memory (UDF only, no GUI support) two-way file transfer between FAT volume and other, mounted (FAT/NTFS) volumes internal volume-, directory-, and file I/O (create/copy/move/truncate/remove/rename/filefind/edit filespecs) *physical* directory sorting by any criterion (unlike MicroSoft's "sorted" view of physically unsorted data) wiping files and physical removal of "deleted" files/subdirs in dir table and zeroing DataRegion clusters retrieving lost/deleted/damaged data clusters (with or without FAT reference) detecting/patching FAT chaining errors (cross-linked, open-ended, and circular chains) raw FAT I/O, including flipping CleanShutdown and Hard R/W-error bits manipulating bad clusters (single creation/single removal/bulk removal) with file chain rerouting determining cluster ownership for any defined FAT entry extracting all filesystem parameters, and editing some rawcopy image-to-volume and volume-to-image (imagefile or physical device) optional comparison/synchronisation of multiple FAT copies (the table, not the entire volume) File Find utility (UDF only, no GUI support) heavily annotated code for learning about FAT filesystem mechanics But beware, you can do enormous damage to your FAT volumes. For example, there's no soft-delete with recycle bin retrieval, and confirmation checks are few. Once you remove/wipe/truncate a file, it's gone forever, period. So please, please, please, read the FATsuite Remarks section before calling its UDFs; also read the annotations in the UDFs; study FATman's many examples; always work with imagefiles of which you keep multiple backup copies. Remember, it's a beta release ( glitches possible!); you may accidentally parse a wrong parameter at some point; and Murphy's Law always applies. FATsuite.v1.1.7z (AutoIt 3.3.12 compliant version 1.1; likely won't run in legacy AutoIt environments) FATimageExamples.7z Sample FAT image files (reduced in size) I hope this contribution helps to clarify how FAT filesystems work, and that you have fun playing with it, or find some other use(s) for it. RT PS Okay, I admit the mammoth was already slightly dead when I saw it, and had been for quite a while.
    1 point
  6. rasim

    UnRARIt v1.2 *New

    UnRARIt v1.2 UnRARIt - is program designed for unpacking RAR archives. Now new version! Common features: Extract all files Extract selected files View archive files Test archive Decrypt passworded archive Multivolume archive support Drag & Drop support Associate with rar-archives Decrypt files with encrypted names *New Edit: + Added. GUI resizing. - Removed bug with files icons. + Some code optimization. Compiled script UnRARIt.exe Latest unrar.dll library Latest unrar.dll library from official server. unrarit_source_v1.2.zip
    1 point
  7. UEZ

    GDIPlus - high RAM usage

    You forgot _GDIPlus_BitmapDispose($hMask) in function _GDIPlus_drawMoonPhase. Br, UEZ
    1 point
  8. easy to identify (s)trings from (a)rrays that way. So returning an $aArray and setting $aArray[$i] element as $sArrayitem is quite commonly found
    1 point
  9. I have an update on this tool - I was unable to find a way to deal with the alternate data streams issue through command line or XML file modification, so ended up using Streams.exe to accomplish the goal. Really not my preferred way of doing it, but as my company uses it, it is only ever used prior to a Windows reload, so ditching all alternate data stream data isn't a big deal. However, for any users planning on using this as a means to create a backup but keeping the system as-is, PLEASE be aware of this! I can't really think of any circumstance that it would be harmful, but your mileage may vary... Along with the code, you must download the USMT5extras.zip archive and extract it to the same folder as the code. Included are the USMT version 5 files, streams.exe, and the 7zip files needed to extract the USMT archives. If for any reason you are not comfortable using the included streams.exe and would rather replace it with one you have downloaded yourself, please feel free: http://technet.microsoft.com/en-us/sysinternals/bb897440.aspx Ian
    1 point
  10. I've been waiting for this to be found out...
    1 point
×
×
  • Create New...