# getmax Version. 1.03 (Sep. 24, 2000) # Written by Hisao Kawaura # ### description: 指定されたデータオブジェクトのy値の最小値を求める # 数値変換結果も考慮する。 # # Usage: このスクリプトを${TOPAZMACRODIR}にコピーし、Macro | File から実行して # ください。 # # Caution: このマクロの実行により受けるいかなる損害も保証しませんので注 # 意してください。マクロを実行する前に、記述された内容を良く確 # 認の上利用してください。 # 作者は、このマクロの著作権を放棄しています。マクロ内容の修正 # は自由です。 # データの最大値を求めるデータオブジェクトのidを取得する。 if (edittext(0, '最大値を求めるデータオブジェクトのidを入力')) { # リターンが入力されたら、edittextの返り値を$idに保管 $id = $_RET; } else { # キャンセルの場合スクリプトを終了 print ("canceled.\n"); exit(1); } # 入力されたidが有効かチェック if($id < 0 || $id >= $graph->frame[$_CUR]->length('data')) { # $idが0より小さいか、dataオブジェクト数より大きい場合は不正 # dataオブジェクトのindexは0から始まることに注意 print ("データオブジェクトのidが不正です。\n"); exit(1); } # データ点数が1以上か $datalength = $graph->frame[$_CUR]->data[$id]->datalength(); if($datalength < 1) { print ("データがありません。\n"); exit(1); } # 最大値の初期値を0番目のy値として、最大値をサーチする # y値は、Y[$i]で参照されるため、数式変換の結果も考慮されることに注意。 # y[$i]で参照されれば、数式変換前の生データの値が考慮される。 $max = $graph->frame[$_CUR]->data[$id]->Y[0]; $datno = 0; for ($i = 1; $i < $datalength; $i++) { $value = $graph->frame[$_CUR]->data[$id]->Y[$i]; if ($value >= $max) { $max = $value; $datno = $i; } } # 結果の表示 print "max value = $max (i = $datno)\n"; exit(0);