System.Write
Delphi
procedure Write([var F: File]; P1; [ ..., PN]); overload;
procedure Write([var F: File]; P1; [ ..., PN]); overload;
プロパティ
種類 | 可視性 | ソース | ユニット | 親 |
---|---|---|---|---|
procedure | public | System.pas | System | System |
説明
型付きファイルまたはテキスト ファイルにデータを書き込みます。
ここで示す Write 手続きの構文は、Write で指定できる引数の数が可変であることを示しています。
型付きファイルの Write 手続き
Delphi コードでは、Write により、ファイルをファイル コンポーネントに書き込みます。F
はファイル変数、V
はそれぞれ F
のコンポーネント型と同じ型の変数です。変数が 1 つ書き込まれるたびに、現在のファイル ポインタの位置は次のコンポーネントに進みます。現在のファイル ポインタの位置がファイルの末尾になると(つまり Eof(F) が True であれば)、ファイルは拡張されます。
テキスト ファイルの Write 手続き
Delphi コードでは、Write により、1 つ以上の値をテキスト ファイルに書き込みます。F
が指定されている場合は、テキスト ファイル変数です。F
が指定されていない場合は、標準ファイル変数 Output
が指定されていると見なされます。P
はそれぞれ、書き込みパラメータです。各書き込みパラメータには、出力式が含まれ、その値がファイルに書き込まれます。書き込みパラメータには、フィールド幅と小数点以下の桁数の指定も含めることができます。各出力式は、Char 型、整数型(Byte、Shortint、Word、Longint、Cardinal)、浮動小数点型(Single、Real、Double、Extended、Currency)、文字列型(PChar、AnsiString、ShortString)、パック文字列、論理型(Boolean、Bool)のいずれかでなければなりません。
書き込みパラメータの形式は次のとおりです。
OutExpr [: MinWidth [: DecPlaces ] ]
OutExpr は出力式です。
MinWidth と DecPlaces は整数型の式です。
- MinWidth には、最小のフィールド幅を指定します。0 より大きくなければなりません。書き込まれる文字数はちょうど MinWidth 個(必要に応じて左側が空白で埋められます)ですが、OutExpr の値が MinWidth より多い文字数で表さなければならないものである場合は別です。その場合には、OutExpr の値を表すのに必要な文字数が書き込まれます。同様に、MinWidth が省略された場合も、OutExpr の値を表すのに必要な文字数が書き込まれます。
- DecPlaces には、いずれかの実数型の固定小数点表現における小数点以下の桁数を指定します。これを指定できるのは、OutExpr がいずれかの実数型で、かつ、MinWidth も指定されている場合に限られます。MinWidth を指定する場合は、0 以上でなければなりません。
文字型値の書き込み: MinWidth を省略すると、OutExpr の文字値がファイルに書き込まれます。指定した場合は、MinWidth - 1 個の空白の後に OutExpr の文字値が書き込まれます。
いずれかの整数型値の書き込み: MinWidth を省略すると、OutExpr の 10 進表現がファイルに書き込まれます。左側に空白は付きません。MinWidth が指定され、その値が 10 進文字列の長さより大きい場合は、その 10 進文字列の前に必要なだけの空白が書き込まれ、フィールド幅が MinWidth になります。
いずれかの実数型値の書き込み: OutExpr の値がいずれかの実数型である場合、その 10 進表現がファイルに書き込まれます。表現形式は、DecPlaces の有無によって異なります。DecPlaces が省略されると(または、あっても値が負なら)、浮動小数点 10 進文字列が書き込まれます。MinWidth も省略されている場合には、MinWidth はデフォルトの 17 と見なされます。指定があっても、MinWidth が 8 未満なら、8 と見なされます。浮動小数点文字列の形式は次のとおりです。
[ | - ] <digit> . <decimals> E [ + | - ] <exponent>
次の表に、出力文字列の構成要素を示します。
構成要素 | 意味 |
---|---|
[ | - ] |
OutExpr の符号に応じて " "(空白)または "-"(ハイフン) |
<digit> |
1 桁の数字。OutExpr が 0 の場合に限り "0" |
<decimals> |
MinWidth-7(最大 10)桁の数字の文字列 |
E |
大文字の E |
[ + | - ] |
指数の符号に応じて指定 |
<exponent> |
2 桁の 10 進指数 |
DecPlaces の指定があると、固定小数点 10 進文字列が書き込まれます。DecPlaces が 216 より大きい場合は 216 と見なされます。固定小数点文字列の形式は次のとおりです。
[<blanks>] [ - ] <digits> [.<decimals>]
メモ: 実数型の実際の精度は 216 桁より小さくなります。Double 型は 10 進で約 16 桁、Single 型は 10 進で約 8 桁です。Delphi RTL では、精度の残りのフィールドを '0' 文字で埋めます。たとえば次のようなコードを実行すると、
writeln(Pi:1:20);
次のように表示されます。
3.14159265358979312000
次の表に、固定小数点文字列の構成要素を示します。
構成要素 | 意味 |
---|---|
[<blanks>] |
MinWidth を満足させる空白数 |
[-] |
OutExpr が負の場合 |
<digits> |
少なくとも 1 桁、先頭にゼロはつけません |
[.<decimals>] |
DecPlaces が 0 より大きいときの小数点以下桁数 |
いずれかの文字列型値の書き込み: MinWidth を省略すると、OutExpr の文字列値がファイルに書き込まれます。左側に空白は付きません。MinWidth が指定され、その値が OutExpr の長さより大きい場合は、その 10 進文字列の前に必要なだけの空白が書き込まれ、フィールド幅が MinWidth になります。
パック文字列型値の書き込み: OutExpr がパック文字列型の場合、長さがパック文字列型要素の数となる文字列の書き出しと同じ効果です。
いずれかの論理型値の書き込み: OutExpr が論理型の場合、OutExpr の値に応じて True または False という文字列の書き出しと同じ効果です。
メモ: Write を使用する場合は、ファイルは出力用に開く必要があります。