Jump to content

Belini

Administradores (Adm)
  • Content count

    1,989
  • Joined

  • Last visited

  • Days Won

    104

Belini last won the day on July 3 2018

Belini had the most liked content!

Community Reputation

230 Excelente!

About Belini

  • Rank
    Administrador
  • Birthday 08/25/1968

Profile Information

  • Gender
    Male
  • Location
    Minas Gerais

Recent Profile Visitors

10,525 profile views
  1. @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
  2. Só que isto não é de um único sorteio tem vez que chega a pegar resultado de até ums 10 concursos para alguém completar os 6 pontos aí pode sair 1 no priemiro concurso, 5 no segundo, 4 no terceiro... Na verdade não sou eu quem quer jogar isto é para um amigo viciado em jogo que tá com ideía de fazer 200 jogos de uma vez a 10,00 = 2.000,00 eu mesmo não tenho coragem prá jogar tanto assim e felizmente não sou viciado em como ele mas vou pedir prá ele uma porcentagem se ganhar sim.
  3. Nenhum dos dois, bolão da megasena pois tem um cara aqui na cidade que faz aí a gente aposta 6 números e vai acumulando em cada sorteio até alguém completar os 6 números e ta dando um prêmio de 10.000,00 prá quem fizer mais pontos no primeiro sorteio e mais ou menos 50.000,00 prá quem completar os 6 números primeiro, vc tem alguma dica de como posso fazer o script?
  4. Alguém tem ideia de como seria prá fazer todas combinações possiveis de 1 a 40 listando 6 números por vez?
  5. @manimal se conseguir alguma coisa que resolva este problema da tela cheia usando a dll do VLC eu também estou disposto a pesquisar, fazer mais testes e migrar prá ela também pois usando a winmm.dll já ví que não tem como fazer.
  6. Por hora deixei de lado esta parte do vídeo pois já perdi muito tempo nisto depois volto a tentar estou agora tentando finalizar meu novo sistema 2x1
  7. Nas configurações do Klite já mexi prá todo lado e não achei a opção de preenher a tela prá ficar sem as tarjas pretas e comandos prá usar a winmm.dll não achei nenhum que fizesse isto também.
  8. Em qual configuração do Klite tenho que mexer prá abrir em tela cheia?
  9. @manimal não cheguei a usar pois encontrei uma maneira de fazer o que eu precisava usando a UDF video.au3 mesmo, já pesquisei bastante sobre os parâmetros usados em mciSendString() e pelo visto não tem nada prá fazer o vídeo ocupar a tela toda.
  10. @manimal este parâmetro já uso porém não preenche a tela toda queria esticar o vídeo quando a resolução da tela for diferente da resolução do vídeo.
  11. Alguém sabe se tem como abrir vídeos diferentes preenchendo a tela toda sem as tarjas pretas de lado? Video.au3 #include-once ; #CURRENT# =============================================================================================== ; _Video_Close ; _Video_Dimension ; _Video_FrameRate ; _Video_Length ; _Video_Mute ; _Video_Open ; _Video_Pause ; _Video_Play ; _Video_Resume ; _Video_Seek ; _Video_Status ; _Video_Step ; _Video_Stop ; _Video_TimePos ; _Video_Volume ; _RandomStr ; _MSToHMS ; _mciDeviceExists ; _mciListDevices ; _mciSendString ;========================================================================================================== ; #FUNCTION# ============================================================================================== ; Name...........: _Video_Close ; Description....: Close a video. ; Syntax.........: _Video_Close($sAlias) ; Parameters ....: $sAlias - Alias name returned by _Video_Open. ; Return values .: Success - Return 1 and sets Alias name to "". ; Failure - Return 0 and @error 1~2 ; @error 1 = Invalid Alias ; @error 2 = MCI failed to close video ; Author ........: smashly ; ========================================================================================================= Func _Video_Close(ByRef $sAlias) If $sAlias = "" Or StringRegExp($sAlias, "\W|_", 0) Then Return SetError(1, 0, 0) If _mciSendString("close " & $sAlias) = 0 Then $sAlias = "" Return SetError(0, 0, 1) Else Return SetError(2, 0, 0) EndIf EndFunc ;==>_Video_Close ; #FUNCTION# ============================================================================================== ; Name...........: _Video_Dimension ; Description....: Retrieves the Width and Height of the source video. ; Syntax.........: _Video_Dimension($sFile) ; Parameters ....: $sFile - The full path to video file. ; Return values .: Success - Returns an array. array[0] = Width, array[1] = Height ; Failure - Return 0 and @error 1~3 ; @error 1 = File doesn't exist. ; @error 2 = MCI failed to open the video file. ; @error 3 = MCI failed to get the source video dimensions. ; Author ........: smashly ; ========================================================================================================= Func _Video_Dimension($sFile) Local $iRet, $sVID, $aTmp If Not FileExists($sFile) Then Return SetError(1, 0, 0) $sVID = _RandomStr() $iRet = _mciSendString("open " & FileGetShortName($sFile) & " alias " & $sVID) If $iRet <> 0 Then Return SetError(2, 0, 0) $iRet = _mciSendString("where " & $sVID & " source", 255) If $iRet = "" Then _mciSendString("close " & $sVID) Return SetError(3, 0, 0) EndIf _mciSendString("close " & $sVID) $aTmp = StringSplit($iRet, Chr(32)) $aTmp[1] = $aTmp[$aTmp[0]] $aTmp[0] = $aTmp[$aTmp[0] - 1] ReDim $aTmp[2] Return $aTmp EndFunc ;==>_Video_Dimension ; #FUNCTION# ============================================================================================== ; Name...........: _Video_FrameRate ; Description....: Close a video. ; Syntax.........: _Video_FrameRate($sAlias) ; Parameters ....: $sAlias - Alias name returned by _Video_Open. ; Return values .: Success - Returns the Frames Per Second of the video. ; Failure - Return 0 and @error 1 ; @error 1 = Invalid Alias ; Author ........: smashly ; ========================================================================================================= Func _Video_FrameRate($sAlias) If $sAlias = "" Or StringRegExp($sAlias, "\W|_", 0) Then Return SetError(1, 0, 0) Return _mciSendString("status " & $sAlias & " nominal frame rate", 255) / 1000 EndFunc ;==>_Video_FrameRate ; #FUNCTION# ============================================================================================== ; Name...........: _Video_Length ; Description....: Get the time length of a video in Milliseconds or Hours, Minutes, Seconds (HH:MM:SS) ; Syntax.........: _Video_Length($sAlias[, $iTime = 0]) ; Parameters ....: $sAlias - Alias name returned by _Video_Open ; $iTime - 0 Return time lenth in Hours, Minutes, Seconds (HH:MM:SS) ; - 1 Return time lenth in Milliseconds. ; Return values .: Success - Return time length in Milliseconds or Hours, Minutes, Seconds (HH:MM:SS) ; Failure - Return 0 and @error 1 ; @error 1 = Invalid Alias ; Author ........: smashly ; ========================================================================================================= Func _Video_Length($sAlias, $iTime = 0) Local $iMS If $sAlias = "" Or StringRegExp($sAlias, "\W|_", 0) Then Return SetError(1, 0, 0) _mciSendString("set " & $sAlias & " time format ms") $iMS = _mciSendString("status " & $sAlias & " length", 255) If Not $iTime Then Return _MSToHMS($iMS) If $iTime Then Return $iMS EndFunc ;==>_Video_Length ; #FUNCTION# ============================================================================================== ; Name...........: _Video_Mute ; Description....: Turn off/on the audio in a video. ; Syntax.........: _Video_Mute($sAlias[, $iMute = 0]) ; Parameters ....: $sAlias - Alias name returned by _Video_Open. ; $iAudio - 0 = Audio On, 1 = Audio Off ; Return values .: Success - Return 1 and @error 0 ; Failure - Return 0 and @error 1~2 ; @error 1 = Invalid Alias ; @error 2 = MCI failed to turn the video audio off/on ; Author ........: smashly ; ========================================================================================================= Func _Video_Mute($sAlias, $iMute = 0) Local $iRet, $iAM = "on" If $sAlias = "" Or StringRegExp($sAlias, "\W|_", 0) Then Return SetError(1, 0, 0) If $iMute Then $iAM = "off" $iRet = _mciSendString("set " & $sAlias & " audio all " & $iAM) If $iRet = 0 Then Return SetError(0, 0, 1) Else Return SetError(2, 0, 0) EndIf EndFunc ;==>_Video_Mute ; #FUNCTION# ============================================================================================== ; Name...........: _Video_Open ; Description ...: Opens a Video file ready for use with other _Video_xxxx functions. ; Syntax.........: _Video_Open($sFile, $hWnd, $iX, $iY, $iW, $iH[, $sDevice = ""]) ; Parameters ....: $sFile - The full path to video file. ; $hWnd - Handle to a window or control that the video will be displayed on ; $iX - Left position of the video. ; $iY - Top position of the video. ; $iW - Width of the video. ; $iH - Height of the video. ; $sDevice - MCI Device type to play video with. (See Remarks for more info) ; Return values .: Success - Return an Alias name for use with other _Video_xxxx functions. ; Failure - Return an empty String "" and @error 1~5 ; @error 1 = File doesn't exist ; @error 2 = Window or Control handle not valid. ; @error 3 = Invalid MCI Device type specified. ; @error 4 = MCI failed to open video file ; @error 5 = MCI failed window for video. ; @error 5 = MCI failed to put video at the deignated location. ; Author ........: smashly ; Remarks .......: If your having trouble with avi playback (eg; playing fast, slow, choppy or no audio) ; or a video won't play but it plays fine in any other player ... ; Then set the $sDevice parameter to "MPEGVideo" ; If the $sDevice parameter is left blank then windows will decide which MCI Device type ; to use. ; Most current day avi/wmv/mp4 formats dont play properly or at all when windows selects ; the mci device type to use. ; Windows would default use "AVIVideo" MCI Device type to play avi with mci. ; When you specify "MPEGVideo" for an avi and mci fails it then uses the windows native ; chain of codecs that would be used by any other player not using mci ;) ; Because of this behaviour you can usually play almost any type of video that normally ; fails when using mci just by specifying "MPEGVideo" mci device type. ; For playing video on an autoit gui then be sure to add the $WS_CLIPCHILDREN style ; to your Gui. This will keep the Video dislpayed on your Gui all the time. ; ========================================================================================================= Func _Video_Open($sFile, $hWnd, $iX, $iY, $iH, $iW, $sDevice = "") Local $sVID, $gId, $iRet, $sDT = "" If Not FileExists($sFile) Then Return SetError(1, 0, "") If Not IsHWnd($hWnd) Then Return SetError(2, 0, "") If $sDevice <> "" Then If Not _mciDeviceExists($sDevice) Then Return SetError(3, 0, "") $sDT = " type " & $sDevice EndIf $gId = Dec(StringTrimLeft($hWnd, 2)) $sVID = _RandomStr() $iRet = _mciSendString("open " & FileGetShortName($sFile) & " alias " & $sVID & $sDT) If $iRet <> 0 Then Return SetError(4, 0, "") $iRet = _mciSendString("window " & $sVID & " handle " & $gId) If $iRet <> 0 Then _mciSendString("close " & $sVID) Return SetError(5, 0, "") EndIf $iRet = _mciSendString("put " & $sVID & " destination at " & $iX & " " & $iY & " " & $iH & " " & $iW) If $iRet <> 0 Then _mciSendString("close " & $sVID) Return SetError(6, 0, "") EndIf Return SetError(0, 0, $sVID) EndFunc ;==>_Video_Open ; #FUNCTION# ============================================================================================== ; Name...........: _Video_Pause ; Description....: Pause a Video at the current playing position. ; Syntax.........: _Video_Pause($sAlias) ; Parameters ....: $sAlias - Alias name returned by _Video_Open. ; Return values .: Success - Return 1 and @error 0 ; Failure - Return 0 and @error 1~2 ; @error 1 = Invalid Alias ; @error 2 = Failed to pause video. ; Author ........: smashly ; ========================================================================================================= Func _Video_Pause($sAlias) Local $iRet If $sAlias = "" Or StringRegExp($sAlias, "\W|_", 0) Then Return SetError(1, 0, 0) $iRet = _mciSendString("pause " & $sAlias) If $iRet = 0 Then Return SetError(0, 0, 1) Else Return SetError(2, 0, 0) EndIf EndFunc ;==>_Video_Pause ; #FUNCTION# ============================================================================================== ; Name...........: _Video_Play ; Description....: Plays a Video from the current position. ; Syntax.........: _Video_Play($sAlias[, $iMode = 0]) ; Parameters ....: $sAlias - Alias name returned by _Video_Open. ; $iMode - 0 play video on the window or control as specified in _Video_Open ; - 1 play video in Fullscreen mode. ; Return values .: Success - Return 1 and @error 0 ; Failure - Return 0 and @error 1~2 ; @error 1 = Invalid Alias ; @error 2 = MCI failed to play video. ; Author ........: smashly ; ========================================================================================================= Func _Video_Play($sAlias, $iMode = 0) Local $iRet If $sAlias = "" Or StringRegExp($sAlias, "\W|_", 0) Then Return SetError(1, 0, 0) If _Video_TimePos($sAlias, 1) = _Video_Length($sAlias, 1) Then _Video_Seek($sAlias, "start") If $iMode Then $vRet = _mciSendString("play " & $sAlias & " fullscreen") Else $iRet = _mciSendString("play " & $sAlias) EndIf If $iRet = 0 Then Return SetError(0, 0, 1) Else Return SetError(1, 0, 0) EndIf EndFunc ;==>_Video_Play ; #FUNCTION# ============================================================================================== ; Name...........: _Video_Resume ; Description....: Resume playing a video after pausing. ; Syntax.........: _Video_Resume($sAlias) ; Parameters ....: $sAlias - Alias name returned by _Video_Open. ; Return values .: Success - Return 1 and @error 0 ; Failure - Return 0 and @error 1~2 ; @error 1 = Invalid Alias ; @error 2 = MCI failed to resume video. ; Author ........: smashly ; ========================================================================================================= Func _Video_Resume($sAlias) Local $iRet If $sAlias = "" Or StringRegExp($sAlias, "\W|_", 0) Then Return SetError(1, 0, 0) $iRet = _mciSendString("resume " & $sAlias) If $iRet = 0 Then Return SetError(0, 0, 1) Else Return SetError(2, 0, 0) EndIf EndFunc ;==>_Video_Resume ; #FUNCTION# ============================================================================================== ; Name...........: _Video_Seek ; Description....: Seek a video to the specified time position. ; Syntax.........: _Video_Seek($sAlias, $iTime) ; Parameters ....: $sAlias - Alias name returned by _Video_Open. ; $iTime - Time to Seek. Can be Millisecons or HH:MM:SS or "start" or "end" ; Return values .: Success - Return 1 and @error 0 ; Failure - Return 0 and @error 1~3 ; @error 1 = Invalid Alias ; @error 2 = Invalid time format. ; @error 3 = MCI Seek error ; Author ........: smashly ; ========================================================================================================= Func _Video_Seek($sAlias, $iTime) Local $iMS, $aTime, $iRet If $sAlias = "" Or StringRegExp($sAlias, "\W|_", 0) Then Return SetError(1, 0, 0) If StringInStr($iTime, ":") Then $aTime = StringSplit($iTime, ":") If $aTime[0] <> 3 Then Return SetError(2, 0, 0) $iMS = 1000 * ((3600 * $aTime[1]) + (60 * $aTime[2]) + $aTime[3]) ElseIf StringIsInt($iTime) Or $iTime = "start" Or $iTime = "end" Then $iMS = $iTime Else Return SetError(2, 0, 0) EndIf _mciSendString("set " & $sAlias & " time format ms") $iRet = _mciSendString("seek " & $sAlias & " to " & $iMS) If $iRet = 0 Then Return SetError(0, 0, 1) Else Return SetError(3, 0, 0) EndIf EndFunc ;==>_Video_Seek ; #FUNCTION# ============================================================================================== ; Name...........: _Video_Status ; Description....: Get a status status message from a video device. ; Syntax.........: _Video_Status($sAlias[, $sQuery = "mode"]) ; Parameters ....: $sAlias - Alias name returned by _Video_Open ; $sQuery - What to get the status of: ; "audio" - returns the "on" or "off" ; "mode" - returns "paused", "playing" and "stopped" ; Return values .: Success - Returns a Status message from the video device. ; Failure - Return 0 and @error 1 ; @error 1 = Invalid Alias ; @error 2 = Invalid query (To be implemented) ; Author ........: smashly ; ========================================================================================================= Func _Video_Status($sAlias, $sQuery = "mode") If $sAlias = "" Or StringRegExp($sAlias, "\W|_", 0) Then Return SetError(1, 0, 0) ;; error check for the $sQuery goes here Return _mciSendString("status " & $sAlias & " " & $sQuery, 255) EndFunc ;==>_Video_Status ; #FUNCTION# ============================================================================================== ; Name...........: _Video_Step ; Description....: Step a video forwards or backwards by a number of frames. ; Syntax.........: _Video_Step($sAlias, $iFrames) ; Parameters ....: $sAlias - Alias name returned by _Video_Open ; $iFrames - The number of frames to step, use negative numbers to step backwards. ; Return values .: Success - Returns 1 and @error 0 ; Failure - Return 0 and @error 1~3 ; @error 1 = Invalid Alias ; @error 2 = Invalid frames ; @error 3 = MCI Step error ; Author ........: smashly ; ========================================================================================================= Func _Video_Step($sAlias, $iFrames) Local $iRet If $sAlias = "" Or StringRegExp($sAlias, "\W|_", 0) Then Return SetError(1, 0, 0) If StringRegExp(StringReplace($iFrames, "-", ""), '\D', 0) Then Return SetError(2, 0, 0) $iRet = _mciSendString("step " & $sAlias & " by " & $iFrames) If $iRet = 0 Then Return SetError(0, 0, 1) Else Return SetError(3, 0, 0) EndIf EndFunc ;==>_Video_Step ; #FUNCTION# ============================================================================================== ; Name...........: _Video_Stop ; Description....: Stop a Video playing. (seeks video to start) ; Syntax.........: _Video_Stop($sAlias) ; Parameters ....: $sAlias - Alias name returned by _Video_Open. ; Return values .: Success - Return 1 and @error 0 ; Failure - Return 0 and @error 1~2 ; @error 1 = Invalid Alias ; @error 2 = Failed to stop or seek ; Author ........: smashly ;========================================================================================================== Func _Video_Stop($sAlias) Local $iRet, $iRet2 If $sAlias = "" Or StringRegExp($sAlias, "\W|_", 0) Then Return SetError(1, 0, 0) $iRet = _Video_Seek($sAlias, "start") $iRet2 = _mciSendString("stop " & $sAlias) If $iRet = 0 And $iRet2 = 0 Then Return SetError(0, 0, 1) Else Return SetError(2, 0, 0) EndIf EndFunc ;==>_Video_Stop ; #FUNCTION# ============================================================================================== ; Name...........: _Video_TimePos ; Description....: Get the time poition of a video in Milliseconds or Hours, Minutes, Seconds (HH:MM:SS) ; Syntax.........: _Video_TimePos($sAlias[, $iTime = 0]) ; Parameters ....: $sAlias - Alias name returned by _Video_Open. ; $iTime - 0 Return time lenth in Hours, Minutes, Seconds (HH:MM:SS) ; - 1 Return time lenth in Milliseconds. ; Return values .: Success - Return time position in Milliseconds or Hours, Minutes, Seconds (HH:MM:SS) ; Failure - Return 0 and @error 1 ; @error 1 = Invalid Alias ; Author ........: smashly ; ========================================================================================================= Func _Video_TimePos($sAlias, $iTime = 0) Local $iMS If $sAlias = "" Or StringRegExp($sAlias, "\W|_", 0) Then Return SetError(1, 0, 0) _mciSendString("set " & $sAlias & " time format ms") $iMS = _mciSendString("status " & $sAlias & " position", 255) If Not $iTime Then Return _MSToHMS($iMS) If $iTime Then Return $iMS EndFunc ;==>_Video_TimePos ; #FUNCTION# ============================================================================================== ; Name...........: _Video_Volume ; Description....: Turn the video audio volume up or down. ; Syntax.........: _Video_AudioVolume($sAlias[, $iVolume = 100]) ; Parameters ....: $sAlias - Alias name returned by _Video_Open. ; $iVolume - 0 = Min, 100 = Max ; Return values .: Success - Return 1 and @error 0 ; Failure - Return 0 and @error 1~2 ; @error 1 = Invalid Alias ; @error 2 = Invalid Volume ; @error 3 = MCI failed to set volume ; Author ........: smashly ; ========================================================================================================= Func _Video_Volume($sAlias, $iVolume = 100) Local $iRet, $iVol If $sAlias = "" Or StringRegExp($sAlias, "\W|_", 0) Then Return SetError(1, 0, 0) If StringRegExp($iVolume, '\D', 0) Then Return SetError(2, 0, 0) If $iVolume >= 100 Then $iVol = 1000 ElseIf $iVolume <= 0 Then $iVol = 0 ElseIf $iVolume > 0 And $iVolume < 100 Then $iVol = $iVolume * 10 EndIf $iRet = _mciSendString("setaudio " & $sAlias & " volume to " & $iVol) If $iRet = 0 Then Return SetError(0, 0, 1) Else Return SetError(3, 0, 0) EndIf EndFunc ;==>_Video_Volume ;========================================================================================================== ; Internal use functions beyond this point ;========================================================================================================== ; #FUNCTION# ============================================================================================== ; Name...........: _MSToHMS ; Description....: Converts Milliseconds to Hours, Minutes, Seconds ; Syntax.........: _MSToHMS($iMS) ; Parameters ....: $iMS - Milliseconds to convert ; Return values .: Success - Returns Hours, Minutes, Seconds (HH:MM:SS) ; Author ........: smashly ; ========================================================================================================= Func _MSToHMS($iMS) Local $iHours = 0, $iMins = 0, $iSecs = 0 If Number($iMS) > 0 Then $iMS = Round($iMS / 1000) $iHours = Int($iMS / 3600) $iTicks = Mod($iMS, 3600) $iMins = Int($iMS / 60) $iSecs = Round(Mod($iMS, 60)) Return StringFormat("%02i:%02i:%02i", $iHours, $iMins, $iSecs) EndIf Return StringFormat("%02i:%02i:%02i", $iHours, $iMins, $iSecs) EndFunc ;==>_MSToHMS ; #FUNCTION# ============================================================================================== ; Name...........: _RandomStr ; Description....: Creates a random string ; Syntax.........: _RandomStr([$iLen = 10]) ; Parameters ....: $iLen - Length of string to return ; Return values .: Success - Returns a string of random letters (a~z) ; Author ........: RazerM ; ========================================================================================================= Func _RandomStr($iLen = 10) Local $sTmp = '' For $i = 1 To $iLen $sTmp &= Chr(Random(97, 122, 1)) Next Return $sTmp EndFunc ;==>_RandomStr ; #FUNCTION# ============================================================================================== ; Name...........: _mciDeviceExists ; Description....: Check if a MCI Device type exists ; Syntax.........: _mciDeviceExists($sDevice) ; Parameters ....: $sDevice - Name of MCI Device type to check for ; Return values .: Success - Return 1 if MCI Device type exists and @error 0 ; Failure - Return 0 if MCI Device type does not exist and @error 1~2 ; @error 1 = No matching MCI Device type found. ; @error 2 = Failed to list any MCI Device types ; Author ........: smashly ; ========================================================================================================= Func _mciDeviceExists($sDevice) Local $aDT = _mciListDevices() If @error Then Return SetError(2, 0, 0) For $idx = 1 To $aDT[0] If $sDevice = $aDT[$idx] Then Return SetError(0, 0, 1) Next Return SetError(1, 0, 0) EndFunc ;==>_mciDeviceExists ; #FUNCTION# ============================================================================================== ; Name...........: _mciListDevices ; Description....: List all found MCI Device types in an array ; Syntax.........: _mciListDevices() ; Parameters ....: None ; Return values .: Success - Return 1D array of found MCI Device types and @error 0 ; array[0] Number of MCI Device types found ; array[n] MCI Device type name ; Failure - Return empty 1D array and @error 1 ; Author ........: smashly ; ========================================================================================================= Func _mciListDevices() Local $iMD, $sTmp $iMD = _mciSendString("sysinfo all quantity", 255) If StringIsInt($iMD) Then For $idx = 1 To $iMD $sTmp &= _mciSendString("sysinfo all name " & $idx, 255) & Chr(0) Next Return SetError(0, 0, StringSplit(StringTrimRight($sTmp, 1), Chr(0))) EndIf Return SetError(1, 0, StringSplit($sTmp, Chr(0))) EndFunc ;==>_mciListDevices ; #FUNCTION# ============================================================================================== ; Name...........: _mciSendString ; Description....: ; Syntax.........: _mciSendString($string[, $iLen = 0]) ; Parameters ....: $string ; $iLen ; Return values .: ; Author ........: RazerM ; ========================================================================================================= Func _mciSendString($string, $iLen = 0) Local $iRet $iRet = DllCall("winmm.dll", "int", "mciSendStringA", "str", $string, "str", "", "long", $iLen, "long", 0) If Not @error Then Return $iRet[2] EndFunc ;==>_mciSendString
  12. @Luigi eu preciso selecionar uma por vez e também que seja selecionado se for mais de um caractér em cada linha, neste exemplo que vc fez seleciona todas e se eu colocar mais um caractér na linha não seleciona nenhuma. For $ii = 1 To 26 $sLetter = StringUpper(Chr(64 + $ii)) & $ii GUICtrlCreateTreeViewItem($sLetter, $iTreeView) Next Até me indicaram um comando que seleciona uma por vez mas também só funciona se tiver apenas uma letra na linha. #include <GUIConstantsEx.au3> #include <WindowsConstants.au3> #include <GuiTreeView.au3> Test_1() Test_2() Func Test_1() Local $treeview, $i, $Gui, $letter[27] $Gui = GUICreate("Treeview", 210, 420) $treeview = GUICtrlCreateTreeView(0, 0, 210, 420, BitOR($TVS_HASLINES, $TVS_SHOWSELALWAYS), $WS_EX_CLIENTEDGE) For $i = 1 To 26 $letter[$i] = StringUpper(Chr(64 + $i)) GUICtrlCreateTreeViewItem($letter[$i], $treeview) Next _GUICtrlTreeView_SelectItem($treeview, _GUICtrlTreeView_GetFirstItem($treeview)) GUISetState() For $i = 1 To 26 ControlTreeView("Treeview", "", $treeview, "Select", $letter[$i]) Sleep(11) Next GUIDelete($Gui) EndFunc ;==>Test_1 Func Test_2() Local $treeview, $i, $Gui, $letter[27] $Gui = GUICreate("Treeview", 210, 420) $treeview = GUICtrlCreateTreeView(0, 0, 210, 420, BitOR($TVS_HASLINES, $TVS_SHOWSELALWAYS), $WS_EX_CLIENTEDGE) For $i = 1 To 26 $letter[$i] = StringUpper(Chr(64 + $i)) GUICtrlCreateTreeViewItem($letter[$i] & $i, $treeview) Next _GUICtrlTreeView_SelectItem($treeview, _GUICtrlTreeView_GetFirstItem($treeview)) GUISetState() While 1 For $i = 1 To 26 ControlTreeView("Treeview", "", $treeview, "Select", $letter[$i]) Sleep(11) Next WEnd EndFunc ;==>Test_2
  13. Preciso selecionar linhas no TreeView enviando a letra para selecionar a linha iniciada com ela mas não consegui usando Send() e ControlSend() alguém tem alguma dica? #include <GUIConstantsEx.au3> #include <WindowsConstants.au3> #include <GuiTreeView.au3> Test() Func Test() Local $treeview, $i, $letter[27] GUICreate("Treeview", 210, 420) $treeview = GUICtrlCreateTreeView(0, 0, 210, 420, BitOR($TVS_HASLINES, $TVS_SHOWSELALWAYS), $WS_EX_CLIENTEDGE) For $i = 1 To 26 $letter[$i] = StringUpper(Chr(64 + $i)) GUICtrlCreateTreeViewItem($letter[$i], $treeview) Next _GUICtrlTreeView_SelectItem($treeview, _GUICtrlTreeView_GetFirstItem($treeview)) GUISetState() While 1 For $i = 1 To 26 Send($letter[$i]); Não seleciona a linha quando envio a letra Sleep(100) Next WEnd EndFunc ;==>Test
  14. Backup personalizado

    Atualizei o programa de backup que agora tem um contador de arquivos copiados e mantidos. Baixar arquivos: https://mega.nz/#!cdNw0CaQ!q4r5KYyOXGb-a9dVJeZLz8Le9Z29UobQuhDtYeVZl5g
  15. Backup personalizado

    Precisei fazer um programa de backup que atendesse as minhas necessidades e quero compartilhar com vocês. #RequireAdmin #region ;**** Directives created by AutoIt3Wrapper_GUI **** #AutoIt3Wrapper_Icon=.\Bk.ico #AutoIt3Wrapper_Compression=0 #AutoIt3Wrapper_UseUpx=n #AutoIt3Wrapper_Res_Comment=Função: Aplicativo para fazer backup #AutoIt3Wrapper_Res_Description=Autoit3 3.3.9.4 #AutoIt3Wrapper_Res_Fileversion=1.1.10.18 #AutoIt3Wrapper_Res_LegalCopyright=Feito por Belini #AutoIt3Wrapper_Res_requestedExecutionLevel=asInvoker #AutoIt3Wrapper_AU3Check_Parameters=-d -w 1 -w 2 -w 3 -w 4 -w 5 -w 6 #endregion ;**** Directives created by AutoIt3Wrapper_GUI **** #cs ------------------------------------------------- Title: Backup Personal Objective: Fazer backup de arquivos e pastas Author: Belini (Brazil) Autoit Version: 3.3.9.4 Version: 1.0.10.18 Forum: http://www.autoitbrasil.com/forum #ce ------------------------------------------------- #include <ListViewConstants.au3> #include <WindowsConstants.au3> #include <ButtonConstants.au3> #include <GUIConstantsEx.au3> #include <EditConstants.au3> #include "_UskinLibrary.au3" #include <GuiListView.au3> #include "Skin_03.au3" #include <File.au3> Global $iFix_Col = 1, $Dir_backup, $Input, $Listv, $Listv_Files, $Check, $lab[3] Global $nMsg, $proceed = 1, $item_num, $But[8], $item_text[4], $mantidos = 0, $atualizados = 0 _Arq_ini() _Uskin_LoadDLL() _USkin_Init(_Skin_03(True)); Skin usada _Gui_backup() While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE Exit Case $But[1] _Add_Line() Case $But[2] _Del_line() Case $But[3] _Opt_Dir() Case $But[4] _Opt_Backup() Case $But[5] _Dir_Backup() Case $But[6] $proceed = 0 Case $But[7] _Start_backup() Case $Check _Opt_Finalize() EndSwitch WEnd Func _Add_Line() Local $dir = FileSelectFolder("Procurando pasta.", "") If IniRead(@ScriptDir & "\Config.ini", "PASTAS", $dir, "") = "" Then GUICtrlCreateListViewItem($dir & "|Incluir Subpastas" & "|Sim", $Listv) IniWrite(@ScriptDir & "\Config.ini", "PASTAS", $dir, "|Incluir Subpastas" & "|Sim") Else MsgBox(4096, "", "Este diretório já foi escolhido!", 3) EndIf EndFunc ;==>_Add_Line Func _Arq_ini() If Not FileExists(@ScriptDir & "\Config.ini") Then _ FileWrite(@ScriptDir & "\Config.ini", "[BACKUP]" & @CRLF & "endereço= " & @CRLF & @CRLF & "[DESLIGAR]" & @CRLF & "opção=0" & @CRLF & @CRLF & "[PASTAS]") EndFunc ;==>_Arq_ini Func _Backup_Files($path = "") Local $searh_files, $i $searh_files = _FileListToArray($path, "*.*", 1) If Not @error Then For $i = 1 To $searh_files[0] If GUIGetMsg() = $But[6] Then $proceed = 0 If $proceed = 0 Then ExitLoop _Compare_files($path & "\" & $searh_files[$i]) Next EndIf EndFunc ;==>_Backup_Files Func _Backup_Full($path = "", $counter = 0) $counter = 0 $path &= '\' Local $file, $searh_files $searh_files = FileFindFirstFile($path & '*') If $searh_files = -1 Then Return '' While 1 If GUIGetMsg() = $But[6] Then $proceed = 0 $file = FileFindNextFile($searh_files) If @error Or $proceed = 0 Then ExitLoop If @extended Then If $counter >= 10 Then ContinueLoop _Backup_Full($path & $file, $counter + 1) Else _Compare_files($path & $file) EndIf WEnd FileClose($searh_files) EndFunc ;==>_Backup_Full Func _Compare_files($file = "") Local $File_backup, $item, $folder $item = StringTrimLeft($file, StringInStr($file, "\", 1, -1)) $folder = StringTrimLeft($file, StringInStr($file, "\", 1, -2)) $folder = StringMid($folder, 1, StringInStr($folder, "\", 1, -1) -1 ) $File_backup = StringReplace($file, StringMid($file, 1, 2), $Dir_backup, 0, 2) $file = FileGetShortName($file) $File_backup = FileGetShortName($File_backup) _GUICtrlListView_SetItemText($Listv, 0, $folder, 2) _GUICtrlListView_SetItemText($Listv, 0, $item, 1) If FileGetTime($file, 0, 1) > FileGetTime($File_backup, 0, 1) Then $atualizados += 1 FileCopy($file, $File_backup, 9) GUICtrlSetData($lab[2], "Atualizados: " & $atualizados) Else $mantidos += 1 GUICtrlSetData($lab[1], "Mantidos: " & $mantidos) EndIf EndFunc ;==>_Compare_files Func _Del_line() $item_num = _GUICtrlListView_GetSelectedIndices(GUICtrlGetHandle($Listv)) $item_text[1] = _GUICtrlListView_GetItemText(GUICtrlGetHandle($Listv), Number($item_num)) _GUICtrlListView_DeleteItemsSelected(GUICtrlGetHandle($Listv)) IniDelete(@ScriptDir & "\Config.ini", "PASTAS", $item_text[1]) EndFunc ;==>_Del_line Func _Dir_Backup() $Dir_backup = FileSelectFolder("Procurando pasta.", "", 1) ;GUICtrlSetState($Input, $GUI_FOCUS) GUICtrlSetData($Input, $Dir_backup) IniWrite(@ScriptDir & "\Config.ini", "BACKUP", "endereço", $Dir_backup) EndFunc ;==>_Dir_Backup Func _Gui_backup() GUICreate("Backup Personal - Feito Por Belini", 660, 679, -1, -1) GUICtrlCreateGroup("Diretório para backup ", 352, 11, 290, 69) $But[1] = GUICtrlCreateButton("Incluir endereço", 15, 16, 140, 25) GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif") $But[2] = GUICtrlCreateButton("Excluir endereço", 15, 56, 140, 25) GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif") $But[3] = GUICtrlCreateButton("Arquivos / Subpastas", 170, 16, 170, 25) GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif") $But[4] = GUICtrlCreateButton("Marcar / Desmarcar", 170, 56, 170, 25) GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif") $But[5] = GUICtrlCreateButton("Procurar", 553, 36, 75, 25) GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif") $But[6] = GUICtrlCreateButton("Cancelar", 514, 631, 130, 33) GUICtrlSetFont(-1, 18, 400, 0, "MS Sans Serif") $But[7] = GUICtrlCreateButton("Iniciar", 390, 631, 110, 33) GUICtrlSetFont(-1, 18, 400, 0, "MS Sans Serif") $Input = GUICtrlCreateInput(IniRead(@ScriptDir & "\Config.ini", "BACKUP", "endereço", ""), 368, 38, 183, 21) GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif") $Check = GUICtrlCreateCheckbox("Desligar o computador quando finalizar a tarefa.", 15, 647, 352, 25) GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif") $lab[1] = GUICtrlCreateLabel("Mantidos: 0", 32, 623, 175, 25) GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif") $lab[2] = GUICtrlCreateLabel("Atualizados: 0", 210, 623, 175, 25) GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif") $Listv = GUICtrlCreateListView("Endereço das Pastas|Listar Arquivos|Fazer Backup", 16, 96, 627, 520, _ BitOR($LVS_SHOWSELALWAYS, $LVS_SINGLESEL), BitOR($LVS_EX_GRIDLINES, $LVS_EX_FULLROWSELECT)) GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif") GUICtrlSetColor(-1, 0x000000) _GUICtrlListView_SetColumnWidth($Listv, 0, 395) _GUICtrlListView_SetColumnWidth($Listv, 1, 120) _GUICtrlListView_SetColumnWidth($Listv, 2, 105) _GUICtrlListView_JustifyColumn($Listv, 1, 2) _GUICtrlListView_JustifyColumn($Listv, 2, 2) GUISetState(@SW_SHOW) Local $aArray = IniReadSection(@ScriptDir & "\Config.ini", "PASTAS") _ArraySort($aArray) If Not @error Then For $i = 1 To $aArray[0][0] If FileExists($aArray[$i][0]) Then GUICtrlCreateListViewItem(StringReplace($aArray[$i][0] & $aArray[$i][1], "=|", "|"), $Listv) Else GUICtrlCreateListViewItem($aArray[$i][0] & "|Pasta Inexistente|Não", $Listv) EndIf Next EndIf If IniRead(@ScriptDir & "\Config.ini", "DESLIGAR", "opção", "1") = "1" Then GUICtrlSetState($Check, $GUI_CHECKED) EndFunc ;==>_Gui_backup Func _Opt_Dir() $item_num = _GUICtrlListView_GetSelectedIndices(GUICtrlGetHandle($Listv)) $item_text[1] = _GUICtrlListView_GetItemText(GUICtrlGetHandle($Listv), Number($item_num), 1) $item_text[2] = _GUICtrlListView_GetItemText(GUICtrlGetHandle($Listv), Number($item_num), 2) Switch $item_text[1] Case "Apenas Diretório" _GUICtrlListView_SetItemText($Listv, $item_num, "Incluir Subpastas", 1) IniWrite(@ScriptDir & "\Config.ini", "PASTAS", _GUICtrlListView_GetItemText(GUICtrlGetHandle($Listv), Number($item_num)), "|Incluir Subpastas|" & $item_text[2]) Case "Incluir Subpastas" _GUICtrlListView_SetItemText($Listv, $item_num, "Apenas Diretório", 1) IniWrite(@ScriptDir & "\Config.ini", "PASTAS", _GUICtrlListView_GetItemText(GUICtrlGetHandle($Listv), Number($item_num)), "|Apenas Diretório|" & $item_text[2]) Case "Pasta Inexistente" MsgBox(4096, "", "Diretório inexistente!", 3) EndSwitch EndFunc ;==>_Opt_Dir Func _Opt_Backup() $item_num = _GUICtrlListView_GetSelectedIndices(GUICtrlGetHandle($Listv)) $item_text[1] = _GUICtrlListView_GetItemText(GUICtrlGetHandle($Listv), Number($item_num), 1) $item_text[2] = _GUICtrlListView_GetItemText(GUICtrlGetHandle($Listv), Number($item_num), 2) If $item_text[1] <> "Pasta Inexistente" Then Switch $item_text[2] Case "Sim" _GUICtrlListView_SetItemText($Listv, $item_num, "Não", 2) IniWrite(@ScriptDir & "\Config.ini", "PASTAS", _GUICtrlListView_GetItemText(GUICtrlGetHandle($Listv), Number($item_num)), "|" & $item_text[1] & "|Não") Case "Não" _GUICtrlListView_SetItemText($Listv, $item_num, "Sim", 2) IniWrite(@ScriptDir & "\Config.ini", "PASTAS", _GUICtrlListView_GetItemText(GUICtrlGetHandle($Listv), Number($item_num)), "|" & $item_text[1] & "|Sim") EndSwitch Else MsgBox(4096, "", "Diretório inexistente!", 3) EndIf EndFunc ;==>_Opt_Backup Func _Opt_Finalize() If GUICtrlRead($Check) = 1 Then IniWrite(@ScriptDir & "\Config.ini", "DESLIGAR", "opção", "1") Else IniWrite(@ScriptDir & "\Config.ini", "DESLIGAR", "opção", "0") EndIf EndFunc ;==>_Opt_Finalize Func _Start_backup() Local $itens = _GUICtrlListView_GetItemCount($Listv) If $itens > 0 Then $Dir_backup = GUICtrlRead($Input) If FileExists($Dir_backup) Then For $i = 1 To $itens If $proceed = 0 Then ExitLoop $item_text[1] = _GUICtrlListView_GetItemText(GUICtrlGetHandle($Listv), 0, 0) $item_text[2] = _GUICtrlListView_GetItemText(GUICtrlGetHandle($Listv), 0, 1) $item_text[3] = _GUICtrlListView_GetItemText(GUICtrlGetHandle($Listv), 0, 2) If $item_text[2] <> "Pasta Inexistente" And $item_text[3] = "Sim" Then If $item_text[2] = "Incluir Subpastas" Then _Backup_Full($item_text[1], 0) Else _Backup_Files($item_text[1]) EndIf EndIf If $proceed = 1 Then _GUICtrlListView_DeleteItem($Listv, 0) Next If $proceed = 1 Then If GUICtrlRead($Check) = 1 Then Shutdown(1) Else GUICtrlSetState($Listv_Files, $GUI_HIDE) MsgBox(4096, "", "Tarefa Finalizada!") Exit EndIf Else $proceed = 1 _GUICtrlListView_SetItemText($Listv, 0, $item_text[2], 1) _GUICtrlListView_SetItemText($Listv, 0, $item_text[3], 2) EndIf Else MsgBox(4096, "", "Diretório de backup não existe!", 3) EndIf EndIf EndFunc ;==>_Start_backup Baixar arquivos: https://mega.nz/#!cdNw0CaQ!q4r5KYyOXGb-a9dVJeZLz8Le9Z29UobQuhDtYeVZl5g
×