Q&A

  • 로마숫자를 표기하고싶은데요...
숫자를 로마숫자로 표시하고 싶은데 방법을 잘 모르겠네요.

예를 들어 사용자가 1을 edit에 입력하면 label에 Ⅰ로,2를 입력하면 label에 Ⅱ로..

5이면 Ⅴ로...초보라 어렵네요.

도움 부탁드립니다.^^;;

2  COMMENTS
  • Profile
    2001.06.30 01:24
    Edit1Change Event에 다음과 같이 해주면 될것 같네요



    procedure TForm1.Edit1Change(Sender: TObject);

    var

    i,j : integer;

    begin

    Label1.Caption := '';

    if Edit1.Text = '' then Exit;

    j := length(Edit1.Text);

    for i := 1 to j do

    begin

    case StrToInt(Copy(Edit1.Text,i,1)) of

    1 : Label1.Caption := Label1.Caption + 'Ⅰ';

    2 : Label1.Caption := Label1.Caption + 'Ⅱ';

    3 : Label1.Caption := Label1.Caption + 'Ⅲ';

    4 : Label1.Caption := Label1.Caption + 'Ⅳ';

    5 : Label1.Caption := Label1.Caption + 'Ⅴ';

    6 : Label1.Caption := Label1.Caption + 'Ⅵ';

    7 : Label1.Caption := Label1.Caption + 'Ⅶ';

    8 : Label1.Caption := Label1.Caption + 'Ⅷ';

    9 : Label1.Caption := Label1.Caption + 'Ⅸ';

    end; //Case

    end; // for

    end;



    예) 25 ==> ⅡⅤ



    ------------------------------



    > 숫자를 로마숫자로 표시하고 싶은데 방법을 잘 모르겠네요.

    > 예를 들어 사용자가 1을 edit에 입력하면 label에 Ⅰ로,2를 입력하면 label에 Ⅱ로..

    > 5이면 Ⅴ로...초보라 어렵네요.

    > 도움 부탁드립니다.^^;;

  • Profile
    하나 2001.06.30 03:06
    답변 감사드리고요..

    ^^

    저는 혹 델파이에서 함수로 지원하나 해서요..

    코드값이 있는줄 알고요.

    어쨌든 감사합니다.



    건 wrote:

    > Edit1Change Event에 다음과 같이 해주면 될것 같네요

    >

    > procedure TForm1.Edit1Change(Sender: TObject);

    > var

    > i,j : integer;

    > begin

    > Label1.Caption := '';

    > if Edit1.Text = '' then Exit;

    > j := length(Edit1.Text);

    > for i := 1 to j do

    > begin

    > case StrToInt(Copy(Edit1.Text,i,1)) of

    > 1 : Label1.Caption := Label1.Caption + 'Ⅰ';

    > 2 : Label1.Caption := Label1.Caption + 'Ⅱ';

    > 3 : Label1.Caption := Label1.Caption + 'Ⅲ';

    > 4 : Label1.Caption := Label1.Caption + 'Ⅳ';

    > 5 : Label1.Caption := Label1.Caption + 'Ⅴ';

    > 6 : Label1.Caption := Label1.Caption + 'Ⅵ';

    > 7 : Label1.Caption := Label1.Caption + 'Ⅶ';

    > 8 : Label1.Caption := Label1.Caption + 'Ⅷ';

    > 9 : Label1.Caption := Label1.Caption + 'Ⅸ';

    > end; //Case

    > end; // for

    > end;

    >

    > 예) 25 ==> ⅡⅤ

    >

    > ------------------------------

    >

    > > 숫자를 로마숫자로 표시하고 싶은데 방법을 잘 모르겠네요.

    > > 예를 들어 사용자가 1을 edit에 입력하면 label에 Ⅰ로,2를 입력하면 label에 Ⅱ로..

    > > 5이면 Ⅴ로...초보라 어렵네요.

    > > 도움 부탁드립니다.^^;;