- 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.
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.