AutoIt atualiza a entrada com a linha MsgBox para copiar / colar

1
Eu venho fazendo muitos scripts aleatórios ultimamente, nenhum dos quais é realmente útil para qualquer coisa, mas eles me ajudam a entender várias coisas e eu os uso como referência com bastante frequência ... enfim, uma das opções de botão de contorno para uma dos meus scripts é um gerador de msgbox pop-up que gera um código que posso copiar e colar (há muitas caixas de mensagem no script)
mas estou tendo problemas com a variável sendo exibida na entrada '$ codebox':

$code = "MsgBox(0, $title, $message)"  
GUICtrlSetData($codebox, $code)

isso exibe:

"MsgBox(0, $title, $message)"   

em vez dos dados armazenados dentro da variável.

Posso conter uma variável dentro de uma variável como essa? Eu não estou realmente certo de como fazer isso então .. Alguém tem uma solução possível que eu poderia dar uma olhada? Eu procurei por aí, mas cheguei vazio.

ps: o script atualizado pode ser encontrado aqui

    
por ICE 06.10.2013 / 05:03

1 resposta

2

Possível solução: $ code = MsgBox (0, $ title, $ message)

Mas isso irá disparar e mostrar o MessageBox nesse ponto (não em GUICtrlSetData).

Quando você clica em "ok" no MsgBox, ele retorna o valor da sua ação conforme este link: link

Por isso, $ code retorna 1 - o que indica que você clicou em OK.

EDIT: (Agora que eu entendo o que o ICE queria ter) Use este código:

$code = 'MsgBox(0, ' & '"' & $title & '"' & ', ' & '"' & $message & '"' & ')'

Ok antes que você (e outros) me atire com WTF e todo o "e" uso, deixe-me explicar:

Quando você imprime $ code, ele gera:

MsgBox(0, "test", "messages and messages and messages")

Esse código, como o ICE gostaria, é algo que pode ser copiado e usado imediatamente no código do ICE. Daí porque a necessidade de usar aspas simples (') para bloquear o texto e colocar aspas duplas (") como um texto normal - para gerar o código acima.

Se eu não colocar uma combinação de aspas simples e duplas, elas serão geradas (algo que descobri depois de testar):

MsgBox(0, test, messages and messages and messages)

E esse código acima não funcionará depois de copiar e colar simples no AutoIt. Você precisa adicionar essas aspas (duplas ou simples).

AutoIT trabalha com aspas simples ou duplas como o marcador de texto, então fique com o que você está confortável. Quando você precisar escapar de uma aspa dupla como texto, use aspas simples como marcador de texto e vice-versa.

Espero que isso ajude.

    
por 06.10.2013 / 10:22

Tags