Tipo: TELNET VT100
Executa um menu pop-up
Sintaxe
VTACHOICE(, , , , , [], [],[], [lNaoBranco] , [], [],[]) –> nPosicao
Parâmetros
, e , são as coordenadas do canto superior esquerdo e canto inferior direito da janela. Valores de linha podem variar entre zero e VTMAXROW(), e valores de coluna podem variar entre zero e VTMAXCOL().
é um vetor que contem as cadeias de caracteres que serão exibidas como sendo os itens de menu.
Cada item de menu será mais tarde identificado através de sua posição numérica neste vetor.
é um vetor paralelo de valores lógicos, diretamente relacionados a que especifica os itens de menu que poderão ser selecionados. Os elementos podem ser valores lógicos ou cadeias de caracteres. Caso o elemento seja uma cadeia de caracteres, ele é avaliado como uma expressão macro que deverá retornar um tipo de dado lógico. Em ambos os casos, um valor de falso (.F.) significa que o item de menu correspondente não está disponível, e um valor de verdadeiro (.T.) significa que está disponível.
é o nome de uma função definida pelo usuário que é executada quando uma tecla não reconhecível for pressionada. O nome da função é especificado como uma expressão caractere sem parênteses ou
argumentos. Note que o comportamento de VTACHOICE() é afetado pela presença deste argumento. Consulte o texto abaixo para maiores informações.
é a posição ocupada no vetor de pelo item que aparecer em destaque quando o menu for exibido pela primeira vez. Caso você especifique um item de menu que não esteja disponível, ou caso você não use
argumento algum, o item que aparecer em destaque será o primeiro item selecionável do vetor.
Se for verdadeiro a opções do menu será montado conforme o tamanho da opção desconsiderando os espaços em branco à direita e esquerda. Caso seja negativa ou omitida a opção do menu será montado conforme a dimensão da tela do VTACHOICE definida em e . Conteúdo tem que ser NIL, parâmetro reservado para implementação futura.
É o número da linha da janela na qual o item de menu inicial aparecerá.
Retorna
VTACHOICE() retorna a posição numérica ocupada pelo item de menu selecionado no vetor de . Se o processo de seleção for interrompido, VTACHOICE() retorna zero.
Função de usuário: Da mesma forma que as demais funções de interface com o usuário, VTACHOICE() aceita uma função de usuário. A função de usuário é especificada quando você deseja aninhar invocações da função VTACHOICE() para criar menus hierárquicos ou redefinir teclas.
Modos de VTACHOICE()
0-Inativo
1-Tentativa de passar início da lista
2-Tentativa de passar final da lista
3-Normal
4-tens não selecionados
Após a função de usuário ter executado as operações apropriadas ao modo VTACHOICE(), ela deve retornar um valor que solicite ao VTACHOICE() executar uma operação entre o seguinte conjunto de ações:
Valores de Retorno da Função de Controle de VTACHOICE()
0-Aborta seleção
1-Executa seleção
2-Continua VTACHOICE()
3-Vai para o próximo item cuja primeira letra for a tecla pressionada
Exemplo
acMenuItens := {“Um”,”Dois”, “—–“, “Tres”}
alSelectableItens := {.T., .T., .F., .T.}
nPosition := VTACHOICE(0, 0, 7, 19, acMenuItens, alSelectableItens,”TESTECTRL” )
Function testectrl(modo,nElem,nElemW)
If modo == 1
VtAlert(‘Top’)
Elseif Modo == 2
VtAlert(‘Bottom’)
Else
If VTLastkey() == 27
VtAlert(‘sair’)
VTBeep(3)
return 0
elseIf VTLastkey() == 13
VtAlert(‘ok’)
VtBeep(1)
return 1
Endif
EndIf
Return 2
Estude para provas de certificações em TI com os simulados Bynem