Ir para conteúdo


joelson0007

Cadastrado: 04 Ago 2011
Offline Última atividade: Jul 10 2017 12:20
-----

#12964 Problema com mensagem usando GDIPlus

Postado por joelson0007 em 07 maio 2017 - 11:29

A mirillis tem um player chamado SPLASH 2.0

https://mirillis.com...deo-player.html

 

Esse player consegue fazer uma mesclar os frames, durante a reprodução, até hoje, nunca vi isso em nenhum outro player,

 

Se tiver um hardware bom se consegue fazer com 4k e 8k isso.

 

A como se tivesse um action do adobe photoshop, entre o frame anterior e próximo frame do vídeo, tudo isso usando apenas 20% do processador, (Sim é bastante), mas pra fazer isso em um video 4k em tempo real, é muito pouco.

 

Tem que habilitar a tecnologia motion blur do player, pra ver o efeito.




#12938 Problema com mensagem usando GDIPlus

Postado por joelson0007 em 04 maio 2017 - 11:24

@FábioiGames


Mas tem que usar o último parâmetro em 1 assim:

  1. DllCall($ghGDIPDll, "int", "GdipSetTextRenderingHint", "ptr", $hGraphic, "int", 1);
  2.  

Fico feliz que ajudou em algo, fica a correção ai então  :like_icon:




#12934 Problema com mensagem usando GDIPlus

Postado por joelson0007 em 04 maio 2017 - 08:31

Olha ai o exemplo pra tentar ajudar, não sei se resolve o problema de vocês, mas fiz a tentativa.

 

 

 

  1. //faça a troca de função aqui, para ver o efeito, entre uma opção e outra
  2. ;DllCall("GDIPlus.dll", "int", "GdipSetTextRenderingHint", "ptr", $hGraphic2, "int", 2);com serrilhado
  3. DllCall("GDIPlus.dll", "int", "GdipSetTextRenderingHint", "ptr", $hGraphic2, "int", 3);sem serrilhado
  4.  

 

Obs:Esse código eu fiz em 2013, nem eu sei mais o que era isso ai  :o

 

Arquivo anexado  Exemplo_autoit_GDI.zip   35,18K   6 Downloads




#12894 Contar Palavras de um arquivo de texto

Postado por joelson0007 em 28 abril 2017 - 03:39

Pelo que entendi você está procurando pelo algorítimo Levenshtein

 

https://pt.wikipedia...cia_Levenshtein

 

É isso mesmo?

 

se for podemos implementar em autoit.

 

até mais.




#12843 Pressionar tecla após o resultado do _imageSearch (Violação de Regras do Fórum)

Postado por joelson0007 em 04 abril 2017 - 09:30

Assista com calma o ótimo tutorial do @alexandre sobre o assunto

 

 

Se ainda restar dúvidas, volte para tentarmos ajuda-lo.




#12837 Erro após _IENavigate

Postado por joelson0007 em 02 abril 2017 - 08:29

  1.  
  2. #include <IE.au3>
  3.  
  4. $oError = ObjEvent("AutoIt.Error","ErrFunc");Interceptar os erros do COM
  5. Local $oIE = _IECreate(url_do_site)
  6. Sleep(5000)
  7.  
  8.  
  9. Func ErrFunc()
  10. Msgbox(0,"AutoItCOM Test","We intercepted a COM Error !" & @CRLF & @CRLF & _
  11. "err.description is: " & @TAB & $oError.description & @CRLF & _
  12. "err.windescription:" & @TAB & $oError.windescription & @CRLF & _
  13. "err.number is: " & @TAB & hex($oError.number,8) & @CRLF & _
  14. "err.lastdllerror is: " & @TAB & $oError.lastdllerror & @CRLF & _
  15. "err.scriptline is: " & @TAB & $oError.scriptline & @CRLF & _
  16. "err.source is: " & @TAB & $oError.source & @CRLF & _
  17. "err.helpfile is: " & @TAB & $oError.helpfile & @CRLF & _
  18. "err.helpcontext is: " & @TAB & $oError.helpcontext _
  19. )
  20.  
  21.  
  22.  
Poste um print do Msgbox, aqui pra nós


#12819 Duvida IE.au3 Como preencher um Objeto INPUT do tipo file diretamente sem pas...

Postado por joelson0007 em 28 março 2017 - 09:31

Tem um exemplo de como fazer isso enviando texto grande tipo 32KB para o Google e recebendo a tradução?

pq só por essa dica a coisa complica bastante?


  1.  
  2.  
  3. #include "WinHttp.au3"
  4. #include <MsgBoxConstants.au3>
  5. #include <StringConstants.au3>
  6.  
  7.  
  8.  
  9. $fileStream = @ScriptDir & '\Ex.Machina.2015.720p.BluRay.x264-WiKi.en.txt' ;usei uma legenda maior que os 32kbytes
  10.  
  11. $fileStreamReady = @ScriptDir & '\arquivo_traduzido.txt'
  12.  
  13. $sResponseTranslated = TranslateThisFile($fileStream) ;string contem arquivo já traduzido
  14.  
  15. saveTranslateFile($sResponseTranslated) ;salvar o arquivo traduzido
  16.  
  17. Func saveTranslateFile($sTranslateMessage)
  18. If Not FileWrite($fileStreamReady, $sTranslateMessage) Then
  19. MsgBox($MB_SYSTEMMODAL, "", "Erro ao salvar arquivo traduzido")
  20. MsgBox($MB_SYSTEMMODAL, "", "arquivo traduzido salvo com sucesso " & $fileStreamReady)
  21. EndFunc ;==>saveTranslateFile
  22.  
  23.  
  24.  
  25. Func TranslateThisFile($fileStream)
  26. Global $hOpen = _WinHttpOpen("User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.98 Safari/537.36")
  27. Local $googleTranslateForm = '<form id="gt-form" action="https://translate.googleusercontent.com/translate_f" name="text_form" method="post" enctype="multipart/form-data">' & _

Obs: Ficou uns erros de semântica no código, como por exemplo esse global redundante dentro da função local, mas é só arrumar ai, eu fiz na correria aqui esse código.

Arquivo(s) anexado(s)




#12812 Duvida IE.au3 Como preencher um Objeto INPUT do tipo file diretamente sem pas...

Postado por joelson0007 em 28 março 2017 - 04:04

A intenção é somente traduzir mesmo?

Se sim, você pode enviar os arquivos no modo binário para o Google tradutor utilizando

_WinHttpSimpleRequest

e você terá a resposta do arquivo já traduzido.


#12772 Robo para Consulta Site

Postado por joelson0007 em 22 março 2017 - 07:23

Tem duas maneiras de fazer isso com autoit, a primeira é a que eu postei é o metodo mais avançado, para pegar essas infos vai ter que usar regex, algum outro metodo ai, infelizmente o autoit não tem um sistema bom de fazer query no DOM HTML.

A segunda maneira é se utilizar do motor do internet explorer

  1.  
  2.  
  3. #include <IE.au3>
  4. $oIE = _IECreate (url_do_site, 0, 0, 1, 0)
  5.  
  6. $tags = $oIE.document.GetElementsByTagName("div")
  7. For $tag in $tags
  8. $class_value = $tag.GetAttribute("class")
  9. If $class_value = "levelBar" Then
  10. MsgBox(0, "Level: ", "Level found :)")
  11.  
  12. _IEQuit ($oIE)
  13.  
  14.  


A primeira maneira é mais rápida, porém não renderiza javascript, a segunda maneira é mais lenta, porem renderiza javascript, e você pode trabalhar com
  1. $element = $oIE.document.getElementById("element_id")$classes = $element.getElementsByClassName("class_name")



#12756 Arquivo em Memoria

Postado por joelson0007 em 21 março 2017 - 08:56

Esse Randisk ficou gratuito esses tempos atrás, ou pra 4 gigas ele é gratuito ainda?


Talvez da pra dar uma olhada nesse, que é o mesmo randisk comprado pela RADEON, faça uma comparações pra ver se tem a mesma funcionalidade.

É pra ser o mesmo programa, só que gratuito pra 4 gigas, fica como alternativa aqui.

http://www.radeonram...e_downloads.php


#12747 Atualizar pagina IE por script AutoIt

Postado por joelson0007 em 20 março 2017 - 09:13

  1.  
  2.  
  3. _IEAction($oIE, "refresh")
  4.  
  5.  
segue a lista de mais actions

https://www.autoitsc...s/_IEAction.htm


#12368 Ferramenta pra gerar hex cores

Postado por joelson0007 em 11 janeiro 2017 - 02:59

Ta faltando isso mesmo no autoit, bora amadurecer essa ideia ai!




#12289 Menu de contexto

Postado por joelson0007 em 11 dezembro 2016 - 11:49

Pela capacidade de se expressar..

 


No meu entendimento

 

 


Tá, mas o que é um menu de contexto?

 

Luigi é palestrante ou professor..., se não é, devia ser.

 

ótimo tutorial.




#12099 Automação Web em páginas html com ID dinâmico.

Postado por joelson0007 em 01 novembro 2016 - 04:06

Fiz esse exemplo baseado aqui no fórum, nesse exemplo eu navego para a pagina de registro do fórum,
com somente o id parcial, sendo assim ele poderia ser dinamico.

é uma alternativa também injetar o código javascript no documento

  1.  
  2.  
  3. #include <IE.au3>
  4.  
  5. Global $java
  6.  
  7.  
  8. ;no forum do autoit brasil tem um link com o id register_link fixo
  9. ;mas vamos supor que essse id fosse dinamico exemplo:
  10. ;id="register_li_254"
  11. ;id="register_li_257"
  12. ;id="register_li_258"
  13. ;seria possivel clicar nele dessa maneira -> a[id*=register_li]
  14. ;nessa regra qualquer id que contenha register_li vai ser retornado
  15. ;nesse exemplo vamos filtrar o primeiro retornado pela dessa maneira [0] podendo ser [1] para o segundo, [2] para o terceiro
  16. $java = "document.querySelectorAll('a[id*=register_li]')[0].click()" &@CRLF
  17.  
  18. Global $oIE = _IECreate('http://forum.autoitbrasil.com/', 0, 1, 1)
codigo continua aqui, tem um bug que não deixa postar o codigo junto kkk

  1.  
  2. MsgBox(16 + 262144, "Error", "Não foi possivel criar o objeto internet explorer")
  3. Exit 1
  4.  
  5.  
  6. ;#injetando primeiro javascript#---------------------------------------------
  7. _injectJavascript($java, "cabeca1", "Javascript1")
  8.  
  9.  
  10. ;#FUNCTION _injectJavascript#---------------------------------------------
  11. Func _injectJavascript($javascript, $headID, $scriptID)
  12. $headID = $oIE.document.all.tags("HEAD").Item(0)
  13. $scriptID = $oIE.document.createElement("script")
  14. With $scriptID
  15. .defer = True
  16. .language = "jscript"
  17. .type = "text/javascript"
  18. .text = $javascript
  19. $headID.appendChild($scriptID)
  20. EndFunc ;==>_injectJavascript
  21.  



#12087 Servidor/Cliente

Postado por joelson0007 em 01 novembro 2016 - 11:24

Basicamente vai precisar fazer isso aqui
  1.  
  2. #include <GUIConstantsEx.au3>
  3. #include <MsgBoxConstants.au3>
  4.  
  5. ; Start First clicking on "1. Server"
  6. ; Then start a second instance of the script selecting "2. Client"
  7.  
  8. Example()
  9.  
  10. Func Example()
  11. TCPStartup() ; Start the TCP service.
  12.  
  13. ; Register OnAutoItExit to be called when the script is closed.
  14. OnAutoItExitRegister("OnAutoItExit")
  15.  
  16. ; Assign Local variables the loopback IP Address and the Port.
  17. Local $sIPAddress = "127.0.0.1" ; This IP Address only works for testing on your own computer.
  18. Local $iPort = 65432 ; Port used for the connection.
  19.  
  20. #Region GUI
  21. Local $sTitle = "TCP Start"
  22. Local $hGUI = GUICreate($sTitle, 250, 70)
  23.  
  24. Local $idBtnServer = GUICtrlCreateButton("1. Server", 65, 10, 130, 22)
  25.  
  26. Local $idBtnClient = GUICtrlCreateButton("2. Client", 65, 40, 130, 22)
  27.  
  28.  
  29. Case $GUI_EVENT_CLOSE
  30. Case $idBtnServer
  31. WinSetTitle($sTitle, "", "TCP Server started")
  32. GUICtrlSetState($idBtnClient, $GUI_HIDE)
  33. GUICtrlSetState($idBtnServer, $GUI_DISABLE)
  34. If Not MyTCP_Server($sIPAddress, $iPort) Then ExitLoop
  35. Case $idBtnClient
  36. WinSetTitle($sTitle, "", "TCP Client started")
  37. GUICtrlSetState($idBtnServer, $GUI_HIDE)
  38. GUICtrlSetState($idBtnClient, $GUI_DISABLE)
  39. If Not MyTCP_Client($sIPAddress, $iPort) Then ExitLoop
  40.  
  41. Sleep(10)
  42.  
  43. #EndRegion GUI
  44. EndFunc ;==>Example
  45.  
  46. Func MyTCP_Client($sIPAddress, $iPort)
  47. ; Assign a Local variable the socket and connect to a listening socket with the IP Address and Port specified.
  48. Local $iSocket = TCPConnect($sIPAddress, $iPort)
  49. Local $iError = 0
  50.  
  51. ; If an error occurred display the error code and return False.
  52. ; The server is probably offline/port is not opened on the server.
  53. $iError = @error
  54. MsgBox(BitOR($MB_SYSTEMMODAL, $MB_ICONHAND), "", "Client:" & @CRLF & "Could not connect, Error code: " & $iError)
  55.  
  56. ; Send the string "tata" to the server.
  57. TCPSend($iSocket, "tata")
  58.  
  59. ; If an error occurred display the error code and return False.
  60. $iError = @error
  61. MsgBox(BitOR($MB_SYSTEMMODAL, $MB_ICONHAND), "", "Client:" & @CRLF & "Could not send the data, Error code: " & $iError)
  62.  
  63. ; Close the socket.
  64. TCPCloseSocket($iSocket)
  65. EndFunc ;==>MyTCP_Client
  66.  
  67. Func MyTCP_Server($sIPAddress, $iPort)
  68. ; Assign a Local variable the socket and bind to the IP Address and Port specified with a maximum of 100 pending connexions.
  69. Local $iListenSocket = TCPListen($sIPAddress, $iPort, 100)
  70. Local $iError = 0
  71.  
  72. ; Someone is probably already listening on this IP Address and Port (script already running?).
  73. $iError = @error
  74. MsgBox(BitOR($MB_SYSTEMMODAL, $MB_ICONHAND), "", "Server:" & @CRLF & "Could not listen, Error code: " & $iError)
  75.  
  76. ; Assign a Local variable to be used by the Client socket.
  77. Local $iSocket = 0
  78.  
  79. Do ; Wait for someone to connect (Unlimited).
  80. ; Accept incomming connexions if present (Socket to close when finished; one socket per client).
  81. $iSocket = TCPAccept($iListenSocket)
  82.  
  83. ; If an error occurred display the error code and return False.
  84. $iError = @error
  85. MsgBox(BitOR($MB_SYSTEMMODAL, $MB_ICONHAND), "", "Server:" & @CRLF & "Could not accept the incoming connection, Error code: " & $iError)
  86.  
  87. If GUIGetMsg() = $GUI_EVENT_CLOSE Then Return False
  88. Until $iSocket <> -1 ;if different from -1 a client is connected.
  89.  
  90. ; Close the Listening socket to allow afterward binds.
  91. TCPCloseSocket($iListenSocket)
  92.  
  93. ; Assign a Local variable the data received.
  94. Local $sReceived = TCPRecv($iSocket, 4) ;we're waiting for the string "tata" OR "toto" (example script TCPRecv): 4 bytes length.
  95.  
  96. ; Notes: If you don't know how much length will be the data,
  97. ; use e.g: 2048 for maxlen parameter and call the function until the it returns nothing/error.
  98.  
  99. ; Display the string received.
  100. MsgBox($MB_SYSTEMMODAL, "", "Server:" & @CRLF & "Received: " & $sReceived)
  101.  
  102. ; Close the socket.
  103. TCPCloseSocket($iSocket)
  104. EndFunc ;==>MyTCP_Server
  105.  
  106. Func OnAutoItExit()
  107. TCPShutdown() ; Close the TCP service.
  108. EndFunc ;==>OnAutoItExit
  109.