Chiffre arabe --> chiffre romain

Soyez le premier à donner votre avis sur cette source.

Vue 29 468 fois - Téléchargée 712 fois

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

Ajouter un commentaire

Commentaires

Messages postés
155
Date d'inscription
jeudi 6 décembre 2001
Statut
Membre
Dernière intervention
19 avril 2010

Non ce n'est pas par rapport au tiens :)
Messages postés
77
Date d'inscription
samedi 25 janvier 2003
Statut
Membre
Dernière intervention
29 octobre 2018

Si vous parlez de mon source conversion de chiffre en lettre arabe je ne vois pas de simulitude
Messages postés
155
Date d'inscription
jeudi 6 décembre 2001
Statut
Membre
Dernière intervention
19 avril 2010

Charmant façon de me montrer mon erreur !
Merci de l'avoir signalée
Messages postés
4297
Date d'inscription
samedi 19 janvier 2002
Statut
Modérateur
Dernière intervention
9 janvier 2013
29
Moi, je suis fainéant, au lieu de :
if not(Key in ['0','1','2','3','4','5','6','7','8','9', #8])
j'écris :
if not(Key in ['0'..'9', #8])
[;-O]

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.