Fórum Soma de datas #356835
09/04/2008
0
DBedit4.text:= DateToStr(IncDay(StrToDate(Edit1.Text), dm.QueryCodigo.fieldbyname(´prazo´).AsString;));
O problema é que minha data fica assim se eu somo 21/02/2008 + 4 a data fica meia errada, 250/22/008, entao tentei usar um FormatDateTime e ficou assim
DBEdit9.Text:= DateToStr(IncDay(formatdatetime(´yyyy-mm-dd´,strtodate(DBEdit4.Text))), StrToInt(dm.QueryCodigo.fieldbyname(´prazo´).AsString));
Alguem pode me ajudar?
Pedrodt
Curtir tópico
+ 0Posts
09/04/2008
Pedrodt
Completando, da um erro de Tdatetime and string..
Gostei + 0
09/04/2008
Fknyght
´99/99/9999;1; ´ e tente o codigo abaixo
Var
Data : TDateTime;
begin
try
Data := StrToDate( MaskEdit1.Text );
except
ShowMessage(´Data inválida´)
end;
end;
Gostei + 0
09/04/2008
Pedrodt
A mascara ja esta editada so que pela query, dei um editmask e o displayformat ficou assim dd/mm/yyyy e o editmask !00/00/0000;1;, isso esta em todos os edits que tem datas.
E agora, uhahuaua.. to ferrado.
Gostei + 0
09/04/2008
Martins
A mascara ja esta editada so que pela query, dei um editmask e o displayformat ficou assim dd/mm/yyyy e o editmask !00/00/0000;1;, isso esta em todos os edits que tem datas.
E agora, uhahuaua.. to ferrado.[/quote:78b970da23]
Carissímo colega, não encontrei problemas em usar o incremento de dia em uma data usando a mascara do jeito q está.
MaskEdit3.Text := DateToStr(IncDay(Now()+30));
MaskEdit3.Text := DateToStr(IncDay(StrToDate(MaskEdit3.Text)+30));
Seu código não deveria ser assim:
DBedit4.text:= DateToStr(IncDay(StrToDate(Edit1.Text), dm.QueryCodigo.fieldbyname(´prazo´).AsInteger));
Gostei + 0
09/04/2008
Pedrodt
A mascara ja esta editada so que pela query, dei um editmask e o displayformat ficou assim dd/mm/yyyy e o editmask !00/00/0000;1;, isso esta em todos os edits que tem datas.
E agora, uhahuaua.. to ferrado.[/quote:61b1065f48]
Carissímo colega, não encontrei problemas em usar o incremento de dia em uma data usando a mascara do jeito q está.
MaskEdit3.Text := DateToStr(IncDay(Now()+30));
MaskEdit3.Text := DateToStr(IncDay(StrToDate(MaskEdit3.Text)+30));
Seu código não deveria ser assim:
DBedit4.text:= DateToStr(IncDay(StrToDate(Edit1.Text), dm.QueryCodigo.fieldbyname(´prazo´).AsInteger));
amigo, tentei usar o seu codigo mais o erro é o seguinte EConverTerror with message ´101/22/2008´ (a data certa era 10/02/2008) is not is valid date.
Gostei + 0
09/04/2008
Martins
Nobre colega, faça um pequeno teste, apenas para q possa adaptar as tuas necessidades ok!
Partindo do ponto em que seu campo [b:87fabf06de][color=red:87fabf06de]Prazo[/color:87fabf06de][/b:87fabf06de] seria do tipo [b:87fabf06de]String[/b:87fabf06de].
procedure TForm1.Button6Click(Sender: TObject); var Prazo: String; begin Prazo := ´10´; MaskEdit2.Text := DateToStr(IncDay(StrToDate(MaskEdit1.Text)+StrToInt(Prazo)-1)); end;
Nos mostre o seu código como ele está para q possamos fazer as correções.
Gostei + 0
09/04/2008
Pedrodt
procedure TForm1.Button6Click(Sender: TObject); var Prazo: String; begin Prazo := ´10´; MaskEdit2.Text := DateToStr(IncDay(StrToDate(MaskEdit1.Text)+StrToInt(Prazo)-1)); end;
Meu codigo é assim:
procedure TFrmCadArquivo.DBLookupComboBox2Exit(Sender: TObject);
var
prazo:string;
begin
prazo:=´10´;
DBEdit11.Text:=DateToStr(IncDay(strtodate(DBEdit4.text),StrToInt(prazo)));
end;
Ainda da erro como se ele nao conseguisse converter a data, sera que eu errei no displayformat ou algo assim, porque ele nao consegue converter a data, na verdade ele empurra os numeros um campo pra frente ficando xxx/xx/xxx, muito estranho.
Obrigado pelo auxilio e pela atenção de todos, estao sendo muito uteis.
Gostei + 0
09/04/2008
Pedrodt
Gostei + 0
09/04/2008
Martins
Como está seu DisplayFormat para o campo desse DBEdit q vc está usando ?
O formato data do seu PC está dd/mm/aaaa?
Tá estranha essa parada!!!!
Gostei + 0
09/04/2008
Pedrodt
Como está seu DisplayFormat para o campo desse DBEdit q vc está usando ?
O formato data do seu PC está dd/mm/aaaa?
Tá estranha essa parada!!!![/quote:5b962c8147]
Ta assim dd/mm/yyyy o display, se voce tiver email posso mandar o software pra voce ver, se voce aceitar, so nao vai rir pq so iniciante uhahuahua..
Gostei + 0
09/04/2008
Martins
DBEdit4.Text := DateToStr(IncDay(StrToDate(DBEdit3.Text), 30));
deveria funcionar.
Acho q vc terá q ver como estão seus componentes.
Gostei + 0
09/04/2008
Pedrodt
DBEdit4.Text := DateToStr(IncDay(StrToDate(DBEdit3.Text), 30));
Nao aceita meu programa por email so para ver?
acho que é simples..
Gostei + 0
09/04/2008
Martins
Estamos aqui para ajudar.
e-mail: martinsbios@gmail.com
Gostei + 0
09/04/2008
Pedrodt
Gostei + 0
09/04/2008
Martins
Já recebi e olhei, só q o banco q vc me mandou está com problemas, se vc puder postar ou mandar o script das tabelas posso recriá-lo aqui, mas veja o exemplo q deixei no seu e-mail, é coisa básica e usa Cds, mas vc vai ver, lá eu uso o OnEnter no lugar do OnExit, essa prática de envio de código por e-mail não é uma boa para o fórum em si, mas assim q resolvido seu problema seria interessante postar a solução para q mais pessoas com o mesmo problema ou algum problema semelhante tenha uma direção para seguir.
Boa sorte.
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)