Fórum Probleminha Básico com Datas... :( #274407
29/03/2005
0
To no meio de uma rotina que tá funcionando quase que perfeitamente:
Ela é constituida de 2 laços, um laço simboliza o mes e o outro simboliza o dia do mes, e dentro desses laços está uma rotina de insert numa tabela, o que quero, quando eu incluir uma empresa, um calendário anual é incluido também. Eu achava que iria ficar lento, mas está normal (Firebird 1.52 com IBO :)).
Essa é a parte que tá funcionando, vamos ao problema.
dentre os vários campos que tenho, dentro desse insert, tem um campo chamado dia_da_semana, esse campo vai ser alterado de acordo com o ano, mes e dia que for incluido, dentro do laço.
(Esqueçam o restante, focalizem nesse problema abaixo...)
tenho 1 função que fiz, que vai alimentar um método do delphi chamado DayofWeek, ele simplesmente me pede uma data, e me diz, de forma numerica, o dia da semana (feito isso voce pode fazer outra rotina pra informar se é segunda, terça etc.)
Ele tá funcionando, mas quando é para informar o ultimo dia da semana, (o intervalo é de 1 a 7), ele me retorna 31 :(
Vou colocar a funcao e uma rotina exemplo, pra voces terem ideia do problema.
function TFrmEmpresas.concatena_data(const Adia, Ames, AAno: string): TDateTime;
var
junta: string;
begin
junta := ´´;
junta := (Adia)+´/´+(Ames)+´/´+(Aano) ;
result := strtodate(junta);
end;
exemplo de uso:
procedure TFrmEmpresas.Button1Click(Sender: TObject);
var
alimenta: tdate;
begin
inherited;
label1.Caption := datetostr(concatena_data(edit1.Text,edit2.Text,edit3.Text));
alimenta := DayOfWeek(strtodate(label1.Caption));
label2.Caption := copy(datetostr(alimenta),1,2);
end;
quero apenas saber como e por que o danado do ultimo dia da semana está aparecendo com 31.
Assim que eu resolver essaquestão, e se alguem quiser a rotina completa, fala aee que eu coloco.
Grato
Technos
Technos
Curtir tópico
+ 0Posts
29/03/2005
Kapak
Gostei + 0
29/03/2005
Technos
Só quero entender por que no ultimo dia da semana, ele me retorna 31 e nao 7.
Voce teria alguma sugestão ?
Grato
Technos
Gostei + 0
29/03/2005
Rjun
Rogerio
Gostei + 0
29/03/2005
Kapak
alimenta := DayOfWeek(strtodate(label1.Caption)); label2.Caption := copy(datetostr(alimenta),1,2);
Depois vc transforma esse dado em DateToStr e pega as 2 primeiras posições.
Gostei + 0
29/03/2005
Kapak
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)