problema puxando variaveis

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

Moderator: Gio

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

problema puxando variaveis

Post by cimerio » 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 22 times
scriptTest.ahk
(16 KiB) Downloaded 22 times
Attachments
arquivoDados.ahk
(758 Bytes) Downloaded 21 times
User avatar
Gio
Posts: 1247
Joined: 30 Sep 2013, 10:54
Location: Brazil

Re: problema puxando variaveis

Post by Gio » 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: 45
Joined: 29 Apr 2019, 15:37

Re: problema puxando variaveis

Post by cimerio » 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: 1247
Joined: 30 Sep 2013, 10:54
Location: Brazil

Re: problema puxando variaveis

Post by Gio » 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: 45
Joined: 29 Apr 2019, 15:37

Re: problema puxando variaveis

Post by cimerio » 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
Post Reply

Return to “Ajuda e Suporte Geral”