problema puxando variaveis

Tire suas dúvidas sobre programação em AutoHotkey

Moderator: Gio

cimerio
Posts: 30
Joined: 29 Apr 2019, 15:37

problema puxando variaveis

29 Dec 2020, 09:53

pessoal, pra não ficar uma infinidade de variaveis e linhas, eu estou tentando concentrar variaveis estaticas em um arquivo separado. mas não está funcionando.
nos dois arquivos abaixo, o arquivo principal, nao funciona a variavel %senha% na linha 21 nem o %CurrentMonth%. na linha 548(provavelmente nao funciona outras, mas testei essas duas) podem me dizer onde estou errando?
scriptTest.ahk
(16 KiB) Downloaded 9 times
scriptTest.ahk
(16 KiB) Downloaded 9 times
Attachments
arquivoDados.ahk
(758 Bytes) Downloaded 7 times
User avatar
Gio
Posts: 1095
Joined: 30 Sep 2013, 10:54
Location: Brazil

Re: problema puxando variaveis

30 Dec 2020, 10:30

Bom dia Cimerio.

Testei aqui e foi numa boa, mas usei outro exemplo para facilitar o teste.

Script1 (salvo como teste1.ahk na mesma pasta do script2):

Code: Select all

senha := "exemplo123"

Script2 (salvo como teste2.ahk na mesma pasta do script1).

Code: Select all

#include teste1.ahk
msgbox % senha

Sendo assim, concluo que o problema está nos comandos do seu script em si, e não na inclusão de variáveis contidas em outro script.

Duas possíveis causas para a linha 21 não estar funcionando:

1. Pelo comando #IfWinActive, a hotkey !q está agora condicionada à janela pw3270:A - 10.0.102.50 (com esse exato nome) estar ativa. Isso signfica que a linha 21 não execute no seu script se ela não estiver ativa. Às vezes a janela possui um nome um pouco diferente do que pensamos que ela possui (por exemplo, o nome pode ter um espaço a mais ou então não iniciar exatamente em pw). Você pode usar o comando SetTitleMatchMode logo antes do #IfWinActive para mudar a forma de interpretar o nome da janela (aumentando a possibilidade de um match, pois existe uma configuração onde você pode escrever apenas parte do nome da janela)

2. A linha 21 também está condicionada ao valor da variável chave ser 1, o que só acontece se o inputbox for preenchido com 1.


Investigue essas causas e veja se não está ocorrendo alguma delas. Lembre-se que você pode clicar com o botão direito no ícone de H verde que aparece no canto inferior-direito da tela qunado alguma cript está em execução e selecionar a alternativa "open" para ver quais foram as últimas linhas executadas (na exata ordem em que foram executadas). Também existe a opção de ver o valor atual das variáveis. Estas funcionalidades podem ajudar bastante a entender o que está acontecendo quando scripts com execuções condicionais estão tomando um rumo diferente do esperado.
cimerio
Posts: 30
Joined: 29 Apr 2019, 15:37

Re: problema puxando variaveis

12 Jan 2021, 12:59

Gio, boa tarde.

uma das modificações que tentei fazer era usar a cerquilha

mas se eu usar
#IfWinActive ahk_class Chrome_WidgetWin_0 nao acontece nada quando eu disparo o atalho Alt + W

todavia, se eu usar
IfWinActive ahk_class Chrome_WidgetWin_0
o script dispara :wtf:

Code: Select all

;modo retrato
;navegador chrome

	
#Include arquivoDados.ahk

#IfWinActive ahk_class Chrome_WidgetWin_0
{
!w::

InputBox, chave, Script, Digite o que deseja fazer:`n 1 - Consultar GRU  `n 2 - Retificar GRU em lote `n 3 - Fazer uma DD `n 4 - Pagar uma ajuda de Custo `n 5 - PSS Patronal - recolhimento `n 6 - Pagar uma indenização de transporte `n 7 - Inserir alguma situação em um documento `n 8 - Inserir uma DT simples (1 credor) `n 9 - Solicitar financeiro - solrecfin `n 10 - Consultar solicitação financeiro - conprofin,  , 480, 450, 500, 200

if (chave = "1"){
Gui, new
Gui, Show, w350 h250 Center, Consultar GRU  
User avatar
Gio
Posts: 1095
Joined: 30 Sep 2013, 10:54
Location: Brazil

Re: problema puxando variaveis

13 Jan 2021, 09:51

Bom dia Cimerio.

#IfWinActive (com #) vai condicionar as hotkeys abaixo dele. IfWinActive (sem #) NÃO vai condicionar hotkeys, apenas código. Além disso, IfWinActive colocado acima de uma hotkey NÃO execute quando a hotkey for chamada (logo, nada na hotkey estaria condicionado neste caso).

Você quer condicionar o código à janela do chrome estar ativa certo? Se não em engano o chrome se comporta de uma maneira estranha com relação à classe de janela (ele possui mais de uma), então sugiro tentar condicionar pelo título da janela (configure o SetTitleMatchMode com a opção 2 para facilitar o seu uso do IfWinActive e do #IfWinActive, de modo que você precise apenas providenciar um pedaço do título da janela. O título da janela do Chrome sempre contém a palavra Chrome, por exemplo, mas ela não fica no início do título).
cimerio
Posts: 30
Joined: 29 Apr 2019, 15:37

Re: problema puxando variaveis

15 Jan 2021, 09:17

bom dia, Gio.
com a sua ajuda, consegui ajustar o codigo. e a classe chrome

a unica coisa que está por fazer é funcionar o Esc::ExitApp

se eu colocar ele no arquivo principal ou no de variaveis, elas nao funcionam.
se eu colocar ele abaixo das variaveis, no arquivo que é puxado, ele não cunciona.

há um conflito entre esse comando e o #include

Return to “Ajuda e Suporte Geral”

Who is online

Users browsing this forum: No registered users and 2 guests