DevMedia - asp.net, Java, Delphi, SQL e web Design, tudo em um só lugar!
Bem vindo a DevMedia!
LOGIN:     SENHA:
 
 

Descobrindo Algarismo Romano

Veja neste artigo que tem como objetivo mostrar como podemos descobrir o Algarismo Romano a partir de um determinado número.

Olá galera, vamos a este artigo que tem como objetivo mostrar como podemos descobrir o Algarismo Romano a partir de um determinado número.

Vamos iniciar incluindo em nossa classe do formulário uma function chamada ValorParaRomano.

Veja sua declaração como deveria ficar.

Listagem 1: Declaração da function ValorParaRomano
type
  TForm1 = class(TForm)
  private
    { Private declarations }   
     function ValorParaRomano(pValor: Integer): string;
  public
    { Public declarations }
  end;
Neste momento vamos implementar a mesma usando o CTRL + SHIF + C, em cima da declaração.

Objetivo: Implementar a function que irá fazer a conversão do formato de número para Algarismo Romano.
Listagem 2: Implementação da function ValorParaRomano
function TForm1.ValorParaRomano(pValor: Integer): string;
const
  Numeros: array[1..13] of Integer =
    (1, 4, 5, 9, 10, 40, 50, 90, 100,
    400, 500, 900, 1000);
  Romanos: array[1..13] of string =
    ('I', 'IV', 'V', 'IX', 'X', 'XL',
    'L', 'XC', 'C', 'CD', 'D', 'CM', 'M');
var
  i: Integer;
begin
  Result := '';
  for i := 13 downto 1 do
    while (pValor >= Numeros[i]) do
    begin
      pValor := pValor - Numeros[i];
      Result  := Result + Romanos[i];
    end;
end; 
Com a nossa functiona criada, vamos precisar agora incluir em nosso formulário um TButton, e um TMemo. Coloque ambos em qualquer parte do seu formulário, não vamos nos prender ao Layout neste momento.

Veja como a classe agora esta ficando.

Listagem 3: Inclusão do TMemo e do TButton
type
  TForm1 = class(TForm)
    Button1: TButton;
    Memo1: TMemo;
    procedure Button1Click(Sender: TObject);
  private
    function ValorParaRomano(pValor: Integer): string;
    { Private declarations }
  public
    { Public declarations }
  end;
Agora para que o exemplo esteja completo, vamos ao evento onClick do nosso TButton, e testar a nossa function adicionando o resultado obtido no TMemo, adicionando anteriormente.

Listagem 4: Implementação do evento onClick do TButton
procedure TForm1.Button1Click(Sender: TObject);
begin
  with Memo1.Lines do
  begin
    Clear;
    Add('15 = '   + ValorParaRomano(15));
    Add('986 = '  + ValorParaRomano(986));
    Add('1000 = ' + ValorParaRomano(1000));
  end;
end;
Com este código podemos facilmente converter qualquer valor para romano sem dor de cabeça, e sem tabela para fazer a formatação do valor final. Fico por aqui e até a próxima.

Um abraço
Wesley Y
www.lithic.com.br




    0 COMENTÁRIO

[Fechar]

Este post é fechado - você precisa ter acesso ao post para incluir um comentário.


Nenhum comentário foi postado - seja o primeiro a comentar!



[Este post ainda não foi associado a uma sequência]
Publicidade
Autor
Wesley Yamazack

Graduado em Analise de Sistemas, no ramo de desenvolvimento há mais de 6 anos, onde atuou em empresas de diversos seguimentos como financeiro, comercial, estacionamento, etc. Atualmente analista desenvolvedor terceirizado da Marinha do Brasil, além de desenvolver projetos através da minha empresa Li...


Space do autor
Estatísticas
Favorito:
Comentários:
Feedback:
Utilidade:
0   0
[Fechar]

Você precisa estar logado para dar um feedback.

Clique aqui para efetuar o login
[Fechar]


Este post está fechado. Saiba mais sobre a assinatura MVP!
web-03
DevMedia  |  Anuncie  |  Fale conosco
Hospedagem web por Porta 80 Web Hosting
2012 - Todos os Direitos Reservados a web-03