Содержание
Spell(C : Currency; M : Integer; I0,I1,I2 : String; F0,F1,F2 : String) : String
Сумма в произвольной валюте прописью
Функция Spell возвращает сумму в произвольной валюте прописью (текстом).
Аргумент С это число, для которого будет сформирована подпись.
Аргумент M это род наименования целой части: 0-мужской, 1-женский, 2-средний. (например рубль = 0, крона = 1)
Аргументы I0, I1, I2 это наименования целой части в различных склонениях. I1 - в единственном числе (например: рубль). I2 - для чисел 2, 3, 4 (например: рубля). I0 - для остальных чисел (например: рублей).
Аргументы F0, F1, F2 это наименования дробной части в различных склонениях. I1 - в единственном числе (например: копейка). I2 - для чисел 2, 3, 4 (например: копейки). I0 - для остальных чисел (например: копеек).
Пример:Procedure OnCreate; Var S : String; Begin S := Spell(10495.95c, 0, 'долларов', 'доллар', 'доллара', 'центов', 'цент', 'цента'); Warning('1) '+S); // 1) Десять тысяч четыреста девяносто пять долларов 95 центов S := Spell(10495.95c, 0, 'евро', 'евро', 'евро', 'центов', 'цент', 'цента'); Warning('2) '+S); // 2) Десять тысяч четыреста девяносто пять евро 95 центов S := Spell(10491.95c, 2, 'яблок', 'яблоко', 'яблока', 'долек', 'долька', 'дольки'); Warning('3) '+S); // 3) Десять тысяч четыреста девяносто одно яблоко 95 долек // Для рублей можно так же воспользоваться функцией SpellRur S := SpellRur(100.50c); Warning('X) ' + S); // X) Сто рублей 50 копеек End;
Смотри функцию SpellRur.