Skip to content
Mobius One edited this page Oct 9, 2023 · 22 revisions

Home > Format

⚠ ATENÇÃO! ⚠ Na versão 11.3.1 do Delphi existe um problema interno no FMX Android que embaralha os dígitos, como é possível conferir aqui: RSP-41245

Classes para auxiliar a formatação de valores em campos de texto e rótulos para o usuário. Testado no Delphi 10.3.3, 10.4.2 e 11.2, outras versões podem funcionar.

Framework Classe Delphi Lazarus
Firemonkey (FMX) FMXFormat XE3+ N/A
VCL VCLFormat 7+ N/A
Lazarus (LCL) lclformat N/A 2.0+

Tipos de formatos disponíveis:

Tipo Formato
Data (dia/mês/ano) 99/99/9999
CEP 99.999-999
CEST 99.999.99
CFOP 9.999
CNH AAAAAAAAAAA
CNPJ 99.999.999/9999-99
CNPJorCPF (Dinâmico) utiliza formato CPF ou CNPJ
baseado no total de dígitos
CPF 999.999.999-99
CREA 999999999-9
CRM CRM/LL 999999
Dinheiro R$ 9.999,99
Hora 99:99:99
HoraCurta 99:99
Inscrição Estadual (diferente por estado) 999.999.999/9999 (MG)
NCM 9999.99.99
OAB LL999999
Peso 9,999
Porcentagem 9.999,99%
Telefone (Dinâmico) (99) 9999-9999 ou (99) 99999-9999
Título Eleitor 9999 9999 9999 99
Valor 9.999,99
Veículo Mercosul (placa) AAAAAAA
Veículo Tradicional (placa) LLL-9999
obs: Na tabela acima:
'9' representa número,
'L' representa Letra,
'#' representa qualquer caractere,
'A' representa caractere Alfanumérico (letra e/ou número)

VCLFormat

Exemplo de uso:

  • Formatar um edit para mostrar valor monetário de acordo com o sistema operacional:
uses
  VCLFormat;
  
procedure TForm1.Edit1Change(Sender: TObject);
begin
  Edit1.Formatar(Dinheiro);
end;
  • Pegar um valor monetário formatado em um campo edit para salvar no banco de dados sem os caracteres especiais:
uses
  VCLFormat;
  
procedure TForm1.Edit1Change(Sender: TObject);
begin
  Edit1.Formatar(Dinheiro);
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  valorpago: Float;
begin
  valorpago := StrToFloatDef(Edit1.Decimal, 0);
end;

FMXFormat

Exemplo de uso:

  • Formatar um edit para mostrar valor monetário de acordo com o sistema operacional:
uses
  FMXFormat;
  
procedure TForm1.Edit1Typing(Sender: TObject);
begin
  Edit1.Formatar(Dinheiro);
end;
  • Pegar um valor monetário formatado em um campo edit para salvar no banco de dados sem os caracteres especiais:
uses
  FMXFormat;
  
procedure TForm1.Edit1Typing(Sender: TObject);
begin
  Edit1.Formatar(Dinheiro);
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  valorpago: Float;
begin
  valorpago := StrToFloatDef(Edit1.Decimal, 0);
end;

PascalLibs

Clone this wiki locally