
O comando GET, da linguagem OPUS, foi reformulado para ser utilizado, também, em aplicativos OpusWin. A sintaxe do comando GET (na OpusWin) é compatível com a sintaxe desse mesmo comando na OPUS, tendo sido adicionadas, apenas, algumas opções, como veremos a seguir. Sedo o objetivo deste manual apresentar apenas os recursos da linguagem OpusWin, recomendamos a leitura dos manuais da OPUS para uma explicação completa e detalhada do comando @ ... SAY e @ ... GET.
Por sua natureza, este comando deve ser utilizado na OpusWin apenas por razões práticas de compatibilidade quando da migração de aplicativos para ambiente gráfico Windows, a partir de aplicativos não gráficos, geralmente, UNIX e aplicações console.
@<lin>,<col> [SAY <expc>] GET <var> [Picture <picture>]
[Valid <expl>] [Message <msg> ]
[CONTEXTid <expn>]
[InitMess <expc>] ...
Read
Onde:
@<lin>,<col>
Especifica as coordenadas da janela de GET. Os tamanhos serão calculados automaticamente pela OpusWin. Os comandos Set Border e Set Color determinam detalhes de apresentação da janela principal e das janelas de GET. Veja o exemplo a seguir e consulte os Manuais da OPUS para maiores detalhes.
Valid <expl>
Especifica uma expressão lógica. Se a expressão é "true", assume-se que o campo <var> está corretamente digitado. Caso contrário, o conteúdo de <var> será tido como inválido, sendo exibida, na Barra de Status, a mensagem especificada em <msg> da cláusula Message.
Message <msg>
Especifica uma mensagem a ser exibida na barra de status quando a expressão lógica <expl> for "false", ou seja o conteúdo do campo sendo processado é inválido.
CONTEXTid <expn>
Especifica um tópico de Ajuda associado com um determinado elemento da janela GET. O parâmetro <expn> especifica o identificador de contexto ("context identifier") associado a um determinado tópico quando o arquivo de Help foi projetado e construído. Consulte os manuais específicos do software utilizado para a elaboração do Help.
InitMess <expc>
Indica a mensagem a ser exibida na Barra de Status, imediatamente antes da execução do comando GET.
Veja a seguir um pequeno exemplo de utilização do comando GET.
$nolib
prog
func vfy_geral(l)
campo1, campo2 = ""
botao = -1
set color to "GR+/B,B/GR+"
set border on
@02,01 SAY "GetBox um: " GET campo1 Picture REP ("X",20);
valid vfy_geral (campo1);
Message "Digite o campo1 ...";
InitMess "Exemplo de Comando Get ...";
CONTEXTid (11)
@04,01 SAY "GetBox dois: " GET campo2 Picture REP ("X",20);
valid vfy_geral (campo2);
Message "Digite o campo2 ...";
InitMess "Exemplo de Comando Get ...";
CONTEXTid (11)
Read
resp=""
@08,01 SAY "Tecle ESC para Sair ..." GET resp
Read
return
func vfy_geral
parameters campo
if empty(campo)
return .f.
endif
mens="campo="+trim(campo)
ret=MessageBox(mens,"MessageBox no Get...","O","I")
return .t.
Observações
Veja a tela gerada pelo programa acima. Recortamos o resultado para focalizar apenas as janelas GET.

