お知らせ

電子会議

ライブラリ

FDelphi サイト全文検索

Delphi FAQ一覧

サンプル蔵



FDelphi FAQ
15番会議室「FAQ編纂委員会」に寄せられた「よくある質問の答え」

[Q]
形式文字列を使うFormatは便利ですが、ヘルプの説明から形式文字列を作成 するのは骨が折れます。例示があると大変助かりますが。

[A]
 形式文字列を使うたびに、豊富な使用例があるとよいが、と思っていまし
た。SBORLAND および FDELPHI の過去ログから抜粋した使用例に、2・3例を
追加して、コンソール表示させてみたのが以下の例です。
 また、浮動小数点値を Format 形式にする、FormatFloat は過去ログにあ
った例示が少なかったため、ここに入れておきました。
[例]
program FormatStr;

{$APPTYPE CONSOLE}
uses
  Classes,SysUtils;

var
  st1,st2: string;
  i,j,k: integer;
  r: real;

begin
  i:=10; j:=100;                         {コンソールに表示されたもの}
  Writeln(Format('%d',[i]));             {10}
  Writeln(Format('%3d',[i]));            { 10}
  Writeln(Format('%.3d',[i]));           {010}
  Writeln(Format('%03d',[i]));           { 10}
  Writeln(Format('Edit%d',[i]));         {Edit10}
  Writeln(Format('\%3.3d.',[i]));        {\010.}
  Writeln(Format('%d%%',[i]));           {10%}
  Writeln(Format(':%d',[i]));            {:10}
  Writeln(Format('XY%.3d',[i]));         {XY010}
  Writeln(Format('%d,%d',[i,j]));        {10,100}
  Readln;

  r:=i;
  k:=2;
  Writeln(Format('%f',[r]));             {10.00}
  Writeln(Format('%.0f',[r]));           {10}
  Writeln(Format('%4.2f',[r]));          {10.00}
  Writeln(Format('%2.3f ',[r]));         {10.000}
  Writeln(Format('%3.1f 倍',[r]));       {10.0 倍}
  Writeln(Format('%.7d  %f',[7,1.234])); {0000007  1.23}

  Writeln(Format('%n',[r]));             {10.00}
  Writeln(Format('%.0n',[r]));           {10}
  Writeln(Format('%*.*n',[i,k,r]));      {     10.00}
  Writeln(Format('%.0n',[r]));           {10}
  Writeln(Format('%10.0n',[r]));         {        10}

  Writeln(Format('%m',[r]));             {\10}
  Writeln(Format('%12m',[r]));           {         \10}

  Writeln(Format('%X%x%X%x',[i,i+1,i+2,j])); {ABC64}
  Writeln(Format('%x%x%x%x',[1,2,3,4])); {1234}
  Writeln(Format('%.4x',[i]));           {000A}
  Writeln(Format('%4X',[i]));            {   A}
  Writeln(Format('Icon Index is 0x%.4x',[i]));
                                         {Icon Index is 0x000A}
  Writeln(Format('$%02X',[i]));          {'$ A'}

  st1:='東京都'; st2:='出府愛二';
  Writeln(Format('%13s ',[st1]));        {       東京都}
  Writeln(Format('%-10s%-10s%.5d',[st1,st2,i]));
                                  {東京都    出府愛二  00010}
  Readln;

  r:=10.12345;
  Writeln(Format('%f',[r]));             {10.12}
  Writeln(Format('%.0f',[r]));           {10}
  Writeln(Format('%4.2f',[r]));          {10.12}
  Writeln(Format('%2.3f ',[r]));         {10.123}
  Writeln(Format('%3.1f 倍',[r]));       {10.1 倍}
  Writeln(Format('%.7d  %f',[7,1.234])); {0000007  1.23}
  Writeln(Format('%n',[r]));             {10.12}
  Writeln(Format('%.0n',[r]));           {10}
  Writeln(Format('%*.*n',[i,k,r]));      {     10.12}
  Writeln(Format('%.0n',[r]));           {10}
  Writeln(Format('%10.0n',[r]));         {        10}
  Writeln(Format('%m',[r]));             {\10}
  Writeln(Format('%12m',[r]));           {         \10}
  Readln;

  Writeln(FormatFloat('0##',i));         {010}
  Writeln(FormatFloat('#,##0',i));       {10}
  Writeln(FormatFloat('0000',i));        {0010}
  Writeln(FormatFloat('#,###',i));       {10}
  Writeln(FormatFloat('###.0',i));       {10.0}

  Writeln(FormatFloat('0##',r));         {010}
  Writeln(FormatFloat('#,##0',r));       {10}
  Writeln(FormatFloat('0000',r));        {0010}
  Writeln(FormatFloat('#,###',r));       {10}
  Writeln(FormatFloat('###.0',r));       {10.1}
  Readln;
end.


ここにあるドキュメントは NIFTY SERVEの Delphi Users' Forum FDELPHIに寄せられる質問の中から、よくある質問への回答を FDELPHIのメンバーがまとめたものです。 したがって、これらの回答はボーランド株式会社がサポートする公式のものではなく、掲示されている内容についての問い合わせは受けられない場合があります。

Copyright 1996-1998 Delphi Users' ForumFAQ編纂委員会