Wiki-kopiopeilipalvelin

Tämä on pascal.chatin wikin peilipalvelin. Muokkaus, historia ja kirjautuminen ovat siellä.

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.

Versio 2, viimeksi muokannut WikiArchive .