Urgente... Preciso montar uma grade p/ meu programa.
Estou fazendo um sistema para Rádio e preciso montar uma grade de Breaks. Essa grade, irei usar o DBGrid.
Tenho um form com algumas opções com horários. O Cliente pode montar uma grade dentro de 24 horas com a seguinte configuração:
em 20 em 20 minutos, em 40 e 40, etc.
Ex.
Montar uma grade para amanhã num período de 12 horas, com a configuração de 40 em 40 minutos.
A grade, que seria o DBGRid ficará assim:
8:00
8:40
9:20
10:00
10:40
etc..
Tenho um form com algumas opções com horários. O Cliente pode montar uma grade dentro de 24 horas com a seguinte configuração:
em 20 em 20 minutos, em 40 e 40, etc.
Ex.
Montar uma grade para amanhã num período de 12 horas, com a configuração de 40 em 40 minutos.
A grade, que seria o DBGRid ficará assim:
8:00
8:40
9:20
10:00
10:40
etc..
Shikota
Curtidas 0
Respostas
Aroldo Zanela
20/02/2003
Estou fazendo um sistema para Rádio e preciso montar uma grade de Breaks. Essa grade, irei usar o DBGrid.
Tenho um form com algumas opções com horários. O Cliente pode montar uma grade dentro de 24 horas com a seguinte configuração:
em 20 em 20 minutos, em 40 e 40, etc.
Ex.
Montar uma grade para amanhã num período de 12 horas, com a configuração de 40 em 40 minutos.
A grade, que seria o DBGRid ficará assim:
8:00
8:40
9:20
10:00
10:40
etc..
Segue um exemplo com intervalos de 20 minutos...
function TForm1.IncMinuto(ATime: TDateTime; Delta: Integer): TDateTime; begin Result := IncTime(ATime, 0, Delta, 0, 0); end; function TForm1.IncTime(ATime: TDateTime; Hours, Minutes, Seconds, MSecs: Integer): TDateTime; begin Result := ATime + (Hours div 24) + (((Hours mod 24) * 3600000 + Minutes * 60000 + Seconds * 1000 + MSecs) / MSecsPerDay); if Result < 0 then Result := Result + 1; end; procedure TForm1.Button1Click(Sender: TObject); var Hours: TTime; begin Hours:= EncodeTime(8,0,0,0);// Inicio 08h Memo1.Lines.Clear; while Hours <= EncodeTime(20,0,0,0) do // Até 20h begin Memo1.Lines.Add(TimeToStr(Hours)); Hours:= IncMinuto(Hours,20); end; end;
GOSTEI 0
Shikota
20/02/2003
[quote:64dc080c6a=´Aroldo Zanela´]
Segue um exemplo com intervalos de 20 minutos...
[/quote:64dc080c6a]
Estou fazendo um sistema para Rádio e preciso montar uma grade de Breaks. Essa grade, irei usar o DBGrid.
Tenho um form com algumas opções com horários. O Cliente pode montar uma grade dentro de 24 horas com a seguinte configuração:
em 20 em 20 minutos, em 40 e 40, etc.
Ex.
Montar uma grade para amanhã num período de 12 horas, com a configuração de 40 em 40 minutos.
A grade, que seria o DBGRid ficará assim:
8:00
8:40
9:20
10:00
10:40
etc..
Segue um exemplo com intervalos de 20 minutos...
function TForm1.IncMinuto(ATime: TDateTime; Delta: Integer): TDateTime; begin Result := IncTime(ATime, 0, Delta, 0, 0); end; function TForm1.IncTime(ATime: TDateTime; Hours, Minutes, Seconds, MSecs: Integer): TDateTime; begin Result := ATime + (Hours div 24) + (((Hours mod 24) * 3600000 + Minutes * 60000 + Seconds * 1000 + MSecs) / MSecsPerDay); if Result < 0 then Result := Result + 1; end; procedure TForm1.Button1Click(Sender: TObject); var Hours: TTime; begin Hours:= EncodeTime(8,0,0,0);// Inicio 08h Memo1.Lines.Clear; while Hours <= EncodeTime(20,0,0,0) do // Até 20h begin Memo1.Lines.Add(TimeToStr(Hours)); Hours:= IncMinuto(Hours,20); end; end;
GOSTEI 0