Origin起動時と終了時の処理

目次

グローバル定数、変数、関数を定義

Origin.ini ファイルの[Startup]セクションを使って、Origin起動時にいつでも使用できるグローバル定数、変数、関数を定義できます。

スコープについての詳細は、以下を参照してください。

グローバル定数と変数を定義

FAQ-286 グローバルな変数や定数を定義するを参照してください。

グローバル関数を定義

  1. Originが起動していたら、終了します。
  2. メモ帳などのテキストエディタを新規に起動し、以下の情報を入力します。
    [Main]
    @global = 1;
    // この関数は数値の3乗根を計算する
    function double dCubeRoot(double dVal)
    {
        double xVal;
        if(dVal<0) xVal = -exp(ln(-dVal)/3);
        else xVal = exp(ln(dVal)/3);
        return xVal;
    }
    @global = 0;
            
    
  3. User Filesフォルダ(UFF)に、拡張子.OGS付きの名前を付けて保存します(例: myLTFuncs.ogs)。
  4. UFFフォルダにあるOrigin.iniファイルを参照して、テキストエディタで開きます。
  5. このファイルの[Startup]セクションに、以下の形式で保存した.OGS ファイルの名前を追加します。
    FileN=myLTFuncs.ogs
            
    

    ここで N は 1,2,3,などです。

  6. 変更をOrigin.iniに保存します。
  7. 関数が利用できるか確認するには、Originを起動し、スクリプトウィンドウを開いて、関数名を入力して、その後に括弧内の値と「=」を入力して、Enterキーを押します。
    dCubeRoot(8)=
            
    

    Originは次のように返します。

    dCubeRoot(8)=2
            
    

詳細は、関数のスコープを参照してください。

OEvents.ogsを使ってイベントをトリガする

Originが起動するとき、トリガーとなる複数のイベントがあります。OEvents.OGS ファイルを使って各イベントで実行するようにLabTalkスクリプトをセットすることができます。このOEvents.OGSファイルは、スクリプト実行時に示す [AfterCompileSystem], [BeforeOpenDoc], [OnExitOrigin]複数のセクションを含みます。

次のサンプルは、既存のOriginのコマンドウィンドウの履歴パネルをクリーニングします。
(Origin C関数は[OnExitOrigin] セクションで実行できないので注意してください。Originの終了時にイベントをトリガしたい場合は、常にLabTalkコマンドを使用してください。)

  1. Originフォルダから OEvents.OGS をUser Filesフォルダにコピーします。 別の方法として、Originフォルダからファイルを開くときに、User Filesフォルダに保存します。
  2. [OnExitOrigin] というセクションで、次のスクリプトを追加します。
    // コマンドウィンドウの履歴を保持するファイルをユーザファイルフォルダから削除
    del -f "%YUpDown_Buffer.txt";
    del -f "%YLTHistory.txt";
            
    
  3. OEvents.OGS でセクションを実行するには、User Filesフォルダで Origin.ini を編集します。Originを起動していたら終了し、Origin.ini ファイルを編集し、 [Config] セクションの下にある行を下記のようにコメント解除 (;を消去)します。
    Ogs1 = OEvents
    ; Ogs2 = OEvents
    ; Origin can trigger multiple system events
    ; Uncomment this line and implement event handlers in OEvents.ogs
    
    Note: 1つ以上のイベントハンドラーファイルが Origin.ini に存在していて、名前がOEvents.OGSでないかもしれません。
  4. Originを閉じ、新しいOriginのセッションを起動して、コマンドウィンドウの履歴パネルの内容が消去されているか確認してください。

Origin C関数は、[BeforeOpenDoc]のような、OEvents.OGS の他のセクションから実行できます。サンプルは、OriginCプログラミングガイドOrigin C関数のコンパイル、リンク、ロードページを参照してください。

イベントに結びついたカスタムスクリプトからOrigin C関数を呼び出す必要がある場合、Origin Cファイルがコンパイルされ、関数がスクリプトアクセスできる状態にあることを確実にする必要があります。詳細は Origin C関数のロードとコンパイル をご覧ください。