Poprawa godziny
Patryk27
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 :-)
ewentualnie Result := Format('%02d:%02d:%02d', [h, m, s])
No tak, teraz już wiem :)
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... ;)