GARANTIR DESCONTO

Fórum FormatDateTime em Português. #338990

19/03/2007

0

Olá colegas,

Fiz um programinha que envia e-mails para algumas pessoas, no título do e-mail vai a data do compromisso por extenso: [b:82cf30aa09]FormatDateTime(´dddd, dd ´de´ mmmmm ´de´ yyyy´, IBQCompromissoDT_COMPROMISSO.AsDateTime)[/b:82cf30aa09].

Até aí tudo bem, contudo, o programa está num servidor que roda o Windows Server 2003 (Inglês), então ao texto sai assim: [b:82cf30aa09]Monday, 19 de March de 2007[/b:82cf30aa09].

Como faço pra mudar essa configuração de idioma no meu programa?

Obrigado.


Tenil

Tenil

Responder

Posts

19/03/2007

Massuda

Acredito que seu programa não pode fazer muita coisa em relação ao problema.

O Delphi pega os nomes dos dias da semana e dos meses do Windows. Como o Windows está em inglês, sai tudo em inglês.


Responder

Gostei + 0

19/03/2007

Tenil

Eu sei que tem uma configuração de idioma, é um comando. Que transforma o idioma do programa que está rodando, só não lembro qual é esse comando...

Ele fica independente do idioma do windows.


Responder

Gostei + 0

19/03/2007

Tenil

Lembrei, isso é em asp.

Mas deve haver alguma função por aí que faça isso.


Responder

Gostei + 0

21/03/2007

Tenil

Alguém conhece alguma função que fassa essa converssão?


Responder

Gostei + 0

21/03/2007

Ffabiop

Pois é, vai ter que formatar a data na mão mesmo, usando o decode date para obter o dia, o mes e o ano da data em questão, fazer um case para verificar o mes que está se tratando(1..12) e retornar o nome do mesmo. Por fim a função dayofweek que retorna o dia da semana(1..7) e uma nova estrutura case para testar o dia da semana e retornar o nome...


Responder

Gostei + 0

21/03/2007

Emerson Nascimento

como disse o [b:4403f6e4ef]ffabiop[/b:4403f6e4ef], terá de ser feito na mão.
uma forma simples seria criar constantes com os meses do ano e dias da semana. algo assim:
const
  aMes: array[1..12] of string =
    (´Janeiro´, ´Fevereiro´, ´Março´, ´Abril´, ´Maio´, ´Junho´,
     ´Julho´, ´Agosto´, ´Setembro´, ´Outubro´, ´Novembro´, ´Dezembro´);

  aSemana: array[1..7] of string =
    (´Domingo´, ´Segunda-feira´, ´Terça-feira´, ´Quarta-feira´,
     ´Quinta-feira´, ´Sexta-feira´, ´Sábado´);

depois, você pode criar uma função para montar o extenso da data:
function TFormX.DataExtenso(Data: TDateTime): string;
var
  dia, mes, ano: word;
begin
  decodedate( data, ano, mes, dia );
  Result := Format(´¬s, ¬d de ¬s de ¬d´,
    [aSemana[DayOfWeek(data)], dia, aMes[mes], ano]);
end;

e, para usar, algo como:
ShowMessage(DataExtenso(MonthCalendar1.Date));



Responder

Gostei + 0

21/03/2007

Marco Salles

O delphi pega os nomes definidos nas configuraçoes regionais ... Muitas dessas configuraçoes são copiadas pelo delphi em constantes definidas na biblioteca

Redefina os valores destas cosntantes na abertura de sua aplicação
Assim no Oncreate:
[b:66d60d5d41]para os meses :[/b:66d60d5d41]
longMonthNames[1] :=´janeiro de ´
longMonthNames[2] :=´Fevereiro de ´
longMonthNames[3] :=´Março de ´
longMonthNames[4] :=´Abril de ´
etc...

[b:66d60d5d41]Para os dias da semana[/b:66d60d5d41]
longDayNames[1] :=´é domindo pé de caximbo´ longdayNames[2] :=´é dia acordar com sono ´ longDayNames[3] :=´Tomara que passa rápido ´ longDayNames[4] :=´Hoje tem Vasção na TV ´ longDayNames[5] :=´Quinta nen acredito´ longdayNames[6] :=´Hoje não faço mais nada ´ longDayNames[7] :=´Não deveria acabar Nuca´



Responder

Gostei + 0

21/03/2007

Tenil

Galera obrigado, vou tentar aki.

Valeu mesmo.


Responder

Gostei + 0

21/03/2007

Tenil

[quote:72c6599169=´Marco Salles´]O delphi pega os nomes definidos nas configuraçoes regionais ... Muitas dessas configuraçoes são copiadas pelo delphi em constantes definidas na biblioteca

Redefina os valores destas cosntantes na abertura de sua aplicação
Assim no Oncreate:
[b:72c6599169]para os meses :[/b:72c6599169]
longMonthNames[1] :=´janeiro de ´
longMonthNames[2] :=´Fevereiro de ´
longMonthNames[3] :=´Março de ´
longMonthNames[4] :=´Abril de ´
etc...

[b:72c6599169]Para os dias da semana[/b:72c6599169]
longDayNames[1] :=´é domindo pé de caximbo´ longdayNames[2] :=´é dia acordar com sono ´ longDayNames[3] :=´Tomara que passa rápido ´ longDayNames[4] :=´Hoje tem Vasção na TV ´ longDayNames[5] :=´Quinta nen acredito´ longdayNames[6] :=´Hoje não faço mais nada ´ longDayNames[7] :=´Não deveria acabar Nuca´
[/quote:72c6599169]


Aí Marco, funcionou filé, obrigado.


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar