프로그래밍 노트

델파이에서 Format 사용례 본문

델파이

델파이에서 Format 사용례

띠리 2007. 8. 23. 15:35

델파이에서 쓰는 Format의 간단한 사용례

■ Format 함수 정의

class function Format ( Const StrFormat : string; Const Args : array of const ) : string;


■ StrFormat 정의 형식

%[Index:][-][표시할 자리수][.0을 채울 자리수]Type

■ 타입 종류

  d = 정수
  e = 지수표시
  f = 소수점 두번째 자리 이후 반올림
  g = 입력된 대로 표시
  m = 통화
  n = 수치 쉼표 표시(소수점 두번째 자리 이후 반올림)
  p = 포인터
  s = 문자열
  u = 부호없는 정수
  x = 16진수

■ 포멧 형식 관련 사용례

  sMsg:String;

  sMsg := '';
  sMsg := sMsg + #13#10 + Format('<%%10d>   = <%10d>', [12345]);
  sMsg := sMsg + #13#10 + Format('<%%-10d>  = <%-10d>', [12345]);
  sMsg := sMsg + #13#10 + Format('<%%.7d>   = <%.7d>', [12345]);
  sMsg := sMsg + #13#10 + Format('<%%10.5d> = <%10.5d>', [12345]);
  sMsg := sMsg + #13#10;
  sMsg := sMsg + #13#10 + Format('<%%7.4d>, [123]       = <%7.4d>', [123]);
  sMsg := sMsg + #13#10 + Format('<%%*.4d>, [7, 123]    = <%*.4d>', [7, 123]);
  sMsg := sMsg + #13#10 + Format('<%%*.*d>, [7, 4, 123] = <%*.*d>', [7, 4, 123]);
  sMsg := sMsg + #13#10;
  sMsg := sMsg + #13#10 + Format('Index Usage = %s %s %s %1:s %s',
                     ['A', 'B', 'C', 'D', 'E']);

▶ 결과

<%10d>   = <     12345>
<%-10d>  = <12345     >
<%.7d>   = <0012345>
<%10.5d> = <     12345>

<%7.4d>, [123]       = <   0123>
<%*.4d>, [7, 123]    = <   0123>
<%*.*d>, [7, 4, 123] = <   0123>

Index Usage = A B C B C

■ 포멧 타입 관련 사용례

  sMsg:String;

  sMsg := '';
  sMsg := sMsg + #13#10 + Format('%%d = %d', [-12345]);
  sMsg := sMsg + #13#10 + Format('%%e = %e', [12345.6789]);
  sMsg := sMsg + #13#10 + Format('%%f = %f', [123.456789]);
  sMsg := sMsg + #13#10 + Format('%%g = %g', [12.3456789]);
  sMsg := sMsg + #13#10 + Format('%%n = %n', [12345.6789]);
  sMsg := sMsg + #13#10 + Format('%%m = %m', [12345.6789]);
  sMsg := sMsg + #13#10 + Format('%%p = %p', [addr(sMsg)]);
  sMsg := sMsg + #13#10 + Format('%%s = %s', ['FormatTest']);
  sMsg := sMsg + #13#10 + Format('%%u = %u', [12345]);
  sMsg := sMsg + #13#10 + Format('%%x = %x', [12345]);

▶ 결과

%d = -12345
%e = 1.23456789000000E+004
%f = 123.46
%g = 12.3456789
%n = 12,345.68
%m = \12,346
%p = 0012F5B4
%s = FormatTest
%u = 12345
%x = 3039

Comments