Código
var
conta : smallint;
Texto : string;
const
Unidades: array[0..9] of string = ('','Primeiro ', 'Segundo ', 'Terceiro ', 'Quarto', 'Quinto ',
'Sexto ', 'Sétimo ', 'Oitavo ', 'Nono ');
Dezenas: array[0..9] of string = ('','Décimo ', 'Vigésimo ', 'Trigésimo ', 'Quadragésimo ',
'Quinquagésimo ', 'Sexagésimo ', 'Setuagésimo ', 'Octogésimo ', 'Novagésimo ');
Centenas: array[0..9] of string = ('','Centésimo ', 'Ducentésimo ', 'Tricentésimo ',
'Quadringentésimo ','Quingentésimo ','Sexcentésimo ','Septingentésimo ','Octingentésimo ','Noningentésimo ');
begin
// tira os possiveis espacos em branco.
numero:=trim(numero);
// cria um laço para caminhar na string da direita para esquerda pegando os numeros.
for conta:= length(numero) downto 1 do
Begin
// unidades
if length(numero)-conta =0 then texto := unidades[strtoint(copy(numero,conta,1))];
// dezenas
if length(numero)-conta =1 then texto := dezenas[strtoint(copy(numero,conta,1))]+texto;
// centenas
if length(numero)-conta =2 then texto := centenas[strtoint(copy(numero,conta,1))]+texto;
// milhares
if length(numero)-conta >2 then texto := 'nao sabe contar tanto,ainda.'+texto;
end;
result:=texto;
end;
Planeta Delphi - www.planetadelphi.com.br - Todos os direitos reservados | Copyright 2001-2009