Usina BRAdvPL Guia
Entrar
← Todos os tópicos
COMANDOPublicado

@ ... SAY

@ <nRow>, <nCol> SAY [<oSay> PROMPT | VAR] <cText> [PICTURE <cPict>] [OF <oWnd>] [FONT <oFont>] [COLORS <nClrText>, <nClrBack>] [SIZE <nWidth>, <nHeight>] [HTML] [PIXEL]

Cria um componente TSay para apresentar textos, rótulos e valores formatados na interface.

Interface visualSAYTSayTextoRótulosComandos
01 · VISÃO GERAL

Visão geral

O comando @ ... SAY exibe uma expressão caractere em um diálogo, painel, folder ou outro componente visual. Durante a compilação, ele é convertido no construtor New() da classe TSay. O texto pode usar máscara PICTURE, fonte e cores próprias e, quando a cláusula HTML é informada, pode interpretar marcações de formatação em vez de exibi-las literalmente.

02 · SINTAXE

Sintaxe

@ <nRow>, <nCol> SAY [<oSay> PROMPT | VAR] <cText> [PICTURE <cPict>] [OF <oWnd>] [FONT <oFont>] [COLORS <nClrText>, <nClrBack>] [SIZE <nWidth>, <nHeight>] [HTML] [PIXEL]

Parâmetros

nRow, nCol
NuméricoObrigatório

Linha e coluna em que o texto será posicionado. Com PIXEL, as coordenadas partem do canto superior esquerdo do componente pai.

oSay PROMPT / VAR
ObjetoOpcional

Variável que receberá o objeto TSay. Quando o objeto é informado, PROMPT ou VAR deve anteceder a expressão exibida.

cText
CaractereObrigatório

Expressão constante ou variável cujo conteúdo será apresentado.

PICTURE cPict
CaractereOpcional

Máscara usada para formatar o conteúdo apresentado.

OF oWnd
ObjetoOpcional

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

FONT oFont
ObjetoOpcional

Fonte TFont utilizada para apresentar o texto.

COLOR / COLORS nClrText, nClrBack
NuméricoOpcional

Cor do texto e, opcionalmente, cor de fundo.

SIZE nWidth, nHeight
NuméricoOpcional

Largura e altura reservadas para o texto.

HTML
CláusulaOpcional

Faz com que marcações HTML compatíveis sejam interpretadas em vez de exibidas literalmente.

PIXEL / PIXELS
CláusulaOpcional

Indica que posição e tamanho usam coordenadas em pixels; prefira PIXEL para padronização.

03 · EXEMPLO PRÁTICO

Rótulo e valor formatado

#Include "TOTVS.ch"

User Function ExSayValor()
    Local oDlg
    Local oSayTotal
    Local nTotal := 1520.75

    Define Dialog oDlg Title "Resumo do pedido" ;
        From 100, 100 To 240, 520 Pixel

    @ 20, 20 Say "Total:" Size 45, 12 Of oDlg Pixel
    @ 20, 70 Say oSayTotal Prompt nTotal ;
        Picture "@E 999,999.99" Size 100, 12 ;
        Colors CLR_BLUE, CLR_WHITE Of oDlg Pixel

    Activate Dialog oDlg Centered
Return
Resultado esperado

O primeiro SAY funciona como rótulo; o segundo conserva o objeto e apresenta o valor com máscara e cores próprias.

04 · EXEMPLO PRÁTICO

Texto dentro de um painel

#Include "TOTVS.ch"

User Function ExSayPanel()
    Local oDlg
    Local oPanel
    Local oFonte

    Define Dialog oDlg Title "Situação" ;
        From 0, 0 To 200, 460 Pixel

    oFonte := TFont():New("Arial",, -16, .T.)

    @ 10, 15 MsPanel oPanel Prompt "Processamento" ;
        Size 190, 55 Of oDlg Raised

    @ 18, 15 Say "Processamento concluído" ;
        Size 150, 14 Font oFonte ;
        Colors CLR_GREEN, CLR_WHITE Of oPanel Pixel

    Activate Dialog oDlg Centered
Return
Resultado esperado

OF oPanel torna o SAY filho do painel e suas coordenadas passam a ser relativas a ele.

BOAS PRÁTICAS
  • Inclua TOTVS.ch para disponibilizar o comando ao compilador.
  • Use SAY como rótulo de campos ou para apresentar informações que não serão editadas.
  • Use oSay PROMPT quando precisar alterar propriedades ou atualizar o objeto posteriormente.
  • Aplique PICTURE quando a exibição exigir máscara, como valores monetários ou datas.
  • Dimensione SIZE considerando fonte, tradução e textos potencialmente maiores.
  • Prefira OF para tornar explícito o contêiner proprietário.
  • Use HTML apenas quando a formatação for realmente necessária e o ambiente for compatível.
ARMADILHAS COMUNS
  • Quando o objeto é informado, esquecer PROMPT ou VAR torna a declaração inválida.
  • Uma PICTURE incompatível com o conteúdo pode gerar uma apresentação incorreta.
  • Textos traduzidos podem ultrapassar uma largura fixa; reserve espaço ou ajuste o layout por idioma.
  • Conteúdo HTML montado com entrada não confiável pode produzir formatação inesperada; valide e escape os dados incorporados.
  • Sem OF, o componente será associado à janela ou ao diálogo ativo.
  • Misturar PIXEL com outra unidade entre o SAY e seu contêiner pode causar desalinhamento.

Conteúdos relacionados

REFERÊNCIAS
  1. TOTVS. @ ... SAY. TDN. Criado por Julio Wittwer; última alteração em 29 maio 2019.
  2. TOTVS. TSay — construtores da classe usada pelo comando. TDN.
  3. TOTVS. Pictures de formatação em AdvPL. TDN.
  4. 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. 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