Format function/fi
│
English (en) │
suomi (fi) │
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:
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:
% [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ä
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:
Column 1 Column 2 ------------------------ 15 8
Column 1 Column 2 ------------------------ 15 8 1005 809 01005 00809
Katso myös
- Format
- FloatToStrF
- FormatFloat
- IntToHex - Muuntaa kokonaisluvun heksadesimaaliluvuksi.