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:
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 00809Katso myös
- Format
- FloatToStrF
- FormatFloat
- IntToHex - Muuntaa kokonaisluvun heksadesimaaliluvuksi.
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.