Sign in Join
Wiki copytemporary

Format function/fi

English · Suomi

Muotoilu funktio format muodostaa arvoja merkkijonoksi. Format funktio löytyy käännösyksiköstä SysUtils. Katso sysutils.format on line -dokumentaatiosta perusteellinen selitys.

Syntaksi

Format on ylikuormitettu kahdella tavalla:

pascal
function Format( const Fmt: String; const Args: array of Const) : String;
function Format( const Fmt: String; const Args: array of Const; const FormatSettings: TFormatSettings) : String;

Fmt-merkkijono-argumentti sisältää formaatin määrittelijöitä tai paikkamerkkejä (esim. %d), jotka vastaavat ja korvataan tulos merkkijonossa Args-taulukon arvoilla. array of const voi olla vaihtelevia määriä eri tyyppisiä arvoja, ja sovellustyyppejä varten käytettävät tyypit ovat Real, Integer, Pointer ja String-tyyppejä. TFormatSettings on tietue, joka sisältää numeron, ajan, päivämäärän ja valuutan arvojen haluttuun muotoiluun liittyviä tietoja.

Kunkin tietyn muotoilun määrittelijän muotoilusääntö on:

text
% [ArgumentIndex] ['-'] [width] [. precision] ArgumentType
d Decimal (integer)
e Scientific
f Fixed
g General
m Money
n Number (floating)
p Pointer
s String
u Unsigned decimal
x Heksadesimaali

Kokonaisluvun muotoilu

  %d Tulostaa kokonaisluvun sellaisenaan.
  %8d Tulostaa kokonaisluvun sellaisenaan. Jos numeroiden lukumäärä on pienempi kuin 8 niin luku on vasemmassa reunassa .
  %-8d Tulostaa kokonaisluvun sellaisenaan. Jos numeroiden lukumäärä on pienempi kuin 8 niin luku on oikeassa reunassa (vie 8 merkkiä tilaa).
  %.8d Tulostaa kokonaisluvun sellaisenaan. Jos numeroiden lukumäärä on pienempi kuin 8 niin luvun edessä on etunollat.

Merkkijonon muotoilu

  %s Tulostaa merkkijonon sellaisenaan.
  %8s Tulostaa merkkijonon sellaisenaan. Jos merkkijonossa on vähemmän kuin 8 merkkiä, tuloste on siirretty oikealle. (right-justified).
  %-8s Tulostaa merkkijonon sellaisenaan. Jos merkkijonossa on vähemmän kuin 8 merkkiä, tuloste on vasemmassa reunassa ja loput ovat välilyöntejä (left-justified).

Esimerkki käytöstä

pascal
procedure TForm1.Button1Click(Sender: TObject);
var
  title,  title2,
  underline,
  line, row1, row2, row3,
  fmt : string;
  i : integer;
begin
  fmt := '%-12s';
  title := format(fmt,['Column 1']) + format(fmt,['Column 2']) ;
  for i := 1 to 12 do underline := underline + '-';
  underline := underline + underline ;
  fmt := '%-12d';
  line := format(fmt,[15]) + format(fmt,[8]) ;
  fmt := '%12s';
  title2 := format(fmt,['Column 1']) + format(fmt,['Column 2']) ;
  fmt := '%12d';
  row1 := format(fmt,[15]) + format(fmt,[8]) ;
  row2 := format(fmt,[1005]) + format(fmt,[809]) ;
  fmt := '%12.5d';
  row3 := format(fmt,[1005]) + format(fmt,[809]) ;
  Memo1.Lines.Add( title );
  Memo1.Lines.Add( underline );
  Memo1.Lines.Add( line );
  Memo1.Lines.Add( '' );
  Memo1.Lines.Add( title2 );
  Memo1.Lines.Add( underline );
  Memo1.Lines.Add( row1 );
  Memo1.Lines.Add( row2 );
  Memo1.Lines.Add( row3 );
end;

Edellä olevat lausekkeet luovat joukon merkkijonoja, jotka näyttävät:

text
Column 1    Column 2    
------------------------
15          8
text
    Column 1    Column 2
------------------------
          15           8
        1005         809
       01005       00809

Katso myös


From the Free Pascal wiki, page "Format function/fi", as it stood on 2022-08-06 after a change by Kai Burghardt, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's Licensing page. If you have concerns about this material, message the admin.

Revision 2, last changed by WikiArchive .

Talk about this page

Nobody has opened a bench for this page yet. Sign in to open one.