アプリ版:「スタンプのみでお礼する」機能のリリースについて

Delphi(Pascal)について質問します。

fortranでできるファイルへの配列の出力をDelphiでどのようにプログラムするか教えて頂きたいと思います。
2次元配列a(i,j)の出力はfortranでは以下のようなプログラムになります。
open(10,.省略...) ファイルを指定して開く
do j=1,ny                ループj  
write(10,'(100f10.3)') (a(i,j),i=1,nx) ループi+書き出し
enddo                  ループjの最後尾 
close(10)                ファイルを閉じる

100f10.3というのは小数点3桁の実数で10カラムで表現したものが100個並ぶという意味です。これと同じことをやるDelphiプログラムを教えて頂きたいのですが。私の手元にある本にはやり方が載っていません。
Delphiにはfortranのような数字のカラムを指定するようなフォーマットの調整などできるのでしょうか。よろしくお願いします。

この質問は、C言語について以前質問したものですQNo.3590702。
Delphiではどうなるかと思って質問いたしました。

A 回答 (1件)

Delphiのフォーマットの調整はFormat、FormatFloatなどで可能です。

また、文字列を標準出力するのでしたらWriteだけです。
WindowsXP Pro + Delphi2007で確認しました(インデントは2バイトコード空白に変換)。

program Q3597772;
{$APPTYPE CONSOLE}
uses
 SysUtils;
const
 nx = 100; // 例えばの値
 ny = 5; // 例えばの値
var
 a: array [1..nx, 1..ny] of Double;
 i,j :integer;
 buff: string;
begin
 // 配列aにデータを入れる処理
 :
 for j := 1 to ny do begin
  buff := '';
  for i := 1 to nx do
   buff := buff + Format('%10.3f',[a[i,j]]); // 前0は空白
   //buff := buff + FormatFloat('000000.000',a[i,j]); // 前0付き
  Write(buff);
 end;
end.
    • good
    • 1
この回答へのお礼

回答有難うございます。
まだ試していませんが、これからやってみます。
雰囲気的にC言語に似ているように思いました。

お礼日時:2007/12/18 22:43

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!