自動更新機能
データファイルが1つでも更新 *されるか,後述する"Ready.flg"というファイルが1番目のデータファイルのディレクトリに存在しなければ自動的に全てのデータファイルの再読み込みを行い,再描画を行う機能です。偏微分方程式(非定常問題)の数値解など,
コンソールアプリケーション(DOSプログラム)のファイル出力を刻々と自動的に図示したい場合などに便利です。選択するとチェックが表示され,自動更新モードとなります。解除したい場合はもう一度選択します。他のグラフ(*.xyg)を読み込むと自動的に解除されます。再読み込みと再描画が完了すると,1番目のデータファイルのディレクトリに"Ready.flg"というダミーテキストファイルが作成されます。次のC言語の例のように,この目印ファイルの存在を調べて,存在すれば次の計算とファイル出力に進むという方法が最も高速なアニメーションを実現できます。"Ready.flg"を削除するタイミングがポイントです。ファイル出力が終了してから削除しないと,XYGrapherによる読み込みの最中にファイル出力が進行する,というエラーが発生してしまいます。
*ただしファイルの作成日時は1秒単位
外部プログラムからの出力値の自動受け渡し
計算上の時刻や,ある位置における計算値や,エネルギー,質量収支など,散布図の他にも出力値を刻々と表示したい場合があります。本ソフトウェアでは,XYGrapher.msgと命名されたテキストファイルを通じて,外部プログラムからの出力値を5個まで取り込むことができます。
各行の文字列を読み取り,凡例や数式中の"#N"をその文字列と置き換えます。ここで,Nは1から5までの整数で,XYGrapher.msgの行番号に対応します。例えば凡例に時間を表示したい場合,"t = ?1"と凡例に入力します。この場合,XYGrapher.msgの先頭行に出力された数値が?1と置き換えられます。
====== "Ready.flg"の活用例 =====
FILE *fp;
do {
  do {
    fclose(fp);
    fp = fopen("Ready.flg", "r");
  }
  while(fp == NULL); // "Ready.flg"が見つかるまで読み込みを試行
  fclose(fp);
  /* 計算ルーチン */
  /* ファイル出力ルーチン */
  unlink("Ready.flg"); // "Ready.flg"を削除
}
while( )