P-PROPATH用のエクスポートファイルを自動作成するツール


P-PROPATH用のエクスポートファイルとDEFファイルを自動作成するツールを作ってみた. 使い方は以下の通り.

  1. アーカイブを解凍し,makef90.pasをDelphiのコマンドラインコンパイラdcc32.exeでコンパイルする.
  2. 新物質があればfilelistにファイル名を追加する.
  3. 新関数があればsample.f90とsample.defに記述を追加する.
  4. makef90.exeを実行する.

program makef90;

uses
  Forms, SysUtils, Classes;


const
  DAMMY = 'XXXX';

var
  FileList, F90List, DefList: TStringList;
  Index, LineNo, R: Integer;
  F90Name, LineStr, S: String;
begin
   FileList := TStringList.Create;
   F90List := TStringList.Create;
   DefList := TStringList.Create;

   FileList.LoadFromFile( 'filelist' );
   for Index := 0 to FileList.Count - 1 do
   begin
      F90Name := UpperCase( ChangeFileExt( FileList[ Index ], '' ) );
      F90List.Clear;
      F90List.LoadFromFile( 'sample.f90' );
      for LineNo := 0 to F90List.Count - 1 do
      begin
         LineStr := F90List[ LineNo ];
         R := Pos( DAMMY, LineStr );
         if R <> 0 then
         begin
            LineStr := StringReplace( LineStr, DAMMY, F90Name, [] );
            F90List[ LineNo ] := LineStr;
         end;
      end;
      S := ChangeFileExt( F90Name, '.f90' );
      Delete( S, 1, 1 );
      F90List.SaveToFile( S );

      DefList.Clear;
      DefList.LoadFromFile( 'sample.def' );
      for LineNo := 0 to DefList.Count - 1 do
      begin
         LineStr := DefList[ LineNo ];
         R := Pos( DAMMY, LineStr );
         if R <> 0 then
         begin
            LineStr := StringReplace( LineStr, DAMMY, F90Name, [] );
            DefList[ LineNo ] := LineStr;
         end;
      end;
      DefList.SaveToFile( ChangeFileExt( F90Name, '.def' ) );
   end;

   DefList.Free;
   F90List.Free;
   FileList.Free;
end.


お問い合わせはメールにて: akasaka@klc.ac.jp
SEO [PR] 爆速!無料ブログ 無料ホームページ開設 無料ライブ放送