Free Pascal

  • Delphi,Turbo Pascal系の言語を

公式HP


参考URL

コンソールモードPascalプログラミング

https://wiki.freepascal.org/Console_Mode_Pascal/ja

計算機数学 –Pascalプログラミング– - 上越教育大学

https://www.juen.ac.jp/math/nakagawa/computer.pdf


テストプログラム

実行時のコマンドラインパラメータ(文字)を取得、表示

  • 2021-09-18
program cmdParamTest;
 
var
        i: integer;
 
begin
        for i := 0 to ParamCount do begin
                Write(i);
                Write(' : ');
                WriteLn(ParamStr(I));
        end;
end.
  • ParamCountで

上記ソースをcmd.pas 等で保存し、

fpc cmd.pas

として、実行形式、cmdが作成される。
実行結果は以下のような感じです。

$ ./cmd aaaa bbb dddd
0 : /home/isao/free_pascal/cmd
1 : aaaa
2 : bbb
3 : dddd

テキストファイルの読み込み

program ReadFile;
 
uses
 Sysutils;
 
const
  C_FNAME = 'textfile.txt';
 
var
  tfIn: TextFile;
  s: string;
 
begin
  // Give some feedback
  writeln('Reading the contents of file: ', C_FNAME);
  writeln('=========================================');
 
  // Set the name of the file that will be read
  //AssignFile(tfIn, C_FNAME);
  Assign(tfIn, C_FNAME);
 
  // Embed the file handling in a try/except block to handle errors gracefully
//  try
    // Open the file for reading
    reset(tfIn);
 
    // Keep reading lines until the end of the file is reached
    while not eof(tfIn) do
    begin
      readln(tfIn, s);
      writeln(s);
    end;
 
    // Done so close the file
    //CloseFile(tfIn);
    Close(tfIn);
 
//  except
//    on E: EInOutError do
//     writeln('File handling error occurred. Details: ', E.Message);
//  end;
 
  // Wait for the user to end the program
  writeln('=========================================');
  writeln('File ', C_FNAME, ' was probably read. Press enter to stop.');
  readln;
end.