Jump to content

Leaderboard

  1. JScript

    JScript

    Administradores (Adm)


    • Points

      419

    • Content count

      2,077


  2. Luigi

    Luigi

    Administradores (Adm)


    • Points

      310

    • Content count

      689


  3. joelson0007

    joelson0007

    Administradores (Adm)


    • Points

      259

    • Content count

      783


  4. Belini

    Belini

    Administradores (Adm)


    • Points

      222

    • Content count

      2,003



Popular Content

Showing most liked content since 07/03/2011 in all areas

  1. 2 points
    Bem... Segundo o Google Translator, DUMMY é um adjetivo que significa: simulado simulated, dummy, mock, sham, assumed, feigned falso false, untrue, bogus, phony, wrong, dummy postiço false, dummy Mas e no AutoIt, pra que serve? Se você usar um GuiCtrlCreateButton, ele retorno o id do elemento, e você vê um botão na GUI (Graphic User Interface ou apenas janela). Se você usar um GuiCtrlCreateLabel, ele retorno o id do elemento, e você vê um label na GUI. E assim por diante... Se você usar um GuiCtrlCreateDummy, ele retorno o id do elemento, e você não vê nada na GUI. Como assim? Ele cria e não retorna nada? Sim! Isso mesmo! É um controle fake, falso. Ah, mas e isso tem utilidade? Pior que tem... Vou mostrar aqui 1 exemplo: Você quer fazer uma GUI, mas nessa GUI tem várias "telas", por exemplo: tela de login tela de cadastro tela de logout Cada tela tem seus elementos (buttons, edit, radio, combobox, etc)... São muitas telas, e cada tela tem seus elementos, pronto, virou um salseiro! Uma confusão! Como fazer para @GUI_SHOW e @GUI_HIDE nesses controles? É nessa questão que venho mostrar esse exemplo. Ocultar o que não precisa, e exibir o que precisa. Outra alternativa simples, seria usar um GuiCtrlCreateTab... Mas fica para outro tópico, vou me ater no Dummy(). A ideia é simples. Antes de começar a criar os comandos da tela da primeira "tela de login", você cria um Dummy antes: #Region Tela de login Global $dummy1 = GuiCtrlCreateDummy() GuiCtrlCreateLabel("Nome de usuário", x1, y1, w1, h1) GuiCtrlCreateInput("digite seu nome de usuario", x2, y2, w2, h2) GuiCtrlCreateLabel("Senha", x3, y3, w3, h3) GuiCtrlCreateInput("digite sua senha", x4, y4, w4, h4) Global $dummy2 = GuiCtrlCreateDummy() #EndeRegion Tela de login E assim... Eu desenho todas as telas que eu preciso: Tela de login, Tela de cadastro, Tela de logout, etc... O segredo é, um Dummy antes do primeiro controle, e um Dummy depois do último controle para cada tela ou sessão. E preciso de um jeito, de manipular cada sessão, isto é, fazer que quando eu quiser a sessão "Tela de login", ele exiba todos os elementos da "Tela de login", e oculte todos os outros elementos que não fazer parte da "Tela de login". Por isso um Dummy antes, e um Dummy depois! O Dummy nada mais é, do que um número qualquer... E qualquer que seja o próximo controle que você criar, ele terá um número a mais do que o Dummy, nesta tela. E o próximo controle, terá um número a mais do que o anterior, até você colocar o Dummy no fim. Então todos os controles da sessão "Tela de login", estarão entre um Dummy (número inicial) e outro Dummy (número final). Agora, já é possível sair ocultando e exibindo os controles. ;~ #AutoIt3Wrapper_AU3Check_Parameters= -q -d -w 1 -w 2 -w 3 -w- 4 -w 5 -w 6 -w- 7 ;~ #Tidy_Parameters=/sf #include-once #include <Array.au3> #include <GUIConstantsEx.au3> #include <EditConstants.au3> #include <StaticConstants.au3> #include <EditConstants.au3> OnAutoItExitRegister("OnExit") Opt("GUIOnEventMode", 1) Opt("GUIEventOptions", 1) Opt("MustDeclareVars", 1) Global $sLoremIpsum = "Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum." Global $aGuiSize[2] = [800, 600] Global $sGuiTitle = "GuiTitle" Global $hGui $hGui = GUICreate($sGuiTitle, $aGuiSize[0], $aGuiSize[1]) GUISetOnEvent($GUI_EVENT_CLOSE, "Quit") GUISetFont(11, 400, 0, "DOSLike", $hGui) #Region VIEWS Global $VIEW = 1 Global $aVIEWS[][4] = [[0, "login"], [0, "account"], [0, "exit"]] Global $pos[4] = [10, 10, 100, 25] For $ii = 0 To UBound($aVIEWS, 1) - 1 $aVIEWS[$ii][0] = GUICtrlCreateRadio($aVIEWS[$ii][1], $pos[0] + $ii * $pos[2], $pos[1], $pos[2], $pos[3]) GUICtrlSetOnEvent($aVIEWS[$ii][0], "View_Click") Next GUICtrlCreateGroup("", -99, -99, 1, 1) #EndRegion VIEWS #Region Tela0 $aVIEWS[0][2] = GUICtrlCreateDummy() Global $hLabel_Tela0_Texto = GUICtrlCreateLabel("Tela de login", 10, 50, 780, 25, BitOR($SS_CENTER, $SS_SUNKEN)) GUICtrlSetBkColor($hLabel_Tela0_Texto, 0xccbbaa) Global $hLabel_Tela0_Usuario = GUICtrlCreateLabel("usuario", 10, 83, 80, 25, $ES_RIGHT) Global $hInput_Tela0_Usuario = GUICtrlCreateInput("", 100, 83, 200, 25) Global $hLabel_Tela0_Senha = GUICtrlCreateLabel("senha", 10, 113, 80, 25, $ES_RIGHT) Global $hInput_Tela0_Senha = GUICtrlCreateInput("", 100, 113, 200, 25) Global $hButton_Tela0_TryLogin = GUICtrlCreateButton("Login", 100, 140, 80, 25) $aVIEWS[0][3] = GUICtrlCreateDummy() #EndRegion Tela0 #Region Tela1 $aVIEWS[1][2] = GUICtrlCreateDummy() Global $hLabel_Tela1_Texto = GUICtrlCreateLabel("Tela de cadastro", 10, 50, 780, 25, BitOR($SS_CENTER, $SS_SUNKEN)) GUICtrlSetBkColor($hLabel_Tela1_Texto, 0x889922) Global $hLabel_Tela1_Nome = GUICtrlCreateLabel("Nome completo", 10, 83, 160, 25, $ES_RIGHT) Global $hInput_Tela1_Nome = GUICtrlCreateInput("", 180, 80, 200, 25) Global $hLabel_Tela1_Usuario = GUICtrlCreateLabel("Nome de usuário", 10, 113, 160, 25, $ES_RIGHT) Global $hInput_Tela1_Usuario = GUICtrlCreateInput("", 180, 110, 200, 25) Global $hLabel_Tela1_Senha = GUICtrlCreateLabel("Senha", 10, 143, 160, 25, $ES_RIGHT) Global $hInput_Tela1_Senha = GUICtrlCreateInput("", 180, 140, 200, 25) $aVIEWS[1][3] = GUICtrlCreateDummy() #EndRegion Tela1 #Region Tela2 $aVIEWS[2][2] = GUICtrlCreateDummy() Global $hLabel_Tela2_Texto = GUICtrlCreateLabel("Tela de logout", 10, 50, 780, 25, BitOR($SS_CENTER, $SS_SUNKEN)) GUICtrlSetBkColor($hLabel_Tela2_Texto, 0xff0011) Global $hLabel_Tela2_Texto = GUICtrlCreateEdit($sLoremIpsum, 10, 83, 780, 400, $ES_MULTILINE) $aVIEWS[2][3] = GUICtrlCreateDummy() #EndRegion Tela2 GUISetState(@SW_SHOW, $hGui) View_Click($VIEW) While Sleep(25) WEnd Func OnExit() GUISetState($hGui, @SW_HIDE) GUIDelete($hGui) EndFunc ;==>OnExit Func Quit() Exit EndFunc ;==>Quit Func View_Click($input = -1) $VIEW = IsDeclared("input") ? $input : @GUI_CtrlId - $aVIEWS[0][0] GUICtrlSetState($aVIEWS[$VIEW][0], $GUI_CHECKED) For $ii = 0 To UBound($aVIEWS, 1) - 1 For $jj = $aVIEWS[$ii][2] + 1 To $aVIEWS[$ii][3] - 1 GUICtrlSetState($jj, $ii = $VIEW ? $GUI_SHOW : $GUI_HIDE) Next Next EndFunc ;==>View_Click Como disse... eis o segredo: Global $aVIEWS[][4] = [ _ [0, "login", "Dummy 0 inicio", "Dummy 0 fim"], _ [0, "account", "Dummy 1 inicio", "Dummy 1 fim"], _ [0, "exit", "Dummy 2 inicio", "Dummy 2 fim"] _ ] coluna 0 $aVIEWS, recebe o handle do CheckBox da tela coluna 1 $aVIEWS, recebe o nome do CheckBox da tela coluna 2 $aVIEWS, recebe o Dummy inicial coluna 3 $aVIEWS, recebe o Dummy final E a cada vez que você chama a função View_Click, ele sabe qual a tela que é pra mostrar, exibindo a tela solicitada, e ocultado tudo o que não é solicitado. Agora para pirar um pouco, os controles não são deletados da tela, eles apenas são ocultados e exibidos! Outra coisa, nem todo o controle pode responder bem aqui... Todos os controles básicos funcionam bem, quero dizer: GuiCtrlCreateButton, GuiCtrlCreateLabe, etc.. Os controles plus não respondem bem: _GuiCtrlCreateButton, _GuiCtrlCreateEdit, etc... Em tempo... Se você precisa executar uma função toda a vez que entrar em uma tela, adicine uma coluna no $aVIEWS, contendo o nome da função que deseja chamar: Func View_Click($input = -1) $VIEW = IsDeclared("input") ? $input : @GUI_CtrlId - $aVIEWS[0][0] GUICtrlSetState($aVIEWS[$VIEW][0], $GUI_CHECKED) CALL($aVIEWS[$VIEW][5]) For $ii = 0 To UBound($aVIEWS, 1) - 1 For $jj = $aVIEWS[$ii][2] + 1 To $aVIEWS[$ii][3] - 1 GUICtrlSetState($jj, $ii = $VIEW ? $GUI_SHOW : $GUI_HIDE) Next Next EndFunc ;==>View_Click Então, toda a vez que você mudar de tela, ele chama a função programada, graças à: CALL($aVIEWS[$VIEW][5]) Você pode fazer a execução de saída de tela... Adicione mais uma coluna, rss... Acredito que mostro aqui um exemplo prático do uso do GuiCtrlCreteDummy, e para pequenos projetos e devido à sua simplicidade se adapta muito bem. É isso! 8D
  2. 2 points
    Bom dia, Compartilho uma pequena função que auxilia muito o debug... Ao invés de usar o ConsoleWrite, use o Print. Versão melhorada: https://github.com/chechelaky/AutoIt/blob/master/Print/Print.au3 Local $arr[][4] = [ _         ["0a", "0b", "0c", "0d"], _         ["1a", "1b", "1c", "1d"], _         ["2a", "2b", "2c", "2d"], _         ["3a", "3b", "3c", "3d"], _         ["4a", "4b", "4c", "4d"], _         ["5a", "5b", "5c", "5d"], _         ["6a", "6b", "6c", "6d"], _         ["7a", "7b", "7c", "7d"], _         ["8a", "8b", "8c", "8d"], _         ["9a", "9b", "9c", "9d"], _         ["10a", "10b", "10c", "10d"], _         ["11a", "11b", "11c", "11d"] _         ] Saída: --> Press Ctrl+Alt+Break to Restart or Ctrl+Break to Stop +--0+--1+--2+--3+ 0 | 0a| 0b| 0c| 0d| 1 | 1a| 1b| 1c| 1d| 2 | 2a| 2b| 2c| 2d| 3 | 3a| 3b| 3c| 3d| 4 | 4a| 4b| 4c| 4d| 5 | 5a| 5b| 5c| 5d| 6 | 6a| 6b| 6c| 6d| 7 | 7a| 7b| 7c| 7d| 8 | 8a| 8b| 8c| 8d| 9 | 9a| 9b| 9c| 9d| 10 |10a|10b|10c|10d| 11 |11a|11b|11c|11d| +---+---+---+---+ +>14:09:07 AutoIt3.exe ended.rc:0 Local $arr[] = ["um", "dois", 3, 4, 5, 6, 7, 8, 9, 10, 22] Saída: --> Press Ctrl+Alt+Break to Restart or Ctrl+Break to Stop +----+ 0 | um| 1 |dois| 2 | 3| 3 | 4| 4 | 5| 5 | 6| 6 | 7| 7 | 8| 8 | 9| 9 | 10| 10 | 22| +----+ +>14:15:59 AutoIt3.exe ended.rc:0
  3. 2 points
    É porque na linha 89 você adiciona um valor sequencial sempre que é adicionado um novo elemento na tabela. " $id= $id + 1" e sempre que você adiciona um novo item, ele segue a referencia da variável $id, até aí tudo bem, mas na hora de deletar um item da tabela você simplesmente exclui um item selecionado sem remover o valor da variável e mesmo removendo o valor da variável, o item selecionado pode ser que não seja sequencial como está na variavel $id. Exemplo (linha 89): você adiciona 1 item novo $id=1 $id=2 $id=3 $id=4 Aí você resolve deletar o item 2, a variavel $id continuará somando o valor 1 . Ao invés de usar a variável $id eu coloquei o _GUICtrlListView_GetItemCount para ler quantas linhas tinham na ListView e adicionar +1 de acordo com a quantidade, então se você deletar uma linha, a função que eu citei ali vai ter um valor exato de itens na lista. #include <ButtonConstants.au3> #include <EditConstants.au3> #include <GUIConstantsEx.au3> #include <GUIListBox.au3> #include <StaticConstants.au3> #include <WindowsConstants.au3> #include <GUIConstantsEx.au3> #include <GuiImageList.au3> #include <GuiListView.au3> #include <GUIConstantsEx.au3> #include <GuiListView.au3> #include <MsgBoxConstants.au3> #include <WinAPI.au3> #include <StringConstants.au3> #include <Array.au3> #include <GuiListBox.au3> #Region ### START Koda GUI section ### Form= $Form1 = GUICreate("Form1", 612, 480, 192, 154) $MenuItem1 = GUICtrlCreateMenu("&Arquivo") $MenuItem2 = GUICtrlCreateMenuItem("Salvar Ctrl+S", $MenuItem1, $SS_CENTER) $MenuItem4 = GUICtrlCreateMenuItem("Carregar Ctrl+O", $MenuItem1, $SS_CENTER) $MenuItem3 = GUICtrlCreateMenuItem("Salvar Como Shitft+Ctrl+S", $MenuItem1, $SS_CENTER) $Group1 = GUICtrlCreateGroup("", 21, 8, 569, 97, $SS_CENTER) $Input1 = GUICtrlCreateInput("ID COR", 122, 32, 97, 21, $SS_CENTER) $Input2 = GUICtrlCreateInput("REGIÃO", 138, 64, 249, 21, $SS_CENTER) $Input3 = GUICtrlCreateInput("Label", 264, 30, 121, 21, $SS_CENTER) $Label1 = GUICtrlCreateLabel("Label", 232, 32, 30, 17, $SS_CENTER) $Button1 = GUICtrlCreateButton("Capturar Cor", 42, 30, 75, 25, $SS_CENTER) $Button2 = GUICtrlCreateButton("Capturar Região", 42, 62, 91, 25, $SS_CENTER) $Button3 = GUICtrlCreateButton("ADD", 442, 24, 113, 33) $Button5 = GUICtrlCreateButton("Delet", 442, 64, 113, 33) $Group2 = GUICtrlCreateGroup("Editar ID selecionado", 8, 384, 601, 57, $SS_CENTER) $Input7 = GUICtrlCreateInput("ID", 10, 402, 40,21, $SS_CENTER) $Input4 = GUICtrlCreateInput("COR", 51, 402, 121, 21, $SS_CENTER) $Input5 = GUICtrlCreateInput("REGIÃO", 173, 402, 249, 21, $SS_CENTER) $Input6 = GUICtrlCreateInput("LABEL", 423, 402, 121, 21, $SS_CENTER) $Button4 = GUICtrlCreateButton("\/", 544, 400, 30, 25, $SS_CENTER) $Button6 = GUICtrlCreateButton("/\", 574, 400, 30, 25, $SS_CENTER) ; Add column ;~ Global $id = Int(0) $List1 = GUICtrlCreateListView("",5, 120, 601, 253, $SS_CENTER) _GUICtrlListView_AddColumn($List1, "ID",40) _GUICtrlListView_AddColumn($List1, "COR",100) _GUICtrlListView_AddColumn($List1, "COORDENADA",305) _GUICtrlListView_AddColumn($List1, "LABEL",150) GUISetState(@SW_SHOW) #EndRegion ### END Koda GUI section ### While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE Exit Case $MenuItem2 MsgBox($MB_SYSTEMMODAL, "ctrl + s", "Nothing Here",1) Case $MenuItem3 MsgBox($MB_SYSTEMMODAL, "shift+ctrl s", "Nothing Here",1) Case $MenuItem4 MsgBox($MB_SYSTEMMODAL, "ctrl + o", "Nothing Here",1) Case $Button1 MsgBox($MB_SYSTEMMODAL, "Capturar cor", "Aperte espaço para capturar a cor") GUICtrlSetData($Input1,MouseColor()) Case $Button2 MsgBox($MB_SYSTEMMODAL, "capturar região", "Aperte espaço para capturar a posição inicial") local $mouse = MouseGetPos() $x_init = $mouse[0] $y_init = $mouse[1] MsgBox($MB_SYSTEMMODAL, "capturar região", "Aperte espaço para capturar a posição final") local $mouse = MouseGetPos() $x_end = $mouse[0] $y_end = $mouse[1] GUICtrlSetData($Input2,$x_init&','&$y_init&' ; '&$x_end&','&$y_end) Case $Button3 _GUICtrlListView_AddItem($List1, _GUICtrlListView_GetItemCount ( $List1 )+1, 1) ; id _GUICtrlListView_AddSubItem($List1, _GUICtrlListView_GetItemCount ( $List1 )-1, GUICtrlRead($Input1), 1, 1) ;cor _GUICtrlListView_AddSubItem($List1, _GUICtrlListView_GetItemCount ( $List1 )-1, GUICtrlRead($Input2), 2, 1) ;coordenada _GUICtrlListView_AddSubItem($List1, _GUICtrlListView_GetItemCount ( $List1 )-1, GUICtrlRead($Input3), 3, 1) ;label ;~ $id= $id + 1 Case $Button4 $Item = _GUICtrlListView_GetSelectedIndices($List1) $Sid = _GUICtrlListView_GetItem($List1, Number($Item),0) $Scor = _GUICtrlListView_GetItem($List1, Number($Item),1) $Scord = _GUICtrlListView_GetItem($List1, Number($Item),2) $Slabel = _GUICtrlListView_GetItem($List1, Number($Item),3) ; get info GUICtrlSetData($Input7,$Sid[3]) GUICtrlSetData($Input4,$Scor[3]) GUICtrlSetData($Input5,$Scord[3]) GUICtrlSetData($Input6,$Slabel[3]) Case $Button5 _GUICtrlListView_DeleteItemsSelected($List1) Case $Button6 ; give back inf if GUICtrlRead($Input7) <> "ID" Then _GUICtrlListView_SetItem($List1, GUICtrlRead($Input4), GUICtrlRead($Input7),1) ;cor _GUICtrlListView_SetItem($List1, GUICtrlRead($Input5), GUICtrlRead($Input7),2) ;coordenada _GUICtrlListView_SetItem($List1, GUICtrlRead($Input6), GUICtrlRead($Input7),3) ;coordenada EndIf EndSwitch WEnd Func MouseColor() local $mouse = MouseGetPos() Return Hex(PixelGetColor($mouse[0],$mouse[1]), 6) EndFunc
  4. 2 points
    Olha vou te dar um exemplo, mais pode ser que você tenha que ajustar para seu proposito.. ; mutleey ; 12/06/2018 ; de uma olhada nas opçoes do ffmpeg (ffmpeg -help) $vidIN = "meu_video.mp4" ; video entrada $imgOUT = "frame.jpg" ; frame saida $outRES = "1024x768" ; resolução da imagem $vidTIME = "00:01:14" ; posição do video reproduzido HH:MM:SS ShellExecute("ffmpeg.exe", '-ss ' & $vidTIME & ' -i ' & $vidIN & ' -t 1 -s '& $outRES & ' -f image2 ' & $imgOUT, @ScriptDir, "open", @SW_HIDE) ffmpeg Download obs: isso é só uma ideia, existe outros softwares que podem extrair frames, basta testar e ajustar..
  5. 2 points
    Depois de muita procura e testes, achei uma modificação da UDF _HighPrecisionSleep() que retornou resultados satisfatorios.. Pra quem estiver com o mesmo problema segue o código. ; mutleey HotKeySet("{ESC}", "__Exit") Global $ntdll = DllOpen("ntdll.dll") Global $winmm = DllOpen("winmm.dll") While True $timer = TimerInit() MsSleep(1) ConsoleWrite('> ' & TimerDiff($timer) & @LF) WEnd Func MsSleep($MS) $MS *= 1000 DllCall("winmm.dll", "int", "timeBeginPeriod", "int", "1") DllCall("ntdll.dll", "dword", "NtDelayExecution", "int", 0, "int64*", -10 * $MS) EndFunc ;==>MsSleep Func __Exit() DllClose("ntdll.dll") DllClose("winmm.dll") Exit EndFunc
  6. 2 points
    bom dia @Pedro Pinheiro, sugiro o uso do Telegram. Embora houve uma tentativa de minha parte para fazer uma comunicação bidirecional entre ambos sem sucesso (PC -> Celular e Celular -> PC) sem muito sucesso, mas a comunicação PC -> Celular funciona perfeitamente.
  7. 2 points
    Segue... #include <File.au3> #include <Array.au3> #include <FileConstants.au3> CONVERSOR_ENCODING("C:\Scripts") Func CONVERSOR_ENCODING ($sPasta, $iENCODING = $FO_UTF8) Local $aArquivos = _FileListToArrayRec($sPasta, "*.au3", $FLTAR_FILES, $FLTAR_RECUR, $FLTAR_NOSORT, $FLTAR_FULLPATH) If @error Then Return ConsoleWrite($sPasta & @CRLF) Local $sConteudo, $hArquivo, $nOld_Encoding = -1, $nNew_Encoding = -1, $sAtributos = "", $bMudou_Atributo = False For $nArquivo = 1 to $aArquivos[0] $bMudou_Atributo = False $nOld_Encoding = FileGetEncoding($aArquivos[$nArquivo]) $sAtributos = FileGetAttrib($aArquivos[$nArquivo]) If StringInStr($sAtributos, "R") Then $bMudou_Atributo = True FileSetAttrib($aArquivos[$nArquivo], "-R") EndIf If $nOld_Encoding = $iENCODING Then ConsoleWrite("> ") Else ConsoleWrite("! ") $sConteudo = FileRead($aArquivos[$nArquivo]) FileDelete($aArquivos[$nArquivo]) $hArquivo = FileOpen($aArquivos[$nArquivo], $FO_OVERWRITE + $iENCODING) ConsoleWrite(FileWrite($hArquivo, $sConteudo) & " ") FileClose($hArquivo) EndIf If $bMudou_Atributo Then FileSetAttrib($aArquivos[$nArquivo], "+R") $nNew_Encoding = FileGetEncoding($aArquivos[$nArquivo]) ConsoleWrite(StringFormat("%-100s", $aArquivos[$nArquivo]) & " = " & NOME_ENCODING($nOld_Encoding) & " => " & NOME_ENCODING($nNew_Encoding) & @CRLF) Next EndFunc ;==>CONVERSOR_ENCODING Func NOME_ENCODING ($nCode) Local $aNomes = [ [ $FO_UTF16_LE, "UTF16 Little Endian" ], _ [ $FO_UTF16_BE, "UTF16 Big Endian" ], _ [ $FO_UTF8, "UTF8 (with BOM)" ], _ [ $FO_UTF8_NOBOM, "UTF8 (without BOM)" ], _ [ $FO_ANSI, "ANSI (containing char > 127 and < 255)" ] ] Local $nPosicao = _ArraySearch($aNomes, $nCode) If @error Then Return SetError(1, 0, "NÃO ENCONTRADO") Return SetError(0, 0, StringFormat("%40s", $aNomes[$nPosicao][1])) EndFunc
  8. 1 point
    Foi sim e eu bem achando que eram os pulsos rápidos que estavam travando o programa e na verdade era o reboot do relé que travava o teclado e por isto ficava indicando que estava pressionado o tempo todo.
  9. 1 point
    Ahhh entendi.... (bost* nenhuma kkkk)
  10. 1 point
    @manimal achei complicado este derador que vc indicou e também não tem opção de linguagem nele prá colocar em português aí pesquisando encontrei um site que faz o que eu quero mas na versão gartuita gera no máximo 99 combinações prá gerar mais que isto tem que ser assinante veja: https://www.mestredaloteria.com/megasena/gerador.php
  11. 1 point
    Show @Manimal Eu não sabia que o Autoit tinha essa função "Ceiling", eu sempre criava uma função para fazer esse trabalho de arredondar números inteiros.
  12. 1 point
    Show de bola Mutleey. Como disse o Belini, será útil! Obrigado.
  13. 1 point
    https://www.autoitscript.com/forum/topic/193404-read-text-file-from-web/ << Ajuda que os gringos que deram
  14. 1 point
    Brincando um pouco no autoit eu fiz esse programa de cronograma de estudos, se alguém estiver afim de estudar, ele seleciona a hora atual mostrando o que você deveria está estudando. Bem simples mesmo. Eu queria receber SMS com as informações, mas resolvi não mexer mais. #include <GUIConstantsEx.au3> #include <GuiListView.au3> #include <MsgBoxConstants.au3> #include <GUIConstantsEx.au3> #include <GuiListView.au3> #include <WindowsConstants.au3> GUICreate("CRONOGRAMA DE ESTUDOS", 800, 660) GUICtrlCreateLabel("Receber SMS:",665,475,140,20) GUICtrlSetState(-1,$GUI_DISABLE ) $ddi = GUICtrlCreateInput("55",665,500,25,20) GUICtrlSetState($ddi,$GUI_DISABLE ) $tell= GUICtrlCreateInput("",695,500,100,20) GUICtrlSetState($tell,$GUI_DISABLE ) $itelCheck =GUICtrlCreateCheckbox("Receber Notificações",665,523,200,20) GUICtrlSetState($itelCheck,$GUI_DISABLE ) Global $idListview = GUICtrlCreateListView("HORAS |SEGUNDA|TERÇA|QUARTA|QUINTA|SEXTA|SABADO|DOMINGO", 10, 10, 630, 640, $LVS_SHOWSELALWAYS+$LVS_SINGLESEL,$LVS_EX_GRIDLINES+$LVS_EX_DOUBLEBUFFER+$LVS_EX_FULLROWSELECT+$WS_EX_CLIENTEDGE) GUICtrlSetState($idListview,$GUI_DISABLE ) for $i=0 to 7 _GUICtrlListView_JustifyColumn($idListview, $i, 2) Next Global $Tempo Global $att = True GUIRegisterMsg($WM_NOTIFY, "WM_NOTIFY") GUISetState(@SW_SHOW) While 1 Switch GUIGetMsg() Case $GUI_EVENT_CLOSE ExitLoop EndSwitch Local $seg = @SEC, $min = @MIN, $Hora= @HOUR $iTime = $Hora & ":" & $min Switch $iTime Case $ATT and $iTime >= "7:00" and $iTime <= "7:29" $Tempo = 0 $ATT = False _drawItens() Case $ATT and $iTime >= "7:30" and $iTime <= "7:59" $Tempo = 1 $ATT = False _drawItens() Case $ATT and $iTime >= "8:00" and $iTime <= "8:29" $Tempo = 2 $ATT = False _drawItens() Case $ATT and $iTime >= "8:30" and $iTime <= "8:59" $Tempo = 3 $ATT = False _drawItens() Case $ATT and $iTime >= "9:00" and $iTime <= "9:29" $Tempo = 4 $ATT = False _drawItens() Case $ATT and $iTime >= "9:30" and $iTime <= "9:59" $Tempo = 5 $ATT = False _drawItens() Case $ATT and $iTime >= "10:00" and $iTime <= "10:29" $Tempo = 6 $ATT = False _drawItens() Case $ATT and $iTime >= "10:30" and $iTime <= "10:59" $Tempo = 7 $ATT = False _drawItens() Case $ATT and $iTime >= "11:00" and $iTime <= "11:29" $Tempo = 8 $ATT = False _drawItens() Case $ATT and $iTime >= "11:30" and $iTime <= "11:59" $Tempo = 9 $ATT = False _drawItens() Case $ATT and $iTime >= "12:00" and $iTime <= "12:29" $Tempo = 10 $ATT = False _drawItens() Case $ATT and $iTime >= "12:30" and $iTime <= "12:59" $Tempo = 11 $ATT = False _drawItens() Case $ATT and $iTime >= "13:00" and $iTime <= "13:29" $Tempo = 12 $ATT = False _drawItens() Case $ATT and $iTime >= "13:30" and $iTime <= "13:59" $Tempo = 13 $ATT = False _drawItens() Case $ATT and $iTime >= "14:00" and $iTime <= "14:29" $Tempo = 14 $ATT = False _drawItens() Case $ATT and $iTime >= "14:30" and $iTime <= "14:59" $Tempo = 15 $ATT = False _drawItens() Case $ATT and $iTime >= "15:00" and $iTime <= "15:29" $Tempo = 16 $ATT = False _drawItens() Case $ATT and $iTime >= "15:30" and $iTime <= "15:59" $Tempo = 17 $ATT = False _drawItens() Case $ATT and $iTime >= "16:00" and $iTime <= "16:29" $Tempo = 18 $ATT = False _drawItens() Case $ATT and $iTime >= "16:30" and $iTime <= "16:59" $Tempo = 19 $ATT = False _drawItens() Case $ATT and $iTime >= "17:00" and $iTime <= "17:29" $Tempo = 20 $ATT = False _drawItens() Case $ATT and $iTime >= "17:30" and $iTime <= "17:59" $Tempo = 21 $ATT = False _drawItens() Case $ATT and $iTime >= "18:00" and $iTime <= "18:29" $Tempo = 22 $ATT = False _drawItens() Case $ATT and $iTime >= "18:30" and $iTime <= "18:59" $Tempo = 23 $ATT = False _drawItens() Case $ATT and $iTime >= "19:00" and $iTime <= "19:29" $Tempo = 24 $ATT = False _drawItens() Case $ATT and $iTime >= "19:30" and $iTime <= "19:59" $Tempo = 25 $ATT = False _drawItens() Case $ATT and $iTime >= "20:00" and $iTime <= "20:29" $Tempo = 26 $ATT = False _drawItens() Case $ATT and $iTime >= "20:30" and $iTime <= "20:59" $Tempo = 27 $ATT = False _drawItens() Case $ATT and $iTime >= "21:00" and $iTime <= "21:29" $Tempo = 28 $ATT = False _drawItens() Case $ATT and $iTime >= "21:30" and $iTime <= "21:59" $Tempo = 29 $ATT = False _drawItens() Case $ATT and $iTime >= "22:00" and $iTime <= "22:29" $Tempo = 30 $ATT = False _drawItens() Case $ATT and $iTime >= "22:30" and $iTime <= "22:59" $Tempo = 31 $ATT = False _drawItens() Case $min & ":" & $seg = "00:00" or $min & ":" & $seg = "30:00" $ATT = True EndSwitch WEnd ; Delete the previous GUI and all controls. GUIDelete() Func WM_NOTIFY($hWnd, $Msg, $wParam, $lParam) Local $tNMHDR, $hWndFrom, $iCode,$hListView $tNMHDR = DllStructCreate($tagNMHDR, $lParam) $hWndFrom = DllStructGetData($tNMHDR, "hWndFrom") $iCode = DllStructGetData($tNMHDR, "Code") $hListView = GuiCtrlGetHandle($idListview) Switch $hWndFrom Case $hListView Switch $iCode Case $NM_CUSTOMDRAW Local $tCustDraw = DllStructCreate($tagNMLVCUSTOMDRAW, $lParam) Local $iDrawStage = DllStructGetData($tCustDraw, "dwDrawStage") If $iDrawStage = $CDDS_PREPAINT Then Return $CDRF_NOTIFYITEMDRAW If $iDrawStage = $CDDS_ITEMPREPAINT Then Return $CDRF_NOTIFYSUBITEMDRAW Local $iSubItem = DllStructGetData($tCustDraw, "iSubItem") Local $iItem = DllStructGetData($tCustDraw, "dwItemSpec") Local $iColor, $iColor2 If $iItem = $Tempo Then If $iSubItem = @WDAY-1 Then $iColor = RGB2BGR(0x00aa00) ; green Else $iColor = RGB2BGR(0x26FF26) ; pink EndIf Else if $iItem = 5 and $iSubItem >= 1 and $iSubItem < 6 Then $iColor = RGB2BGR(0x5B9BD5) ; azul escuro ElseIf $iItem = 2 or $iItem = 3 or $iItem = 4 and ($iSubItem >= 6) Then #DEEAF6 $iColor = RGB2BGR(0xDEEAF6) ; blue ElseIf $iItem = 12 and ($iSubItem = 1 or $iSubItem = 3 or $iSubItem = 5) Then $iColor = RGB2BGR(0x5B9BD5) ; blue ElseIf $iItem = 13 and ($iSubItem >= 1 And $iSubItem <= 8) Then $iColor = RGB2BGR(0x5B9BD5) ; blue ElseIf $iItem = 14 or $iItem = 15 and ($iSubItem = 1 or $iSubItem >= 5) Then $iColor = RGB2BGR(0xFF0000) ; red ElseIf $iItem = 16 and ($iSubItem = 1 or $iSubItem = 5) Then $iColor = RGB2BGR(0xffaaff) ; pink ElseIf $iItem = 17 or $iItem = 18 and $iSubItem >= 1 And $iSubItem < 6 Then $iColor = RGB2BGR(0xffaaff) ; pink ElseIf $iItem = 22 and ($iSubItem >= 1 And $iSubItem <= 5) Then $iColor = RGB2BGR(0xFF0000) ; red ElseIf $iItem = 23 and ($iSubItem = 1 or $iSubItem = 5) Then $iColor = RGB2BGR(0xFF0000) ; red ElseIf $iItem = 23 and ($iSubItem >= 2 and $iSubItem < 5) Then $iColor = RGB2BGR(0xFFC000) ; amarelo ElseIf $iItem = 24 and ($iSubItem >= 1 and $iSubItem < 6) Then $iColor = RGB2BGR(0xFFC000) ; amarelo ElseIf $iItem = 25 and ($iSubItem >= 1 and $iSubItem < 6) Then $iColor = RGB2BGR(0xFFC000) ; amarelo ElseIf $iItem = 29 or $iItem = 30 and ($iSubItem >= 1 and $iSubItem < 6) Then $iColor = RGB2BGR(0xDEEAF6) ; azul claro ElseIf $iItem = 31 and ($iSubItem >= 1 and $iSubItem < 6) Then $iColor = RGB2BGR(0x5B9BD5) ; azul escuro Else $iColor = RGB2BGR(0xFFFFFF) ; white EndIf EndIf DllStructSetData($tCustDraw, "clrTextBk", $iColor) ; background color Return $CDRF_NEWFONT EndSwitch EndSwitch Return $GUI_RUNDEFMSG EndFunc ;==>WM_NOTIFY Func RGB2BGR($iColor) Return BitAND(BitShift(String(Binary($iColor)), 8), 0xFFFFFF) EndFunc ;==>RGB2BGR() Func _drawItens() _GUICtrlListView_DeleteAllItems ( $idListview ) GUICtrlCreateListViewItem("7h - 7h30", $idListview) GUICtrlCreateListViewItem("7h30 - 8h", $idListview) GUICtrlCreateListViewItem("8h - 8h30|HISTÓRIA| MATEMÁTICA| LITERATURA| BIOLOGIA| FÍSICA", $idListview) GUICtrlCreateListViewItem("8h30 - 9h|HISTÓRIA| MATEMÁTICA| LITERATURA| BIOLOGIA| FÍSICA", $idListview) GUICtrlCreateListViewItem("9h - 9h30|HISTÓRIA| MATEMÁTICA| LITERATURA| BIOLOGIA| FÍSICA", $idListview) GUICtrlCreateListViewItem("9h30 - 10h", $idListview) GUICtrlCreateListViewItem("10h - 10h30|QUÍMICA| GEOGRAFIA| FÍSICA| FIL/SOC |HISTÓRIA", $idListview) GUICtrlCreateListViewItem("10h30 - 11h|QUÍMICA| GEOGRAFIA| FÍSICA| FIL/SOC |HISTÓRIA", $idListview) GUICtrlCreateListViewItem("11h - 11h30|QUÍMICA| GEOGRAFIA| FÍSICA| FIL/SOC |HISTÓRIA", $idListview) GUICtrlCreateListViewItem("11h30 - 12h", $idListview) GUICtrlCreateListViewItem("12h - 12h30", $idListview) GUICtrlCreateListViewItem("12h30 - 13h", $idListview) GUICtrlCreateListViewItem("13h - 13h30", $idListview) GUICtrlCreateListViewItem("13h30 - 14h", $idListview) GUICtrlCreateListViewItem("14h - 14h30||BIOLOGIA |MATEMÁTICA |QUÍMICA", $idListview) GUICtrlCreateListViewItem("14h30 - 15h||BIOLOGIA |MATEMÁTICA |QUÍMICA", $idListview) GUICtrlCreateListViewItem("15h - 15h30||BIOLOGIA |MATEMÁTICA |QUÍMICA", $idListview) GUICtrlCreateListViewItem("15h30 - 16h", $idListview) GUICtrlCreateListViewItem("16h - 16h30", $idListview) GUICtrlCreateListViewItem("16h30 - 17h|REDAÇÃO |LITERATURA |HISTÓRIA |QUÍMICA |REDAÇÃO", $idListview) GUICtrlCreateListViewItem("17h - 17h30|REDAÇÃO |LITERATURA |HISTÓRIA |QUÍMICA |REDAÇÃO", $idListview) GUICtrlCreateListViewItem("17h30 - 18h|REDAÇÃO |LITERATURA |HISTÓRIA |QUÍMICA |REDAÇÃO", $idListview) GUICtrlCreateListViewItem("18h - 18h30", $idListview) GUICtrlCreateListViewItem("18h30 - 19h", $idListview) GUICtrlCreateListViewItem("19h - 19h30", $idListview) GUICtrlCreateListViewItem("19h30 - 20h", $idListview) GUICtrlCreateListViewItem("20h - 20h30", $idListview) GUICtrlCreateListViewItem("20h30 - 21h", $idListview) GUICtrlCreateListViewItem("21h - 21h30", $idListview) GUICtrlCreateListViewItem("21h30 - 22h", $idListview) GUICtrlCreateListViewItem("22h - 22h30", $idListview) GUICtrlCreateListViewItem("22h30 - 23h", $idListview) Sleep(1000) EndFunc
  15. 1 point
  16. 1 point
    Muito bom odaylton, seja bem vindo a comunidade e espero que traga novas soluções para engrandecer o conhecimento de todos. Não tenho muito conhecimento de AutoIt, mas vou dar uma olhada no material que colocou e aprender um pouco mais. Fico feliz que tenha encontrado esse fórum, agora poderá contribuir melhor.
×