Desenvolvimento de Sistemas para Automação Comercial

Voltar

Aba Additional — Produtividade e Layout

A aba Standard tem os blocos básicos; a Additional tem os atalhos de produtividade. São fusões de componentes que eliminam código repetitivo em telas de cadastro, forms modais e layouts responsivos.



TLabeledEdit — Label + Edit em um só

  • É a fusão de um TLabel com um TEdit. Em vez de soltar dois componentes na tela, alinhar e nomear ambos, você solta apenas este. Acelera brutalmente a criação de telas de cadastro extensas.

    No Delphi puro, era comum arrastar um TLabel, um TEdit e trabalhar muito com a propriedade FocusControl do Label para que o clique no label levasse o foco ao edit. O TLabeledEdit já gerencia isso automaticamente.

    Comparação com Delphi/Lazarus antigo: Substituiu o padrão manual de alinhar TLabel + TEdit com FocusControl e o TabOrder configurado individualmente.


TSpeedButton — Botão sem foco (ideal para buscas)

  • É um botão de estilo "flat" (sem borda 3D pesada). O verdadeiro trunfo em sistemas comerciais: ele não recebe foco — não entra na ordem do Tab.

    É o botão ideal para colocar ao lado de um campo de busca (como um botão de "Buscar CEP" ou "Pesquisar Cliente"), pois o usuário pode clicar nele e o cursor de digitação continuará piscando dentro do Edit.

    Cenário clássico em ERP: Um TEdit para o CNPJ e um TSpeedButton com ícone de lupa ao lado. Ao clicar no botão, o sistema consulta o WS da Receita Federal e preenche razão social, endereço e IE. O foco permanece no TEdit, pronto para a próxima digitação.


TBitBtn — Botão com imagem e ModalResult

  • Botão que aceita imagens (Glyphs) nativamente e possui a propriedade ModalResult. Perfeito para telas de confirmação modais.

    Se você configurar o ModalResult dele como mrOk ou mrCancel, não precisa escrever código no evento OnClick para fechar o formulário; ele faz isso sozinho e devolve o resultado para quem chamou.

    Valores úteis de ModalResult: mrOk, mrCancel, mrYes, mrNo, mrAbort, mrRetry, mrIgnore.


TMaskEdit — Campo com máscara rígida

  • Campo de texto com máscara de entrada rígida (ex: CPF, CNPJ, Telefone, CEP). Garante que o usuário preencha o campo exatamente no formato esperado.

    Dica para o Firebird: Salve CNPJ e CPF sempre como VARCHAR(14) e VARCHAR(11) sem máscara (apenas dígitos). A máscara é só para exibição.


TCheckListBox — ListBox com checkboxes

  • Um TListBox onde cada linha tem uma caixinha de marcação. É a melhor escolha de UI nativa para telas de "Permissões de Usuário" ou para selecionar múltiplos itens em lote.


Organização e Layout Responsivo

  • TFlowPanel — Container auto-reflow

    Em vez de posicionar botões com Left e Top fixos, você joga os botões dentro dele. Se a tela do usuário for menor (como um monitor antigo de balcão), ele empurra os botões para a linha de baixo automaticamente, como palavras em um texto.

  • TGridPanel — Container em células proporcionais

    Divide o espaço em células (linhas e colunas) proporcionais. Se você criar um Dashboard com 4 painéis e o usuário maximizar a tela, o TGridPanel redimensiona mantendo as proporções exatas de 50/50.

  • TScrollBox — Barras de rolagem automáticas

    Quando uma tela de configurações não cabe em resoluções menores, jogue tudo dentro de um TScrollBox. Ele cria as barras de rolagem automaticamente quando os componentes internos ultrapassam o tamanho da janela.

  • TSplitter e TPairSplitter — Divisória arrastável

    Permitem que o usuário arraste divisórias para redimensionar painéis na tela em tempo de execução. O TPairSplitter já vem com os dois painéis embutidos — ideal para telas com uma lista à esquerda e detalhes à direita, como o Explorer do Windows.


Grids em Memória

  • TStringGrid — Grid sem banco de dados

    Um grid que não se conecta ao banco de dados. Essencial para ler e exibir arquivos de texto (como o retorno de um arquivo TXT de boleto bancário ou CSV) antes de processar e salvar no Firebird.

  • TValueListEditor — Grid de propriedades (Chave=Valor)

    Excelente para telas de configuração onde o usuário precisa editar pares Chave/Valor, como parâmetros de integração com API ou configurações de conexão.


Estética e Indicadores Visuais

  • TShape — Faróis de Status

    Desenha círculos, quadrados, etc. A melhor utilidade prática em um ERP é criar "faróis de status" nos formulários. Por exemplo: uma bolinha que fica verde se a Sefaz está online, ou vermelha se houver erro de certificado.

  • TBevel — Separador visual leve

    Cria linhas de separação visuais (como o <hr> no HTML) ou caixas de baixo relevo. Ótimo para separar seções de informações em uma tela sem usar o peso de renderização de um TGroupBox.

  • TImage — Logo e fotos de produto

    Para carregar imagens: logos de clientes em relatórios na tela, fotos de produtos em um PDV. Suporta BMP, PNG e JPEG nativamente.


Integração com o Sistema Operacional

  • TTrayIcon — Minimizar para a bandeja do sistema

    Minimiza sua aplicação para a bandeja do sistema (perto do relógio do Windows). Indispensável para criar aplicativos de retaguarda, como um integrador que roda em background sincronizando dados locais com uma API externa do governo (SPED, MDF-e, etc.).

  • TApplicationProperties — Interceptar erros globais

    Componente não-visual fortíssimo. Ele permite interceptar eventos da aplicação inteira. O cenário mais útil: usar o evento OnException dele para capturar qualquer erro de banco de dados estourado no sistema, gravar a mensagem num arquivo de log e exibir uma mensagem amigável para o cliente no lugar do erro técnico do Firebird.

    Comparação com o Firebird: É o equivalente ao WHEN ANY DO de uma Stored Procedure no Firebird, mas operando no nível da aplicação inteira em Pascal.