Programowanie w języku Delphi » Gotowce

Poprawa godziny

  • 2009-09-16 16:07
  • 3 komentarze
  • 642 odsłony
  • Oceń ten tekst jako pierwszy
Ten artykuł został przeznaczony do usunięcia. Powody możesz znaleźć na stronie: Artykuły do usunięcia.


Pewnie każdego (w każdym razie większość) czasami irytuje wyświetlenie godziny tak: 8:9:5, zamiast tak: 8:09:05 ewentualnie tak 08:09:05

W tym gotowcu pokażę, jak wyświetlić te zera (przy godzinie też):

Uses SysUtils;
{...}
Function WyswietlCzas(SekundeTez: Boolean): String;
Var H, M, S, Res: String;
    Ct          : Set of Char;
Begin
 Res := '';
 H := FormatDateTime('h', Now); // Przypisz godzinę
 M := FormatDateTime('n', Now); // Przypisz minutę
 S := FormatDateTime('s', Now); // Przypisz sekundę
 
 Ct := ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9'];
 
 if LenGth(H) = 1 Then // Można to usunąć, aby do godziny nie było dodawane zero
  if H[1] in Ct Then H := '0'+H; // Można to usunąć, aby do godziny nie było dodawane zero
 
 if LenGth(M) = 1 Then
  if M[1] in Ct Then M := '0'+M;
 
 if LenGth(S) = 1 Then
  if S[1] in Ct Then S := '0'+S;
 
 Res := H + TimeSeparator; // Time separator jest zapisane w module SysUtils (ten znak ":")
 if SekundeTez Then Begin
  Res := Res + M + TimeSeparator;
  Res := Res + S;
 End Else Res := Res + M;
 
 Result := Res;
End;

I oczywiście, aby wyświetlić czas piszemy np.:
ShowMessage(WyswietlCzas(False)); // Wyświetli czas, bez sekund (np. 08:13)
ShowMessage(WyswietlCzas(True)); // Wyświetli czas z sekundami (np. 08:05:09)


Teraz już błędnie wyświetlona godzina Cię nie zirytuje :-)

3 komentarze

Drajwer 2009-09-17 03:03

ewentualnie Result := Format('%02d:%02d:%02d', [h, m, s])

Patryk27 2009-09-16 14:44

No tak, teraz już wiem :)

madmike 2009-09-15 20:53

FormatDateTime('hh:nn:ss', Now) - jedno polecenie z odpowiednimi parametrami i nie trzeba pisać masy kodu.

Ct := ['1'..'2'] - tak też można...

"Teraz już błędnie wyświetlona godzina Cię nie zirytuje :-)" - teraz może mnie tylko zirytować rozwlekły i niepotrzebny kod... ;)