Jump to content

AutoItCoder

Moderadores (Mod)
  • Content count

    28
  • Joined

  • Last visited

  • Days Won

    8

AutoItCoder last won the day on December 6 2017

AutoItCoder had the most liked content!

Community Reputation

12 Neutro

About AutoItCoder

  • Rank
    Moderador

Profile Information

  • Gender
    Not Telling
  • Location
    Brasil do sul
  1. Software comercial em autoit.

    Sugiro ler com atenção esses tópicos: https://www.autoitscript.com/forum/topic/157524-a3x-script-extract-detect-extract-a3x-embedded-resource/ https://www.autoitscript.com/forum/topic/146661-_hwid-protect-your-script/ http://forum.autoitbrasil.com/index.php?/topic/1732-proteger-contra-descompilacao/ http://forum.autoitbrasil.com/index.php?/topic/1301-como-proteger-programa/ http://forum.autoitbrasil.com/index.php?/topic/339-proteger-contra-decompiler/
  2. Carregar arquivo em um FTP

    Bem vindo ao fórum AutoItBrasil, sugiro: http://www.top5freeware.com/pscp-examples http://www.inf.pucrs.br/ssh/winscp/ https://www.ssh.com/ssh/putty/putty-manuals/0.68/Chapter5.html
  3. SQLite Básico

    Opa, eu lembro desse tópico, fica aqui minha sugestão: http://www.autoitscript.com/forum/index.php?app=core&module=attach&section=attach&attach_id=35687 A senha para ter acesso ao .db está aqui: pragma key = 'Radu is happy!' Teste com uma senha diferente. ;don't include sqlite.dll.au3 #include <SQLite.au3> _SQLite_Startup("System.Data.SQLite.dll") ConsoleWrite('Lib[' & _SQLite_LibVersion() & ']' & @LF) ConsoleWrite('Open[' & _SQLite_Open("testcrypt.db") & ']' & @LF) _SQLite_Exec(-1, "pragma key = 'Radu is happy!'; create table if not exists test (id integer, val text);" & _ "insert into test values (1, 'abc');") Local $row _SQLite_QuerySingleRow(-1, "select * from test;", $row) ConsoleWrite($row[1] & @LF) _SQLite_Close() _SQLite_Shutdown()
  4. nokezin, leia as regras do fórum. Esse tipo de conteúdo não é permitido aqui.
  5. @Horuzen, bem vindo ao fórum. O que você quer fazer? Ainda não entendi, está muito vago. Nos forneça uma explicação mais detalhada por favor.
  6. Verificar se uma pasta tem novos arquivos

    Saudações @max.santiago! Eu entendi perfeitamente o que você quer, mas não utilize o _FileListToArray, o Windows já tem função pronto para a sua necessidade, e está em uma função do Windows, invocada pela API _WinAPI_ReadDirectoryChanges Estude o exemplo, acredito que é a solução que você procura.
  7. Conexão Banco de Dados SQLServer

    Saudações @BigMen! O SQLite não utiliza autenticação. Assim como em um MySQL (Postgre, MSSQL), que precisa de um user admin, com senha, para ter acesso aos dados do banco, o SQLite não é assim. Na linha 34 você instanciou o banco e está pronto. Apenas isso.
  8. Violação das regras do fórum. Não há suporte para automação de jogos.
  9. O que é esse "BabyLoves", nunca ouvi falar?
  10. Pequenos scripts úteis

    Minha contribuição, uma pequena variação de _ArrayAdd2D, mas para qualquer quantidade de itens... Func _ArrayAdd2d(ByRef $arr, $mOpt0 = Default, $mOpt1 = Default, $mOpt2 = Default, $mOpt3 = Default) $arr[0][0] = UBound($arr, 1) Local $iCol = UBound($arr, 2) ReDim $arr[$arr[0][0] + 1][$iCol] If @NumParams - 1 < $iCol Then $iCol = @NumParams - 1 For $ii = 0 To $iCol - 1 $arr[$arr[0][0]][$ii] = Eval("mOpt" & $ii) Next EndFunc ;==>_ArrayAdd2d​ Logicamente, se faltar parâmetros, basta adicionar mais: $mOpt4 = Default, $mOpt5 = Default, $mOpt6 = Default, $mOpt7 = Default, $mOpt8 = Default) ; e assim por diante
  11. 'Conversa' entre aplicações em AutoIt

    Lendo este artigo do Luigi http://forum.autoitbrasil.com/index.php?/topic/1603-como-chamar-um-script-em-outro-script/#entry10461 São várias maneiras de um processo se comunicar com o outro. Até por meio de arquivo .ini funciona! Mas acredito que a melhor forma, seja o TCP/IP. TCP/IP não é fácil, exige que você crie no mesmo aplicativo (script) com funções para cliente e servidor. Embora isso pareça desanimador, digo que não, pois se for feito em TCP/IP, você pode criar uma forma de comunicação entre aplicativos(scripts) que estejam em contas diferentes! Desanimador? mas se você vai criar uma forma de um script se comunicar com outro, um vai ter que ser cliente/servidor e o outro... também vai ter que ser cliente servidor! Script A => envia para Script B => comando abaixe volume Script B => executa ação e retorna a resposta para o Script A => ação executada com sucesso Script B => pergunta as horas para o Script A => script A envia a resposta para o script B Percebe? Ambos quem que ter funções de entrada e saída de comandos! Seja para qual for a forma de comunicação entre eles! Qualquer outra forma, que não seja TCP/IP, os dois scripts necessitam estar na mesma conta. A não ser que você use arquivo .ini ou até SQLite, então os dois scripts podem ou não estar na mesma conta. Mas desta forma é meio que uma "gambiarra" que até funciona. Se for optar por .ini, o conceito básico está aqui, neste post escrito pelo Luigi: http://forum.autoitbrasil.com/index.php?/topic/850-script-em-php-controlando-um-script-em-autoit/ Será que você precisa disso? Será que a sua ideia vai crescer? Bem, sugiro esta UDF de cliente/servidor em TCP/IP https://www.autoitscript.com/forum/topic/162112-yatcp-yet-another-tcp-clientserver-udf/
  12. 'Conversa' entre aplicações em AutoIt

    Tenho um pouco de conhecimento sobre o assunto, mas para dar-lhe uma resposta mais coerente, seria de grande ajuda se você detalhasse mais a situação. Explique um pouco melhor o que você quer... Quero ajudar.
  13. Comunicação página web com autoit

    @Jefferson Lourenço, existem "z"ilhões de formas de fazer o que você quer... Quando eu tenho que fazer isso que você está comentando, eu uso o StringSplit, StringBetween, StringLeft, StringTrimLeft, StringRight, StringTrimRight, etc... Filtrar um código HTML em busca de uma div, de uma TAG, é fácil, mas precisa de atenção. Sugiro que leia este tópico: http://forum.autoitbrasil.com/index.php?/topic/1664-como-obter-a-cotacao-do-dolar/ Adapte conforme as suas necessidades. Dá pra salvar em .ini? Sim. É fácil, rápido, descomplicado e a gravação/leitura é realizada com muito desempenho. Procure IniRead, IniWrite, etc... Embora o AutoIt não venha com JSON nativo, é possível manipulá-lo sem problema algum, mas demora mais. Enquanto para ler/gravar uma chave em .ini, demora cerca de 0,03 mili segundos, em JSON pode demorar uns 5 mili segundos. Isso é mais significativo com grandes quantidades de dados. Se o volume for pouco, fique com o .ini mesmo, por ser muito mais descomplicado.
  14. Backups via cpanel

    Prezados, por favor, vejam esta página: http://forum.autoitbrasil.com/index.php?/topic/1664-como-obter-a-cotacao-do-dolar/ Fazer um backup das informações do CPPanel, é repetir tantas vezes quantas forem necessárias, o exemplo do script acima. É uma (entre muitas) das alternativas.
  15. Olá, gostaria de mostrar uma (entre muitas) forma de como obter a cotação do dólar. Preste a atenção no contexto geral, é extrair uma informação de um site qualquer. A ideia principal, é ler o conteúdo HTML da página e identificar onde está a informação, e com o uso de uma função do AutoIt, no caso _StringBetween, extrair a informação. Vamos lá... #include <Inet.au3> Global $sUrl = "http://www.dolarhoje.com.br/" Global $sSource = _INetGetSource($sUrl, True) ConsoleWrite($sSource & @LF) Neste código você "baixa" todo o código fonte de onde está a cotação do dolar. Vai um monte de coisa, lembre-se, que você está baixando o HTML da página, provavelmente vai vir o CSS, o JavaScript, e mais um monte de coisas. Sugiro o seguinte, abra qualquer navegador... E peça para ver o código fonte da página. No momento que fiz isso, a cotação do dolar era 3,9836. Dê um CTRL+F e procure por 3,9836. Neste caso, para esta página, achei esta informação duas vezes. <div id="wp-stock-ticker-second-widget-pro-4" class="widget widget_wp-stock-ticker-second-widget-pro"><div class="wpticker_date">19.12.2015</div><ul class="single-stock-output f_currency_exchange"><li class="t_currency_exchange"><span class="input_currency_symbol">US$</span><span class="input_currency">1,00</span><span class="input_currency_last">vale</span></li><div id="t_equal"></div><li class="t_currency_exchange"><span class="output_currency_symbol">R$</span><span class="stockup stockup_bigger">3.9836</span><span class="output_currency_last">hoje*</span><span class="stockup stockup_change"></ul><div class="USDBRL=X"><div class="stocks-container"><ul id="stocks-by-widget-wp-stock-ticker-second-widget-pro-4" class="stocksTickerWidget" rel="off"><li rel="USDBRL=X"><strong>USD/BRL</strong><span class="currency">3.9836</span></li></ul></div></div> A questão é bem simples... É achar o que está antes, e o que está depois da informação. Eu vou optar por usar o segundo 3.9836. Observe que antes é: <span class="currency"> E depois é: </span></li> Eu sempre tomo mais cuidado com o que vem antes, pois a função vai tentar "achar" a sequência exata que você informar. Depois que achou, você precisa apenas dizer alguma TAG para encerrar a extração da informação. Vamos estar com apenas isso: Local $aRet = _StringBetween($sSource, '<span class="currency">', "</span></li>") Muito cuidado com aspas simples ' ou aspas duplas ". Isso pode e vai interferir no resultado se forem escritas da forma errada. O nosso script ficou assim: #include <Inet.au3> #include <String.au3> Global $sUrl = "http://www.dolarhoje.com.br/" Global $sSource = _INetGetSource($sUrl, True) ConsoleWrite(_Dolar($sSource) & @LF) Func _Dolar($sInput = 0) Local $aRet = _StringBetween($sSource, '<span class="currency">', "</span></li>") If Not IsArray($aRet) Then Return SetError(1, 0, 0) Return $aRet[0] EndFunc ;==>_Dolar _StringBetween retorna um array, e se o resultado não foi um array, então algo está errado. A função _Dolar retorna somente o primeiro elemento do array, como era esperado. Esse exemplo vai funcionar sempre? Não. Porque? Simples, há páginas cujas TAGs são atualizadas depois do HTML ter sido baixado pelo navegador, então o JavaScript é executado e atualiza essas TAGs com as informações. O _InetGetSource não é um navegador, ele apena baixa o HTML principal, mas não executa o JavaScript que vai atualizar essas TAGs, entendeu? Como eu disse no início do exemplo, é apenas uma, das muitas formas de fazer esta coleta de informações de uma página WEB. AutoItCoder.
×