Einzelnen Beitrag anzeigen

Volker Z.

Registriert seit: 4. Dez 2012
Ort: Augsburg, Bayern, Süddeutschland
419 Beiträge
 
Delphi XE4 Ultimate
 
#16

AW: Uhrzeit Stunden und Minuten abrunden

  Alt 9. Okt 2013, 17:31
Hallo,

Zitat:
Code:
  function MinutesRounded (const Value : Integer) : Word;
  begin
    if Value < 5 then
      Result := 0
    else
      Result := 5 * (Value div 5)
  end;
Sollte 4..0 div 5 nicht immer 0 ergeben und das komplette if-else damit überflüssig sein ?
Ist schon richtig für 0..4. Nur nicht mehr -15..-6. Mit MinutesRounded (m - 15) durchaus möglich. Aus den (etwas wirren) Vorgaben des TE war nicht klar abzuleiten was er den eigentlich erreichen möchte. Deshalb habe ich die negativen Fälle mit dem Rückgabewert 0 behandelt.

Zitat:
Irgendwie klappt es nicht
Und was klappt nicht? Kannst Du mal Infos liefern?

Hast Du es so schon mal versucht
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  h, m, s, z : Word;

  function MinutesRounded (const Value : Integer) : Word;
  begin
   Result := 5 * (Value div 5)
  end;

  function FormatTime (const Hour, Minute : Word) : string;
  begin
   Result := Format ('%.2d:%.2d', [Hour, Minute])
  end;

begin
  DecodeTime (Now, h, m, s, z);

  Edit1.Text := FormatTime (h, m);
  Edit3.Text := FormatTime (h, MinutesRounded (m));
  if m - 15 > -1 then
    Dec (m, 15)
  else
   begin
     m := 50;
     if h - 1 > -1 then
       Dec (h)
     else
       h := 23
   end;
  Edit4.Text := FormatTime (h, MinutesRounded (m));
end;
Gruß
Volker Zeller
  Mit Zitat antworten Zitat