Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 08/24/2019 in Posts

  1. and one more, that introduces new and fun edge cases #include <Array.au3> Local $Array[9][10] = [ _ [9], _ ["", 'A'], _ ["B", 1], _ ["", 'B', 2], _ ["C", 1, 2], _ ["", "", ""], _ [""], _ ["D", 1, 2, 3]] local $a[0][ubound($Array , 2)] _ArrayAdd($a , StringRegExpReplace(_ArrayToString($Array) , "\R\|{" & ubound($Array , 2) - 1 & "}" , "")) _ArrayDisplay($a)
    2 points
  2. #Include <Array.au3> Local $Array[9][10] = [ _ [9], _ ["", 'A'], _ ["B", 1], _ ["", 'B', 2], _ ["C", 1, 2], _ ["", "", ""], _ [""], _ ["D", 1, 2, 3]] $s = StringStripWS(StringRegExpReplace(_ArrayToString($Array , ","), '(?m)^.*[^,\v](*SKIP)(*F)|[,\v]+\R|^,+$', @crlf), 2) Local $a[0][UBound($Array, 2)], $dummy = _ArrayAdd($a, $s, 0, ",") _ArrayDisplay($a)
    2 points
  3. Then just create an account. If it's REALLY for someone such as your brother then you know what the Guest account is called. I'm stating to smell fish here.
    2 points
  4. @Colduction, Please give me a proper answer this time as you ignored me conveniently last time: What are you really trying to do as this can't have anything to do with your brother and limiting access. Do not ignore me this time as the will have repercussions. Jos @ everybody else: Stay out until this thread is cleared again!
    1 point
  5. If the final purpose is to get an array, maybe this ? #Include <Array.au3> Local $Array[9][10] = [ _ [9], _ [""], _ ["B", 1], _ [""], _ ["C", 1, 2], _ [""], _ [""], _ ["D", 1, 2, 3]] $s = StringStripWS(StringRegExpReplace(_ArrayToString($Array , ","), '[,\s]{2,}', @crlf), 2) Local $a[0][UBound($Array, 2)], $dummy = _ArrayAdd($a, $s, 0, ",") _ArrayDisplay($a)
    1 point
  6. one more stab at this: Local $Array[9][10] = [ _ [9], _ [""], _ ["B", 1], _ [""], _ ["C", 1, 2], _ [""], _ [""], _ ["D", 1, 2, 3]] msgbox(0, '' , "[" & stringtrimright("[" & StringReplace(StringRegExpReplace(_ArrayToString($Array , " ") , "\s\s+" , "],["), " " , ",") , 2) & "]")
    1 point
  7. This is the path I would head down (i can put it in pretty brackets if you need help with that, but there are many hundreds of ways to format the resulting characters) #include <Array.au3> Local $Array[9][10] = [ _ [9], _ [""], _ ["B", 1], _ [""], _ ["C", 1, 2], _ [""], _ [""], _ ["D", 1, 2, 3]] msgbox(0, '' , stringregexpreplace(_ArrayToString($Array , "," , -1 , -1 , ",") , ",,+" , @LF)) And while you wont be able to declare your variable as an array and debug it, you can split it on the brackets local $aTest[0] _ArrayAdd($aTest , $str , 0 , "]," , "[") _ArrayDisplay($aTest)
    1 point
  8. I highly doubt someone could answer to your issue. My first reflex would be to convert everything in autoit using excel and powerpoint UDFs. And use COM whenever required. I believe it would make your life much easier to use only one single technology...
    1 point
  9. It's really a case-by-case manual reconstruction of how a browser handles the http responses :)... #include "WinHttp.au3" #include <array.au3> Global $array1[6] $array1[0] = "https://vorboss.dl.sourceforge.net/project/orwelldevcpp/Setup%20Releases/Dev-Cpp%205.11%20TDM-GCC%204.9.2%20Setup.exe" $array1[1] = "https://web.archive.org/web/20190819012616/https://fs17.letsupload.co/kax4/test.au3?download_token=d2ef31a5e00970c4e8f5471e51116e56b14a39e23358ec9c60416b385bf1e49b" $array1[2] = "https://www.apache.org/dist/tomcat/tomcat-7/v7.0.96/src/apache-tomcat-7.0.96-src.tar.gz.sha512" $array1[3] = "https://web.archive.org/web/20190819014417/https://dl1.cdn.filezilla-project.org/client/FileZilla_3.44.1_win64.zip?h=V5YGZjZN40UvKJZ7bqD-Ug&x=1566182547" $array1[4] = "https://web.archive.org/web/20190819014833/https://download.cdn.dll-files.com/fe907d306a80a1687d48919c6f4587c4/autoitx3.zip?VGd4d0hsa1NiQzVDdzNOMWVqaEtZUT09" $array1[5] = "https://web.archive.org/web/20190822040442if_/https://s282myt.storage.yandex.net/rdisk/2f60cabf31da26853111ecea602fab20b821cb8a46adee8ec053432d270b9179/5d5e4c62/gaG5jIPvspHWIXtY9Y9OLiQuoHsMiJSa1hDrtHd0afpQv8cnXgV2Ml0NHZ8PQRPLTEXzwtAKdmbHWSNZ4jc88g==?uid=0&filename=Test%20MsgBox.au3&disposition=attachment&hash=rul7sHfLjBcpP9UXDrB6I1xF%2BE7Oq5DM00C8S7gfNyQG6fl4MOf1bbmvRKZ5L0l4q/J6bpmRyOJonT3VoXnDag%3D%3D&limit=0&content_type=text%2Fplain&owner_uid=504872142&fsize=24&hid=3a4dfb00b6cdf0a59a7e58d84d380506&media_type=development&tknv=v2&rtoken=R7luhA5hrKUM&force_default=no&ycrid=na-de0032a7af481b74b2e26e3ec1fc7859-downloader8f&ts=590b021025c80&s=7acc9ef73b7b94b866b1c0d8c9e3d9d66d615858aafc6be4a2b5fabc95473a3f&pb=U2FsdGVkX1-bjAQlZgAx-SYi16bt0E9HuNEt_aXyM9nXXCbZy2FC5bQncI4MIEUGB5bNaHGJT91QrLlgRMkTSR9OPN0Wv2og0TyKDjHguCg" For $i = 0 To UBound($array1) - 1 ConsoleWrite($i & " URL= " & $array1[$i] & @CRLF) $aCracked = _WinHttpCrackUrl($array1[$i], $ICU_DECODE) ; Global Const $ICU_DECODE = 0x10000000 ; Global Const $ICU_ESCAPE = 0x80000000 ;_ArrayDisplay($aCracked) $hHttpOpen = _WinHttpOpen() $hConnect = _WinHttpConnect($hHttpOpen, $aCracked[2], $aCracked[3]) $hRequest = _WinHttpOpenRequest($hConnect, "GET", $aCracked[6] & $aCracked[7], Default, Default, Default, $WINHTTP_FLAG_SECURE) _WinHttpAddRequestHeaders($hRequest, "User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:22.0) Gecko/20100101 Firefox/22.0") _WinHttpSendRequest($hRequest) _WinHttpReceiveResponse($hRequest) $sDisp = _WinHttpQueryHeaders($hRequest) ; ClipPut($sDisp) ; MsgBox(0, "", $sDisp) Local $sFilename If StringInStr($sDisp, 'Content-Disposition: attachment; filename') Then $aDisp = StringSplit($sDisp, @CRLF) For $y = 1 To $aDisp[0] If StringInStr($aDisp[$y], 'Content-Disposition: attachment; filename') Then If StringInStr($aDisp[$y], "*=UTF-8'") Then $sFilename = URLDecode(StringReplace($aDisp[$y], "Content-Disposition: attachment; filename*=UTF-8''", '')) ExitLoop Else $sFilename = StringReplace($aDisp[$y], 'Content-Disposition: attachment; filename=', '') ExitLoop EndIf EndIf Next ElseIf StringInStr($sDisp, @CRLF & 'Location: ') Then $aDisp = StringSplit($sDisp, @CRLF) For $y = 1 To $aDisp[0] If StringInStr($aDisp[$y], 'Location: ') Then $sFilename = StringReplace($aDisp[$y], 'Location: ', '') $sFilename = StringRight($sFilename, StringLen($sFilename) - StringInStr($sFilename, "/", 0, -1)) ExitLoop EndIf Next Else $sFilename = StringRight($aCracked[6], StringLen($aCracked[6]) - StringInStr($aCracked[6], "/", 0, -1)) EndIf ; Close handles _WinHttpCloseHandle($hRequest) _WinHttpCloseHandle($hConnect) _WinHttpCloseHandle($hHttpOpen) ConsoleWrite($sFilename & @CRLF) ConsoleWrite(@CRLF) Next Func URLDecode($urlText) $urlText = StringReplace($urlText, "+", " ") Local $matches = StringRegExp($urlText, "\%([abcdefABCDEF0-9]{2})", 3) If Not @error Then For $match In $matches $urlText = StringReplace($urlText, "%" & $match, BinaryToString('0x' & $match)) Next EndIf Return $urlText EndFunc ;==>URLDecode
    1 point
  10. 2016.07.01b fixed the installer. At times the template on vista and newer goes to c:\users\All Users\.. ..\Templates 2016.07.01 ; https://www.autoitscript.com/forum/topic/149137-sign-your-exe-with-a-digital-signature-signtoolexe/?do=findComment&comment=1316935 after extensive testing, this is the best I can come up with, to simplify self signing the executable compiled with AutoIt3 from SciTE ( the editor ). Could have given the code more options but I felt at the time of coding that it was practical enough and if you ( the coder ) feel different, the code is in the file to tweak or just plain rewrite. In this ZIP are included the updated utility files from the original distribution of this package plus an installer of sorts called "copy all these to SciTE path.exe", to place the files in the path that the "#AutoIt3Wrapper_Run_After" command can find even if running as a portable setup. The path is %scitedir%\tools\SignThisFile\CertSigner.exe and it will also patch the Template.au3 ( if one is found ), to add the directive, with /NoPopup /NoLogfile ( therefore CertSigner.exe would otherwise write a log file and show a GUI with said log ), but the output is displayed at SciTE's console anyway, so what's the need for more bells and whistles. No need. Unless you run it in self standing mode, by dropping a file to it. Then you do want to have a feedback. In such case, a log is written and displayed. You may even add a shortcutr to "SendTo", to sign files from explorer. I tested the original code from Windows 2000 to Windows 10 and this compilation in english, spanish, french and korean, to assure uniform looks and functionality under every circumstance that I can think of at this moment. An ini file will be created as you first run CertSigner.exe, for you to edit and create your own self signed certificate. Do add the certificate to the store as trusted root ( otherwise what's the point ), and by doing so, the verification at the end of the signing will pass. Enjoy
    1 point
×
×
  • Create New...