Programalama > DELPHI

Etiketler: roma, rakamı

Ort. 0
Puan ver:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, dxCntner, dxEditor, dxExEdtr, dxEdLib;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Label1: TLabel;
    Edit1: TEdit;
    procedure Button1Click(Sender: TObject);
    procedure Hesapla;
  private
    { Private declarations }
    girsay : Integer;
    modu : Integer;
    kalan : Integer;
    bolen : Integer;
    Sonuc : String;
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.Hesapla;
begin
  kalan := girsay mod bolen;
  modu := girsay div bolen;
  while modu > 0 do
  if bolen=1000 then
  begin
  Sonuc := Sonuc+'M';
  dec(modu) //modu := modu-1;
  end else
  if bolen=900 then
  begin
  Sonuc := Sonuc+'CM';
  dec(modu)
  end else
  if bolen=500 then
  begin
  Sonuc := Sonuc+'D';
  dec(modu)
  end else
  if bolen=400 then
  begin
  Sonuc := Sonuc+'CD';
  dec(modu)
  end else
  if bolen=100 then
  begin
  Sonuc := Sonuc+'C';
  dec(modu)
  end else
  if bolen=90 then
  begin
  Sonuc := Sonuc+'XC';
  dec(modu)
  end else
  if bolen=50 then
  begin
  Sonuc := Sonuc+'L';
  dec(modu)
  end else
  if bolen=40 then
  begin
  Sonuc := Sonuc+'XL';
  dec(modu)
  end else
  if bolen=10 then
  begin
  Sonuc := Sonuc+'X';
  dec(modu)
  end else
  if bolen=9 then
  begin
  Sonuc := Sonuc+'IX';
  dec(modu)
  end else
  if bolen=5 then
  begin
  Sonuc := Sonuc+'V';
  dec(modu)
  end else
  if bolen=4 then
  begin
  Sonuc := Sonuc+'IV';
  dec(modu)
  end else
  if bolen=1 then
  begin
  Sonuc := Sonuc+'I';
  dec(modu)
  end;
  case bolen of
  1   : bolen := 0;
  4   : bolen := 1;
  5   : bolen := 4;
  9   : bolen := 5;
  10  : bolen := 9;
  40  : bolen := 10;
  50  : bolen := 40;
  90  : bolen := 50;
  100 : bolen := 90;
  400 : bolen := 100;
  500 : bolen := 400;
  900 : bolen := 500;
  1000: bolen := 900;
  end;
  girsay := kalan;
end;


procedure TForm1.Button1Click(Sender: TObject);
begin
Sonuc := '';
bolen := 1000;
girsay :=StrToInt(Trim(Edit1.Text));
  while  bolen > 0 do
  Hesapla;
  Label1.Caption :=Sonuc;
  Edit1.SetFocus;
end;

end.;

adilb
adilbicer@gmail.com


Yorumlar                 Yorum Yaz
Bu hazır kod'a ilk yorumu siz yapın!
KATEGORİLER
ASP - 240
ASP.NET - 24
C# - 75
C++ - 174
CGI - 8
DELPHI - 247
FLASH - 49
HTML - 536
PASCAL - 246
PERL - 11
PHP - 160
WML - 9
XML - 2
Copyright © 2002 - 2024 Hazır Kod - Tüm Hakları Saklıdır.
Siteden yararlanırken gizlilik ilkelerini okumanızı tavsiye ederiz.
hazirkod.com bir İSOBİL projesidir.