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
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
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
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
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
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;
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;
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;
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;
Um abraço
Wesley Y
www.lithic.com.br

[Este post ainda não foi associado a uma sequência]
Você está em:
canal Delphi
Publicidade
Wesley Yamazack
Space do autor
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


0
0
