::: 델파이 Tip&Trick :::

델파이 Tip&Trick 성격에 맞지 않는 광고,비방,질문의 글은 즉시 삭제하며
내용을 복사하여 사용할 경우 반드시 이곳(http://www.howto.pe.kr)을 출처로 명시하여 주세요


Category

  김영대(2003-03-07 10:31:28, Hit : 3677, Vote : 938
 숫자를 한글 표기로 바꾸기

unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    Button1: TButton;
    Edit1: TEdit;
    Label1: TLabel;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation
{$R *.DFM}

function Amount(N: Longint): String;
const
  Units: array[0..9] of String = ('', '일', '이', '삼', '사', '오',
                                  '육', '칠', '팔', '구');
  Lower: array[0..3] of String = ('', '십','백','천');
  Higher: array[0..4] of String = ('', '만','억','조','경');
  HighLevel: Integer = 0;
begin
  case N of
    0..9: Result := Result + Units[N];
    10..99:
      Result := Result +
                Amount(N div 10) + Lower[1] + Amount(N mod 10);
    100..999:
      Result := Result +
                Amount(N div 100) + Lower[2] + Amount(N mod 100);
    1000..9999:
      Result := Result +
                Amount(N div 1000) + Lower[3] + Amount(N mod 1000);
    else
    begin
      inc(HighLevel);
      Result := Result +
                Amount(N div 10000) + Higher[HighLevel] + Amount(N mod 10000);
      dec(HighLevel);
    end;
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  try
    Label1.caption := Amount(Trunc(StrToFloat(Edit1.Text)));
  except
    on EConvertError do
      Label1.caption := '정확한 숫자를 입력하세요';
  end;
end;

end.





491   [일반/컴포넌트] TRichEdit 의 선택된 영역만 인쇄하기  김영대 2003/03/07 4597 755
490   [시스템] CPU 종류 구하기  김영대 2003/03/07 4921 1227
489   [시스템] 사운드파일 없이 PC 스피커로 음악연주  김영대 2003/03/07 6852 930
488   [네트웍/인터넷] 프로그램으로 네트워크 드라이브 연결/해제  김영대 2003/03/07 6884 1264
487   [일반/컴포넌트] 윈도우즈 종료와 같은 그늘진 화면 만들기  김영대 2003/03/07 3202 847
486   [일반/컴포넌트] 아이콘 사이트  김영대 2003/03/07 3705 1087
485   [시스템] 윈도우즈 시스템 표준 폰트 구하기  김영대 2003/03/07 3076 855
484   [네트웍/인터넷] RS232 통신  김영대 2003/03/07 7088 1857
483   [일반/컴포넌트] 주어진 영역의 화면 캡처  김영대 2003/03/07 3612 1016
482   [일반/컴포넌트] 숫자를 영문 표기로 바꾸기  김영대 2003/03/07 4303 902
  [일반/컴포넌트] 숫자를 한글 표기로 바꾸기  김영대 2003/03/07 3677 938
480   [일반/컴포넌트] RichEdit 의 내용을 Bitmap 으로 만들기 2  김영대 2003/03/07 3886 1439
479   [COM/OLE] MS-WORD 종료시키기  김영대 2003/03/07 2728 758
478   [윈도우즈 API] 시스템 사운드 연주하기  김영대 2003/03/07 4893 1323
477   [일반/컴포넌트] Algorithm to sort a TStringGrid #2  김영대 2003/03/07 4865 1218
476   [윈도우즈 API] 외부 프로그램의 좌표,상태 구하기  김영대 2003/03/07 3228 1026
475   [윈도우즈 API] 윈도우즈 Telnet 으로 호스트 접속하기  김영대 2003/03/07 4130 1121
474   [일반/컴포넌트] 특정한 폴더로 이동한 DOS 창 띄우기  김영대 2003/03/07 4284 1139
473   [시스템] DOS 명령어 실행하고 결과 받아오기  김영대 2003/03/07 6657 1556
472   [윈도우즈 API] NT의 현재 user가 administrative privilege 를 가지고 있는지?  김영대 2003/03/07 3085 824
471   [일반/컴포넌트] 두개의 StringGrid sync 마추기  김영대 2003/03/07 3759 1018
470   [일반/컴포넌트] 윈도우의 title bar 폰트 바꾸기  김영대 2003/03/07 3321 854
469   [네트웍/인터넷] 네트워크 공유 설정/해제 하기 (Windows 9x)  김영대 2003/03/07 4468 1087
468   [네트웍/인터넷] 네트워크 공유 정보 읽어오기 (WIndows 9x)  김영대 2003/03/07 3735 1018
467   [일반/컴포넌트] 눌려진 키보드 키의 명칭 구하기  김영대 2003/03/07 7436 1444
466   [윈도우즈 API] Windows98 에서의 SetForegroundWindow  김영대 2003/03/07 5846 1503
465   [윈도우즈 API] Task bar 에 나타나지 않는 프로그램 만들기  김영대 2003/03/07 5220 1516
464   [COM/OLE] Outlook 사용하기  김영대 2003/03/07 3572 1113
463   [시스템] 지정한 drive가 CD-ROM 인지 검사하기  김영대 2003/03/07 6400 1662
462   [시스템] 어떤 어플리케이션이 시작 되는지 hook으로 알아내기  김영대 2003/03/07 5269 1567
461   [윈도우즈 API] 윈도우즈 탐색기의 아이콘 뽑아내서 사용하기  김영대 2003/03/07 8120 1904
460   [윈도우즈 API] System Images  김영대 2003/03/07 8002 1844
459   [윈도우즈 API] 컴퓨터/파일/폴더 찾기 화면 띄우기  김영대 2003/03/07 7898 1488
458   [일반/컴포넌트] Unix-format time 을 TDateTime 로 바꾸기  김영대 2003/03/07 4148 1126
457   [일반/컴포넌트] 실행시 component 를 Move/Resize 시키기  김영대 2003/03/07 3378 964
456   [일반/컴포넌트] TMemo 를 화면크기로 인쇄하기  김영대 2003/03/07 2840 704
455   [일반/컴포넌트] SpeedButton 에 OnMouseEnter/OnMouseExit 이벤트 넣기  김영대 2003/03/07 4014 1047
454   [윈도우즈 API] 키보드의 Scroll Lock 켜기/끄기  김영대 2003/03/07 4265 1138
453   [데이터베이스] table packing 하기  김영대 2003/03/07 3566 1014
452   [윈도우즈 API] reboot Windows  김영대 2003/03/07 3963 1133

[이전 10개] [1]..[11][12] 13 [14][15][16][17][18][19][20]..[25] [다음 10개]
 

Copyright 1999-2023 Zeroboard / skin by zero