Pular para o conteúdo
Início » Advpl VTABrowse

Advpl VTABrowse

    Tipo: TELNET VT100
    Monta um browse com referencia a um array.
    Sintaxe
    VTABROWSE(<nTopo>, <nEsquerda>, <nBase>, <nDireita>,
    <aCab>, [<aItens>], [<aSize>],
    [<cFuncaoUsuario>],[<nItemInicial>]) –> nPosicao

    Parâmetros
    <nTopo>, <nEsquerda> e <nBase>, <nDireita> 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().
    <aCab>, é um vetor que contem os títulos das colunas
    <aItens>, é um vetor que contem os dados a serem mostrados
    <aSize> , é um vetor que contem o tamanho de cada coluna
    <cFuncaoUsuario> é 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 VTABROWSE() é afetado pela presença deste argumento. Consulte o
    texto abaixo para maiores informações.
    <nItemInicial> é a posição ocupada no vetor de < aItens > 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.
    Retorna
    VTABROWSE() retorna a posição numérica ocupada pelo item de menu selecionado no vetor de <aItens>. Se o
    processo de seleção for interrompido, VTABROWSE() retorna zero.
    Função de usuário: Utilizada da mesma forma que VTACHOICE.
    Modos de VTABROWSE()
    0-Inativo
    1-Tentativa de passar início da lista
    2-Tentativa de passar final da lista
    3-Normal
    4-Itens não selecionados
    Após a função de usuário ter executado as operações apropriadas ao modo VTABROWSE() ela deve retornar um
    valor que solicite ao VTABROWSE() executar uma operaçãao entre o seguinte conjunto de ações:
    Valores de Retorno da Função de Controle de VTABROWSE()
    0-Aborta seleção
    1-Executa seleção
    2-Continua VTABROWSE()
    3-Vai para o próximo item cuja primeira letra for a tecla pressionada
    Exemplo
    #INCLUDE ‘APVT100.CH’
    VTClear
    acab :={"Codigo","Cod ","Descricao ","UM"}
    aSize := {10,4,20,10}
    nPos := 12
    aItens :={{"1010 ",10, "DESCRICAO1","UN "},;
    {"2010 ",20,"DESCRICAO2","CX "},;
    {"2020 ",30,"DESCRICAO3","CX "},;
    {"2010 ",40,"DESCRICAO4","CX "},;
    {"2020 ",50,"DESCRICAO5","CX "},;
    {"3010 ",60,"DESCRICAO6","CX "},;
    {"3020 ",70,"DESCRICAO7","CX "},;
    {"3030 ",80,"DESCRICAO7","CX "},;
    {"3040 ",90,"DESCRICAO7","CX "},;
    {"2010 ",40,"DESCRICAO4","CX "},;
    {"2020 ",50,"DESCRICAO5","CX "},;
    {"3010 ",60,"DESCRICAO6","CX "},;
    {"3020 ",70,"DESCRICAO7","CX "},;

    {"3030 ",80,"DESCRICAO7","CX "},;
    {"3050 ",100,"DESCRICAO7","CX "}}
    npos := VTaBrowse(0,0,7,15,aCab,aItens,aSize,'testectrl',nPos)
    .
    .
    .
    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