Free Pascal

  • Delphi,Turbo Pascal系の言語を

WEBサイト

公式HP

Free Pascal Wiki

仕様等

変数:レコード型

変数:一次元配列


参考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.


DelphiのプログラムのWEB化

 計算条件をテキストボックスに入力し、実行ボタンをクリックすると計算結果を表示するような簡単なDelphiのプログラムをWEB化する場合は、PHPでHTMLを生成してFORMタグを用いた画面を作成し、POSTで入力内容を値を渡すようなCGIプログラムを作成し、その際に入力内容をPHPなどのシェル実行関数でFreePascalのコマンドを実行し内容を受け取れば、Delphiの計算方法のプログラムコードをある程度生かしてDelphiプログラムをWEBアプリへすることができます。出来るといってもそれほど複雑でない場合になります。結果でグラフ作成などがある場合などはJavaScriptなどのフリーのグラフ作成ライブラリを組み合わせると出来ることも増えます。

 FreePascalはUbuntu22.04LTSなどで比較的容易に導入できます。Ubuntu22.04LTSのServer版でも同様です。VPSで利用可能なOSの一つになっている事が多い。


Delphi関係の外部リンク