Geração de Dias entre duas datas
Ae galera boa tarde...
Meu problema é o seguinte, to desenvolvendo um sistema para um cursinho e informática e já está quase completo. O problema é que o cliente pediu de última hora pra colocar um controle de chamadas no sistema, ou seja, ele quer que a secretária selecione o aluno no sistema e de acordo com os dias de aula desse aluno o sistema gere todos os dias nos quais o aluno terá aula ex...
[b:0b83fb0fd5]
Aluno: Carlos Eduardo de Andrade
Dias de Aula: Segunda, Quarta e Sexta
Período: 01/01/2004 à 01/10/2004
[/b:0b83fb0fd5]
:cry: minha dúvida é:::
quero saber como faço pra criar um lista com todas as ´segundas, quartas e sextas´ entre essas duas datas...
num sei nem por onde comessar, desde de já agradeço a colaboração de todos e estamos aí a disposição. valeu abraços a todos
Paulo Ricardo
Meu problema é o seguinte, to desenvolvendo um sistema para um cursinho e informática e já está quase completo. O problema é que o cliente pediu de última hora pra colocar um controle de chamadas no sistema, ou seja, ele quer que a secretária selecione o aluno no sistema e de acordo com os dias de aula desse aluno o sistema gere todos os dias nos quais o aluno terá aula ex...
[b:0b83fb0fd5]
Aluno: Carlos Eduardo de Andrade
Dias de Aula: Segunda, Quarta e Sexta
Período: 01/01/2004 à 01/10/2004
[/b:0b83fb0fd5]
:cry: minha dúvida é:::
quero saber como faço pra criar um lista com todas as ´segundas, quartas e sextas´ entre essas duas datas...
num sei nem por onde comessar, desde de já agradeço a colaboração de todos e estamos aí a disposição. valeu abraços a todos
Paulo Ricardo
Paullsoftware
Curtidas 0
Respostas
Uildenei
02/10/2004
fiz pra voce uma solucao simples:
procedure TForm1.Button1Click(Sender: TObject);
const sDias: String = ´2 4 6´;//dias da semana selecionados
//aki os dias comecam de 1 = domingo a 7 = sabado
var dData: TDate;
begin
//pega a data inicial do periodo
dData:=StrToDate(´01/01/2004´);
while dData 0 then //se estiver dentro dos dias selecionados
//formata a data
mem.Lines.Add(DateToStr(dData) + ´ - ´ + FormatDateTime(´dddd´, dData));
//e incrementa um dia
dData:=dData + 1;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
const sDias: String = ´2 4 6´;//dias da semana selecionados
//aki os dias comecam de 1 = domingo a 7 = sabado
var dData: TDate;
begin
//pega a data inicial do periodo
dData:=StrToDate(´01/01/2004´);
while dData 0 then //se estiver dentro dos dias selecionados
//formata a data
mem.Lines.Add(DateToStr(dData) + ´ - ´ + FormatDateTime(´dddd´, dData));
//e incrementa um dia
dData:=dData + 1;
end;
end;
GOSTEI 0
Paullsoftware
02/10/2004
Valeu pela dica, vou testar quando chegar em casa! :D
GOSTEI 0