ActiveDelphi - Índice do Fórum ActiveDelphi
.: O site do programador Delphi! :.
 
 FAQFAQ   PesquisarPesquisar   MembrosMembros   GruposGrupos   RegistrarRegistrar 
 PerfilPerfil   Entrar e ver Mensagens ParticularesEntrar e ver Mensagens Particulares   EntrarEntrar 

[Resolvido] Configurar TFormatSettings

 
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi
Exibir mensagem anterior :: Exibir próxima mensagem  
Autor Mensagem
pestana
Colaborador
Colaborador


Registrado: Sábado, 25 de Junho de 2005
Mensagens: 3147
Localização: Araras-SP

MensagemEnviada: Qua Mar 09, 2022 1:09 pm    Assunto: [Resolvido] Configurar TFormatSettings Responder com Citação

Boa tarde!

Pessoal eu tenho um código muito antigo e vou migrar para a versão mais recente do Delphi.

Código:
public
  aFormatSettings: TFormatSettings;

...

procedure TfrmPrincipal.Formatos;
begin
  GetLocaleFormatSettings(LOCALE_SYSTEM_DEFAULT, aFormatSettings);
  with aFormatSettings do
  begin
    ThousandSeparator := '.';
    DecimalSeparator  := ',';
    DateSeparator     := '/';
    ShortDateFormat   := 'dd/mm/yyyy';
    TimeSeparator     := ':';
    CurrencyString    := 'R$';
    CurrencyFormat    := 0;
    NegCurrFormat     := 12;
    LongDayNames[1]   := 'Domingo';
    LongDayNames[2]   := 'Segunda';
    LongDayNames[3]   := 'Terça';
    LongDayNames[4]   := 'Quarta';
    LongDayNames[5]   := 'Quinta';
    LongDayNames[6]   := 'Sexta';
    LongDayNames[7]   := 'Sábado';
  end;
end;


Eu tenho que instanciar a variável "aFormatSettings := TFormatSettings.Create;" e exclui a linha de código: GetLocaleFormatSettings(LOCALE_SYSTEM_DEFAULT, aFormatSettings);. É isso mesmo? Há necessidade de acrescentar o Locale como parâmetro no create?

Abaixo segue o código modificado:

Código:
procedure TfrmPrincipal.Formatos;
begin
  aFormatSettings := TFormatSettings.Create;
  with aFormatSettings do
  begin
    ThousandSeparator := '.';
    DecimalSeparator  := ',';
    DateSeparator     := '/';
    ShortDateFormat   := 'dd/mm/yyyy';
    TimeSeparator     := ':';
    CurrencyString    := 'R$';
    CurrencyFormat    := 0;
    NegCurrFormat     := 12;
    LongDayNames[1]   := 'Domingo';
    LongDayNames[2]   := 'Segunda';
    LongDayNames[3]   := 'Terça';
    LongDayNames[4]   := 'Quarta';
    LongDayNames[5]   := 'Quinta';
    LongDayNames[6]   := 'Sexta';
    LongDayNames[7]   := 'Sábado';
  end;
end;



Obrigado!
_________________
Ao invés de ficar desanimado no que deu de errado, olhe para frente, aprenda com os erros e veja o que ainda pode ser feito. A determinação e a persistência é uma das etapas para o sucesso.


Editado pela última vez por pestana em Ter Mar 15, 2022 4:07 pm, num total de 1 vez
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Enviar E-mail
natanbh1
Colaborador
Colaborador


Registrado: Terça-Feira, 15 de Março de 2011
Mensagens: 3093
Localização: Belo Horizonte - MG

MensagemEnviada: Ter Mar 15, 2022 11:15 am    Assunto: Responder com Citação

Não há necessidade de acrescentar o Locale como parâmetro no create porque ao omitir essa informação se inicializa um registro TFormatSettings com valores padrão atuais fornecidos pelo sistema operacional.

Será necessário preencher apenas se você deseja um Locale específico independente do Sistema Operacional.

Fonte: https://docwiki.embarcadero.com/Libraries/Sydney/en/System.SysUtils.TFormatSettings.Create
_________________
''A persistência é o caminho para o êxito.''
Charlie Chaplin
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Enviar E-mail
pestana
Colaborador
Colaborador


Registrado: Sábado, 25 de Junho de 2005
Mensagens: 3147
Localização: Araras-SP

MensagemEnviada: Ter Mar 15, 2022 4:06 pm    Assunto: Responder com Citação

Obrigado natan pela ajuda!
_________________
Ao invés de ficar desanimado no que deu de errado, olhe para frente, aprenda com os erros e veja o que ainda pode ser feito. A determinação e a persistência é uma das etapas para o sucesso.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Enviar E-mail
Mostrar os tópicos anteriores:   
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi Todos os horários são GMT - 3 Horas
Página 1 de 1

 
Ir para:  
Enviar Mensagens Novas: Proibido.
Responder Tópicos Proibido
Editar Mensagens: Proibido.
Excluir Mensagens: Proibido.
Votar em Enquetes: Proibido.


Powered by phpBB © 2001, 2005 phpBB Group
Traduzido por: Suporte phpBB