Usina BRAdvPL Guia
Entrar
← Todos os tópicos
COMANDOPublicado

@ ... GET MULTILINE

@ <nRow>, <nCol> GET [<oMultiGet> VAR] <uVar> MULTILINE [OF <oWnd>] [SIZE <nWidth>, <nHeight>] [WHEN <cbWhen>] [VALID <cbValid>] [READONLY] [NOBORDER] [NO VSCROLL]

Cria um campo TMultiGet para edição ou apresentação de textos com várias linhas.

Interface visualGETMultilineTMultiGetTextoComandos
01 · VISÃO GERAL

Visão geral

O comando @ ... GET MULTILINE cria uma área de texto ligada a uma variável caractere. Durante a compilação, ele é convertido no construtor New() da classe TMultiGet. Por padrão, o componente permite rolagem vertical quando o conteúdo ultrapassa sua altura; também pode ser configurado como somente leitura, sem borda ou sem rolagem vertical.

02 · SINTAXE

Sintaxe

@ <nRow>, <nCol> GET [<oMultiGet> VAR] <uVar> MULTILINE [OF <oWnd>] [SIZE <nWidth>, <nHeight>] [WHEN <cbWhen>] [VALID <cbValid>] [READONLY] [NOBORDER] [NO VSCROLL]

Parâmetros

nRow, nCol
NuméricoObrigatório

Linha e coluna em que a área de texto será posicionada. Com PIXEL, as coordenadas partem do canto superior esquerdo do componente pai.

oMultiGet VAR
ObjetoOpcional

Variável que receberá o objeto TMultiGet. Quando o objeto é informado, VAR deve anteceder a variável editada.

uVar
CaractereObrigatório

Variável caractere cujo texto será apresentado e editado.

MULTILINE
CláusulaObrigatório

Seleciona o controle multilinha. TEXT e MEMO também são aceitos, mas MULTILINE é a forma recomendada.

OF oWnd
ObjetoOpcional

Diálogo, painel, folder ou outro contêiner proprietário. OF é a forma recomendada.

SIZE nWidth, nHeight
NuméricoOpcional

Largura e altura da área de texto.

WHEN cbWhen
LógicoOpcional

Condição que determina se o componente pode receber foco.

VALID cbValid
LógicoOpcional

Validação executada na perda do foco; deve retornar .T. para permitir a saída.

READONLY
CláusulaOpcional

Permite seleção e cópia, mas impede alterações no texto.

NOBORDER / NO BORDER
CláusulaOpcional

Cria o componente sem a borda visual padrão.

NO VSCROLL
CláusulaOpcional

Desabilita a rolagem vertical, mesmo quando existem mais linhas do que a área pode mostrar.

COLOR · SIZE · FONT · PIXEL
CláusulasOpcional

Personalizam cores, dimensões, fonte e sistema de coordenadas.

03 · EXEMPLO PRÁTICO

Edição de observações em várias linhas

#Include "TOTVS.ch"

User Function ExGetMultiline()
    Local oDlg
    Local oObservacao
    Local cObservacao := ""

    Define Dialog oDlg Title "Observações do pedido" ;
        From 100, 100 To 380, 620 Pixel

    @ 15, 20 Get oObservacao Var cObservacao ;
        Multiline Size 250, 90 Of oDlg Pixel ;
        Valid Len(AllTrim(cObservacao)) <= 500

    Activate Dialog oDlg Centered
Return
Resultado esperado

O usuário pode inserir quebras de linha. VALID limita o conteúdo a 500 caracteres antes de permitir a saída.

04 · EXEMPLO PRÁTICO

Texto informativo somente para leitura

#Include "TOTVS.ch"

User Function ExTextoLeitura()
    Local oDlg
    Local cTexto := "Orientações:" + CRLF + ;
        "1. Confira os dados." + CRLF + ;
        "2. Confirme o processamento."

    Define Dialog oDlg Title "Orientações" ;
        From 0, 0 To 260, 520 Pixel

    @ 15, 20 Get cTexto Multiline ReadOnly ;
        Size 220, 75 Of oDlg Pixel NOBORDER

    Activate Dialog oDlg Centered
Return
Resultado esperado

READONLY preserva seleção e cópia; NOBORDER deixa a apresentação mais discreta.

BOAS PRÁTICAS
  • Inclua TOTVS.ch para disponibilizar o comando ao compilador.
  • A variável editada deve ser caractere; use GET comum para valores numéricos ou datas.
  • Prefira a palavra MULTILINE às alternativas TEXT e MEMO para padronização.
  • A barra de rolagem vertical aparece automaticamente quando necessária.
  • Use READONLY para apresentar textos longos que podem ser selecionados e copiados.
  • Prefira OF para explicitar o contêiner proprietário.
  • A documentação oficial alerta que o suporte a COLOR/COLORS foi acrescentado posteriormente; confirme a versão do AppServer e SmartClient em ambientes antigos.
ARMADILHAS COMUNS
  • Sem MULTILINE, TEXT ou MEMO, o pré-compilador pode gerar um TGet de linha única.
  • Quando o objeto é informado, esquecer VAR torna a declaração inválida.
  • NO VSCROLL pode ocultar parte do conteúdo quando ele ultrapassa a altura disponível.
  • VALID e WHEN precisam retornar valores lógicos.
  • Sem OF, o componente será associado à janela ou ao diálogo ativo.
  • Textos muito grandes podem exigir limites, persistência e tratamento específicos da aplicação.

Conteúdos relacionados

REFERÊNCIAS
  1. TOTVS. @ ... GET MULTILINE. TDN. Criado por Julio Wittwer; última alteração em 29 maio 2019.
  2. TOTVS. TMultiGet:New — construtor da classe usada pelo comando. TDN.
  3. Guia de Referência e eADVPL. Documento sem autoria indicada, criado em 28 jul. 2005. Arquivo PDF fornecido ao projeto. Seção relacionada: p. 13–14. Referência histórica; sintaxe conferida prioritariamente em fonte atual.
Situação
Publicado
Página criada em
Última revisão em
Idioma original
Português
Revisão
Usina.BR