• 0
Sign in to follow this  
Vivendo&Aprendendo

Como Alterar A Data

Question

8 answers to this question

Recommended Posts

  • 0

Opa

Quando você puxa a data do sistema sem formatá-la, ou seja,

usando o FormatDateTime por exemplo, o Delphi irá pegar o

formato através da variavél ShortDateFormat da Unit SysUtils.

Então, na inicialização do seu sistema, pra ficar da maneira que

você quer coloque:

ShortDateFormat := 'dd/mm/yyyy';

Existe também o ShortTimeFormat que faz o mesmo só que para

horas...

Mas isso irá apenas afetar o seu sistema, não irá afetar as configurações

regionais do usuário no Windows...

Espero que seja isso que você queria...

abraço

Share this post


Link to post
Share on other sites
  • 0

Hmm deve ter como sim, repare que você pode alterar isto no Painel

de Controle do Windows na categoria "Configurações regionais e de

Idiomas" (Windows XP, 98 não lembro) e como o Windows sempre

grava os dados no registro, então deve ter como sim só tem que

descobrir em qual chave fica estas configurações, eu procurei aqui

e não encontrei...

Mas o ideal é que você faça isso somente no seu sistema, pois por

qual o motivo que você gostaria de afetar o sistema todo?

Se eu achar a chave eu posto aqui!

abraço

Share this post


Link to post
Share on other sites
  • 0

Jeito tem...

Você precisa pesquisar pelas chaves no registro que contenha a string de formatação da data...

No Delphi existe a classe TRegistry.

Veja este exemplo de como acessar o Registro:

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Registry, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

Procedure TForm1.Button1Click(Sender: TObject);
Var
  sAtual: String;
  rgMeuRegistro: TRegistry;
Begin
  rgMeuRegistro := TRegistry.Create;
  rgMeuRegistro.RootKey := HKEY_USERS;
  sAtual := '?';
  With rgMeuRegistro do Begin
    If OpenKey('.DEFAULT\Control Panel\International',False) then
      Begin
        sAtual := ReadString('sShortDate');
        CloseKey;
      End;
    {EndIf}
  End;{With rgMeuRegistro}

  If sAtual='?' then
    ShowMessage('não achou a chave')
  Else
    Begin
      ShowMessage('Atualmente, é '+sAtual+' e agora será alterado para yyyy/mm/dd');
      With rgMeuRegistro do Begin
        If OpenKey('.DEFAULT\Control Panel\International',False) then
          Begin
            // Caso queira mesmo alterar, tire o comentário na linha seguinte.
            // WriteString('sShortDate','yyyy/mm/dd');
            CloseKey;
          End;
        {EndIf}
      End;{With rgMeuRegistro}
    End;
  {EndIf}
End;

End.

Ok?

Espero ter ajudado!

Abraços!

Share this post


Link to post
Share on other sites
  • 0
Hmm deve ter como sim, repare que você pode alterar isto no Painel de Controle do Windows na categoria "Configurações regionais e de Idiomas" (Windows XP, 98 não lembro) e como o Windows sempre grava os dados no registro, então deve ter como sim só tem que descobrir em qual chave fica estas configurações, eu procurei aqui e não encontrei...
Procure no help por SetLocaleInfo, acho que dá.

Abraços

Share this post


Link to post
Share on other sites
  • 0

Opa

Jeito tem...

Você precisa pesquisar pelas chaves no registro que contenha a string de formatação da data...

No Delphi existe a classe TRegistry.

Veja este exemplo de como acessar o Registro:

O jeito que você passou, não só mostra como acessar o registro

como também alterar o que ele quer rs...

abraço

Share this post


Link to post
Share on other sites
  • 0
E aí galera, como faço para alterar o formato da data do computador automaticamente de d/m/aaaa para dd/mm/aaaa.

Preciso que ai acessar meu sistema faça isso sozinho.

Alexandre

Simples... coloque no Create do seu form principal:

ShortDateFormat := 'dd/MM/yyyy';

Apenas lembrando que precisa declarar a Unit SysUtils.

Abraço.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this