スクリプトウィンドウやコマンドウィンドウから

 LabTalkを直接実行する2つのウィンドウがあります。(古い) スクリプトウィンドウ と (新しい)コマンドウィンドウです。 各ウィンドウは、1行以上のスクリプトを実行できます。

  • コマンドウィンドウにはプロンプトがあり、プロンプトに入力したすべてのコードを実行します。
  • スクリプトウィンドウには、カーソルだけがあり、Enterキーを押すと、マウスで選択したコードまたはカーソルが存在する行のコードを実行します。
  • どちらのウィンドウもCtrl+Enterキーで実行なしで改行します。Ctrl+Enterキーを使って改行するとき、複数行の実行のためにステートメントの最後にセミコロン;を含める必要があります。
  • スクリプトウィンドウには、メニューの編集:改行を挿入を選択して改行したり、編集メニューのスクリプトの実行をチェックする、またはチェックを外してスクリプトの実行をオフにすることもできます。
  • スクリプトウィンドウとコマンドウィンドウは、X-Functionのオートコンプリートのためのインテリセンスをサポートしています。コマンドウィンドウのみ、コマンド履歴と行履歴の呼び出し(上下の矢印)があります。
  • スクリプトウィンドウでは複数行や長いスクリプトを編集するのが簡単です。

Origin 2023では、Unicode、オートコンプリート、シンタックスカラーリング、フォントサイズのコントロール(Ctrl + マウスによるズーム)をサポートするScintillaベースのスクリプトウィンドウを追加しました。この変更により、特に4kモニタを使用している場合に使いやすくなりました。元のスクリプトウィンドウに戻す場合には@NSW=0にしてください。


以下は、1つのX列と複数のY列の形式でデータを持つワークシートを処理するサンプルスクリプトです。 コードは、すべてのYデータからY値の最大値および最小値を見つけ、すべてのYをその範囲で正規化するものです。

// 最も小さい最小値と最も大きい最大値を探す
double absMin = 1E300;
double absMax = -1E300;
loop(ii,2,wks.ncols)
{
    stats $(ii);
    if(absMin > stats.min) absMin = stats.min;
    if(absMax < stats.max) absMax = stats.max;
}
// 各列をその範囲に正規化
loop(ii,2,wks.ncols)
{
    stats $(ii);
    wcol(ii)-=stats.min;                 // ゼロの最小値にシフト
    wcol(ii)/=(stats.max - stats.min);   // 1に正規化
    wcol(ii)*=(absMax - absMin);         // 範囲に正規化
    wcol(ii)+=absMin;                    // 最小値にシフト
}

スクリプトウィンドウで実行するには、コードを貼り付け、マウスですべてのコードを選択し、Enterキーを押します。(選択したテキストは反転表示されます)

コマンドウィンドウでスクプトを実行するには、コードを貼り付けEnterキーを押します。コードに誤りがある場合、スクリプトウィンドウではすべてを利用して編集することができますが、コマンドウィンドウの履歴パネルでは編集できず、スクリプトすべてを再呼び出しすることもできません。

Originには、コードビルダというスクリプトエディタがあり、これはLabTalkやOrigin Cコードを編集したり、デバッグすることができます。コードビルダを開くには、スクリプトまたはコマンドウィンドウにed.open() と入力するか、標準ツールバーから Button Code Builder.png ボタンを選択します。

スクリプトウィンドウ内のフォントは次の方法で変更できます。

  1. User FilesフォルダのOrigin.iniファイルを開き、 [font] セクションを検索して、 [font] セクション内に以下を貼り付けます。
  2. Originを再起動し、スクリプトウィンドウを確認してフォントとサイズが変更されていることを確認して下さい。
ScriptWindowFontHeight=24
ScriptWindowCharset=0
ScriptWindowFaceName=Times New Roman

文字コードの詳細は、http://msdn.microsoft.com/en-us/library/cc250412.aspx を参照してください。