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?
problema puxando variaveis
Moderator: Gio
problema puxando variaveis
- Attachments
-
- arquivoDados.ahk
- (758 Bytes) Downloaded 21 times
Re: problema puxando variaveis
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):
Script2 (salvo como teste2.ahk na mesma pasta do script1).
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.
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.
"What is suitable automation? Whatever saves your day for the greater matters."
Barcoder - Create QR Codes and other Barcodes using only Autohotkey !!
Archmage Gray - A fantasy shooter game fully coded in AutoHotkey
Barcoder - Create QR Codes and other Barcodes using only Autohotkey !!
Archmage Gray - A fantasy shooter game fully coded in AutoHotkey
Re: problema puxando variaveis
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
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
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
Re: problema puxando variaveis
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).
#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).
"What is suitable automation? Whatever saves your day for the greater matters."
Barcoder - Create QR Codes and other Barcodes using only Autohotkey !!
Archmage Gray - A fantasy shooter game fully coded in AutoHotkey
Barcoder - Create QR Codes and other Barcodes using only Autohotkey !!
Archmage Gray - A fantasy shooter game fully coded in AutoHotkey
Re: problema puxando variaveis
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
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