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.
Talk about this page
Nobody has opened a bench for this page yet. Sign in to open one.
