Fórum Feriado móvel e Datas Comemorativas #353554
13/02/2008
0
Grande abraço.
Jair
Riaj818
Curtir tópico
+ 0Posts
14/02/2008
Riaj818
Gostei + 0
14/02/2008
Marco Salles
Escreva os Métodos :
para o OnClick Do Button
procedure TForm1.Button1Click(Sender: TObject); var ordem,diaSemana,mes,ano:Word; begin try ordem:=strtoint(cbOrdem.Items.Strings[cbOrdem.itemIndex]); diasemana:=cbDiaSemana.itemIndex; mes:=strtoint(cbmes.Items.Strings[cbmes.itemIndex]); ano:=strtoint(edtAno.Text); Showmessage(DatetoStr(RetornarData(Ordem,DiaSemana,mes,ano))); except on e:econverterror do raise exception.Create(´Erro Na Passagem Dos Parâmetros´); end; end;
para a Function RetornarData passando os parâmetros Ordem , DiaSemana , mes e Ano , que é exatamente aquilo que tu queres:
function TForm1.RetornarData(ordem,diaSemana, mes,ano:word): Tdate; var DataInicio,DataFim:Tdate; DiaTeste:integer; DiaFim:Word; mensagem:String; begin try dataInicio:=encodedate(ano,mes,1); DiaTeste:=diaSemana - ((trunc(DataInicio) mod 7)); if diaTeste < 0 Then diaTeste:=DiaTeste+7; diaFim:=(diaTeste+1)+7*(ordem-1); result:=encodedate(ano,mes,diaFim); except on e:econverterror do begin case diaSemana of 0:mensagem:=´Sabado´; 1:mensagem:=´Domingo´; 2:mensagem:=´Segunda´; 3:mensagem:=´Terça´; 4:mensagem:=´Quarta´; 5:mensagem:=´Quinta´; 6:mensagem:=´Sexta´; end; raise exception.Create(´Erro : Possivelmente esta Mes Não permite´+#13+ inttostr(ordem)+´ ´+´Semanas , para o Dia da Semana :´+mensagem); end; end; end;
compile , execute e rode...
espero ter sido util afinal 1 Hora são 1 Hora... hehehehe
Gostei + 0
15/02/2008
Riaj818
Funcionou exatamente como eu preciso. Nunca que eu iria conseguir implementar essa funcionalidade. Em relação a não mudar nada, pode ficar tranqüilo, só irei mudar para componentes Dataware, que é o que eu preciso. Vou colocar você nos créditos do sistema que estou desenvolvendo, pois sem a sua ajuda (digo rotina inteira) eu não iria mesmo conseguir fazer.
Fiquei vários dias pesquisando aqui no fórum, na ajuda do Delphi, dicas, tutoriais, revistas e sei lá mais onde para achar como fazer e nada. Parecia que não tinha jeito.
Valeu cara, grande abraço.
Jair
Gostei + 0
15/02/2008
Marco Salles
Obrigado...
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)