Funkcja, która zwróci nam rzeczownik w odpowiedniej formie, np:
Deklinacja(1, 'bajt’, 'bajty’, 'bajtów’): zwróci 'bajt’
Deklinacja(15, 'minuta’, 'minuty’, 'minut’): zwróci: ’15 minut’
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
function Deklinacja(const AVal: Integer; const AWordA, AWordB, AWordC: String): String; begin if (AVal mod 10 > 1) and (AVal mod 10 < 5) and ((AVal mod 100 >= 10) or (AVal mod 100 <= 21)) then Result := IntToStr(AVal) + ' ' + AWordB else if AVal <> 1 then Result := IntToStr(AVal) + ' ' + AWordC else Result := '1 ' + AWordA; end; |
Użycie:
1 2 3 |
Deklinacja(1, 'bajt', 'bajty', 'bajtów') Deklinacja(15, 'minuta', 'minuty', 'minut') |
(kod na podstawie: http://blog.i64.pl/BlogPio/200612/05-deklinacja-rzeczownika-w-funkcji-licznika/
Autor: Kkkas