Chiffre arabe --> chiffre romain

Description

Oui, je sais y a deja une source qui parle de sa mais elle est tellement pas belle aux niveaux de la conception que je vous ai mise la mienne qui me semble un peux mieux mise a part qu'elle va de 0..5000

Source / Exemple :


unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls;

type
  TForm1 = class(TForm)
    GroupBox2: TGroupBox;
    Edit2: TEdit;
    GroupBox3: TGroupBox;
    Edit3: TEdit;
    procedure Edit3Change(Sender: TObject);
    procedure Edit3KeyPress(Sender: TObject; var Key: Char);
  private
    { Déclarations privées }
  public
    { Déclarations publiques }
  end;
const
romains: array[1..7] of char=('I','V','X','L','C','D','M');
var
  Form1: TForm1;
implementation

{$R *.DFM}

procedure TForm1.Edit3Change(Sender: TObject);
var i,k:integer;
begin
if strtoint(edit3.text)<4000 then
BEGIN
edit2.text:='';
for i:=1 to length(edit3.text) do
  begin
    k:=2*(length(edit3.text)-i)+1;
    Case edit3.text[i] of
    '1':edit2.text := edit2.text+romains[k];
    '2':edit2.text := edit2.text+romains[k]+romains[k];
    '3':edit2.text := edit2.text+romains[k]+romains[k]+romains[k];
    '4':edit2.text := edit2.text+romains[k]+romains[k+1];
    '5':edit2.text := edit2.text+romains[k+1];
    '6':edit2.text := edit2.text+romains[k+1]+romains[k];
    '7':edit2.text := edit2.text+romains[k+1]+romains[k]+romains[k];
    '8':edit2.text := edit2.text+romains[k+1]+romains[k]+romains[k]+romains[k];
    '9':edit2.text := edit2.text+romains[k]+romains[k+2];
    end;
  end;
 end;
end;

procedure TForm1.Edit3KeyPress(Sender: TObject; var Key: Char);
begin
if not(Key in ['0'..'9', #8]) then
key:=#0;
end;

end.

Conclusion :


Restriction :
o Chiffre entier de 0..5000

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.