TECH SOLUTIONS PARTICIPA DO CONBRAI 2016 EM SÃO PAULO

Qua 21 Set - 14:35 por Miro



Comentários: 0


Abrir caixa de diálogo apenas se determinada condição for atendida

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

Abrir caixa de diálogo apenas se determinada condição for atendida

Mensagem  andrewandrade em Seg 18 Fev - 8:12

Criamos uma série de scripts que realizam testes específicos, sendo que cada script abre uma caixa de diálogo solicitando a informação de período (mês e ano) para realização dos testes.

Agora, queremos criar um script que executa todos os demais scripts de uma única vez, e também que o usuário forneça a informação de período apenas uma vez, mas queremos manter ainda a opção de executar os scripts individualmente.
Resumindo, queremos continuar com nossos scripts individuais, caso o usuário queira executar um ou outro script individualmente, e queremos também ter uma opção em que o usuário possa executá-los todos de uma vez, sendo que nessa última, o usuário informaria o período apenas uma vez.

Tentei fazer o seguinte: no script "geral" (script que ordena a execução de todos os outros) existiria um flag que indicaria se o script individual está sendo chamado pelo script geral ou se foi chamado "diretamente". Dentro do script individual, eu colocaria o comando DIALOG dentro do GROUP e faria o teste no flag, somente executando o GROUP se o flag indicasse que o script foi chamado diretamente.

Exemplo:
SCRIPT GERAL (Serve para chamar a execução de todos os outros)

DIALOG .... v_mes ... v_ano ....

v_flag = "TRUE"

DO SCRIPT Script1

v_flag = "FALSE"

_________________________________
SCRIPT1

GROUP IF (MATCH(v_flag;"FALSE"))
DIALOG ... v_mes ... v_ano ...
END

Restante do script
_________________________________

Só que não é permitido usar DIALOG dentro de GROUP, e agora?

andrewandrade

Mensagens : 4
Data de inscrição : 24/01/2013

Voltar ao Topo Ir em baixo

GROUP?

Mensagem  Miro em Seg 18 Fev - 14:25

não entendi bem o uso do GROUP. Usamos o GROUP quando estamos lendo um arquivo linha a linha e queremos tomar uma decisão a cada linha.

entre outras restrições o GROUP não aceita qualquer comando ou parametro de comando que vá mudar a ordem de leitura do arquivo ou provocar o CLOSE do arquivo lido.

DIALOG, entre outros comandos não funciona dentro de um GROUP, mas não entendi se é exatamente este comportamento (Abrir a caixa de dialogo a cada linha do arquivo), que você esperava com esta codificação.

Talvez seja o caso de você ter que colocar um IF antes de cada caixa de dialogo

IF (MATCH(v_flag;"FALSE")) DIALOG1 ... v_mes ... v_ano ...
IF (MATCH(v_flag;"FALSE")) DIALOG2 ... v_mes ... v_ano ...
IF (MATCH(v_flag;"FALSE")) DIALOG3 ... v_mes ... v_ano ...

Miro

Mensagens : 119
Data de inscrição : 24/02/2012

http://www.it-tech.com.br

Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum