Origin C プログラミングガイド
このマニュアルの内容の最終更新は
2010
年9
月です。このマニュアルの最新の情報は
Originlab
社のwiki
サイトをご覧くださいwiki.OriginLab.com
Copyright © 2011 by OriginLab Corporation
このマニュアルのいかなる部分も、OriginLab Corporationの文書による許可無く、理由の如何に 因らず、どのような形式であっても複製または送信することを禁じます。
OriginLab、Origin、LabTalk
は、OriginLab Corporationの登録商標または商標です。その他、記載されている会社名、製品名は、各社の商標および登録商標です。
このマニュアルは、(株)ライトストーンの協力により、翻訳・制作したものです。
OriginLab Corporation One Roundhouse Plaza Northampton, MA 01060 USA
(413) 586-2013
(800) 969-7720
Fax (413) 585-0126
www.OriginLab.com
目次
1 1 Origin C
のイントロダクション ... 11.1
基本機能 ... 11.2 Hello World
チュートリアル ... 12 2
言語の基本 ... 52.1
データ型と変数 ... 52.1.1 ANSI C
データ型 ... 52.1.2 Origin C のコンポジットデータ型 ... 5
2.1.3
色 ... 62.2
演算子... 8
2.2.1
算術演算子... 8
2.2.2
比較演算子... 9
2.2.3
論理演算子... 10
2.2.4
ビット演算子... 11
2.3
フロー制御ステートメント ... 122.3.1 if
ステートメント ... 122.3.2 switch
ステートメント ... 132.3.3 for
ステートメント... 132.3.4 while
ステートメント ... 142.3.5
ジャンプステートメント ... 142.3.6 foreach
ステートメント ... 152.4
関数 ... 152.4.1
グローバル関数 ... 152.4.2
ユーザ定義関数 ... 162.5
クラス ... 172.5.1 Origin
定義クラス... 17
2.5.2
ユーザ定義クラス... 17
2.6
エラーと例外処理 ... 183 3
事前定義のクラス ... 213.1
分析クラス ... 213.2
アプリケーションコミュニケーションクラス ... 213.3
コンポジットデータ型のクラス ... 223.4
内部Origin
オブジェクトクラス ... 25目次
3.6
ユーザインターフェースのコントロールクラス ... 383.7
ユーティリティクラス ... 434 4 Origin C
コードの作成と使用 ... 454.1 Origin C
ファイルの作成と編集... 454.1.1
概要... 454.1.2
ファイルの種類 ... 464.1.3
ワークスペース表示... 474.1.4
コードビルダのクィックスタート ... 494.2
コンパイル、リンク、ロード... 50
4.2.1
コンパイルとリンク... 504.2.2
ビルドの自動化 ... 514.2.3
スクリプトでビルドする ... 524.2.4
エラーを識別する ... 534.3
デバッグする ... 544.3.1
コードビルダでデバッグする... 54
4.3.2
デバッグのマクロ ... 544.4
コンパイルした関数を使用する ... 564.4.1 LabTalk
スクリプトからOrigin C
関数にアクセスする ... 564.4.2
値の設定ダイアログでの関数を定義する ... 604.5 Origin C
コードを配布する... 61
4.5.1
ソースコードを配布する... 61
4.5.2
アプリケーションを配布する ... 615 5
ワークブックと行列ブック ... 655.1
ワークシート... 66
5.1.1
ワークシートの追加と削除 ... 665.1.2
ワークブック内のワークシートにアクセスする ... 675.1.3
ワークシートを並べ替える... 68
5.1.4
ワークシートをコピーする ... 685.1.5
ワークシートをフォーマットする... 69
5.1.6
セルを統合する... 70
5.2
列 ... 705.2.1
次数... 705.2.2
データ型、フォーマット、サブフォーマット ... 715.2.3
データ操作 ... 725.2.4
列ラベル ... 735.2.5
数式で値をセットする ... 745.3
行列シート ... 745.3.1
行列オブジェクトにアクセスする ... 74目次
5.3.2
行列オブジェクトの追加と削除 ... 755.3.3
データまたはイメージとして表示を設定 ... 755.4
行列 ... 765.4.1
次数... 76
5.4.2
データ型とフォーマット... 76
5.4.3
ラベル... 77
5.4.4
データ値... 79
5.4.5
数式で値をセットする... 80
5.5
仮想行列 ... 805.6
データ操作 ... 815.6.1
ワークシート選択を行う ... 815.6.2
ワークシート内の表示範囲を設定する ... 825.6.3
ワークシートに大きなデータセットを配置する ... 825.6.4
ワークシートの埋め込みグラフにアクセスする ... 835.6.5
ワークシートデータのソート ... 835.6.6
ワークシートデータをマスクする ... 845.6.7 LT
の条件でワークシートからデータを抽出する ... 855.6.8 2
つのワークシートのデータを比較する ... 865.7
データ変換... 87
5.7.1
ワークシートグリッディング... 87
6 6
グラフ ... 916.1
グラフの作成と編集 ... 926.1.1
グラフウィンドウを作成する ... 926.1.2
グラフページのフォーマットを取得する ... 926.1.3
グラフページのフォーマットをセットする ... 926.1.4
グラフレイヤのフォーマットを取得する... 92
6.1.5
グラフレイヤのフォーマットをセットする ... 926.1.6
追加の線を表示する... 93
6.1.7
グリッド線を表示する... 93
6.1.8
軸スケールを設定する... 94
6.1.9
軸フォーマットを取得する... 94
6.1.10
軸ラベルを設定する... 94
6.1.11
上X
軸を表示する... 95
6.1.12
軸刻みを編集する... 95
6.1.13
軸目盛ラベルを編集する... 95
6.2
データプロットを追加する ... 966.2.1 2D
プロット (XY, Yエラー, 縦棒/横棒) ... 966.2.2 3D
プロット ... 976.2.3
等高線図 ... 98目次
6.2.6
複数区分グラフ(X軸を共有した複数レイヤ) ... 1006.3
データプロットを編集する ... 1016.3.1
データマーカーを追加する... 101
6.3.2
色をセットする... 102
6.3.3
フォーマットツリーを取得する... 102
6.3.4
折れ線グラフのフォーマットをセットする... 103
6.3.5
あるデータプロットから別のプロットにフォーマットをコピーする... 103
6.3.6
散布図のフォーマットをセットする... 104
6.3.7
グループ化した線+シンボルのフォーマットを設定する... 105
6.3.8
カラーマップ設定を設定する... 105
6.4
レイヤを管理する ... 1076.4.1
区分グラフを作成する ... 1076.4.2
グラフウィンドウにレイヤを追加する ... 1086.4.3
レイヤを配置する ... 1096.4.4
レイヤを移動する ... 1096.4.5
レイヤサイズの変更... 1096.4.6 2
つのレイヤを入れ替える ... 1106.4.7
レイヤを整列する ... 1106.4.8
レイヤをリンクする... 1116.4.9
レイヤ単位をセットする ... 1116.5
図形オブジェクトの作成とアクセス ... 1126.5.1
図形オブジェクトを作成する... 112
6.5.2
プロパティを設定する... 113
6.5.3
位置とサイズを設定する... 113
6.5.4
接続プロパティを更新する... 114
6.5.5
表示プロパティを取得およびセットする... 114
6.5.6
プログラミング制御... 114
6.5.7
凡例を更新する... 115
6.5.8
グラフにテーブルオブジェクトを追加する... 115
7 7
データ操作... 117
7.1
数値データ ... 1177.1.1
欠損値... 117
7.1.2
精度と比較... 117
7.1.3
数値を文字列に変換する... 118
7.1.4 vector ... 118
7.1.5
行列... 119
7.1.6 TreeNode ... 119
7.1.7
複素数 ... 1207.1.8 DataRange ... 120
7.2
文字列データ... 122
7.2.1
文字列(ストリング)変数 ... 122目次
7.2.2
文字列を数値に変換する ... 1227.2.3
数値/文字列を別の文字列に追加する ... 1227.2.4
部分文字列を検索 ... 1237.2.5
部分文字列の置換 ... 1237.2.6
パス文字列の関数 ... 1237.3
日付と時間データ ... 1247.3.1
現在の日時データを取得... 124
7.3.2
ユリウス日を文字列に変換... 125
7.3.3
文字列をユリウス日に変換... 125
8 8
プロジェクト... 127
8.1
プロジェクトを管理する ... 1278.1.1
プロジェクトを開く/
保存する... 127
8.1.2
プロジェクトを別のプロジェクトに追加する... 127
8.1.3
修正フラグ... 127
8.2
フォルダを管理する ... 1288.2.1
フォルダを作成し、そのパスを取得する ... 1288.2.2
アクティブフォルダを取得する ... 1288.2.3
フォルダをアクティブにする ... 1288.2.4
指定したページのパスを取得 ... 1298.2.5
ページ/フォルダを別の場所に移動する ... 1298.3
ページにアクセスする... 129
8.3.1
名前とインデックスでページにアクセスする ... 1298.3.2
アクティブページとレイヤを取得する ... 1308.3.3 foreach
を使う... 130
8.4
メタデータにアクセスする ... 1318.4.1
データ範囲にアクセスする... 131
8.4.2
アクセスツリー... 131
8.5
操作にアクセスする ... 1358.5.1
すべての操作のリスト ... 1358.5.2
ワークシートが階層であるかのチェック ... 1358.5.3
レポートシートにアクセスする ... 1369 9
インポート ... 1379.1
データをインポートする ... 1379.1.1 ASCII
データファイルをワークシートにインポート ... 1379.1.2 ASCII
データファイルを行列シートにインポート ... 1399.1.3
インポートフィルタを使ってデータをインポートする ... 139目次
9.2.2
イメージをワークシートセルに挿入する ... 1429.2.3
イメージをグラフにインポートする... 14210 1 0
エクスポート ... 14310.1
ワークシートのエクスポート ... 14310.2
グラフのエクスポート ... 14410.3
行列のエクスポート ... 14410.3.1
行列をASCII
データファイルにエクスポート ... 14410.3.2
行列からイメージを画像ファイルにエクスポート ... 14511 1 1
分析とアプリケーション ... 14711.1
数学 ... 14711.1.1
正規化 ... 14711.1.2
補間/補外 ... 14811.1.3
積分... 14811.1.4
微分... 15211.2
統計... 153
11.2.1
列と行の記述統計量... 15311.2.2
度数カウント ... 15311.2.3
相関係数 ... 15411.2.4
正規性の検定 ... 15411.3
カーブフィッティング ... 15511.3.1
非線形フィット... 155
11.3.2 FDF
ファイルにアクセスする... 157
11.4
信号処理 ... 15811.4.1
スムージング ... 15811.4.2 FFT... 158
11.4.3 FFT
フィルタ ... 15911.4.4
ウェーブレット分析... 15911.5
ピークと基線 ... 16011.5.1
基線を作成する ... 16011.5.2
基線を削除する ... 16011.5.3
ピークを検索する ... 16111.5.4
ピークの積分とフィット ... 16211.6 NAG
関数を使用する ... 16311.6.1
ヘッダファイル... 163
11.6.2
エラー構造体... 163
11.6.3
コールバック関数... 164
11.6.4 Origin
からデータを取得するNAG
関数 ... 165目次
1
12 2
出力オブジェクト ... 16912.1
結果ログ ... 16912.2
スクリプトウィンドウ ... 16912.3
ノートウィンドウ ... 17012.4
レポートシート... 170
13 1 3
データベースへのアクセス ... 17113.1
データベースからのインポート... 171
13.2
データベースへのエクスポート ... 17213.3 SQLite
データベースへのアクセス ... 17314 1 4 LabTalk
へのアクセス ... 17514.1 LabTalk
の数値を取得およびセットする ... 17514.2 LabTalk
の文字列値を取得およびセットする ... 17614.3 LabTalk
スクリプトを実行する ... 17614.4 Origin C
コードにLabTalk
スクリプトを埋め込む ... 17715 1 5
ユーザインターフェース ... 17915.1
ウエイトカーソル ... 17915.2
コモンダイアログボックス ... 18015.2.1
入力ボックス... 180
15.2.2
メッセージボックス... 180
15.2.3
プログレスボックス... 181
15.2.4
ファイルダイアログ... 181
15.3 GetN
ダイアログ ... 18215.3.1 GETN
マクロ ... 18215.3.2
イベントハンドリング ... 18515.4
グラフからデータポイントを取得... 185
15.5
グラフにコントロールを追加する ... 18616 1 6
ダイアログビルダ ... 18916.1
単純なHello World
ダイアログ ... 19016.1.1 VC
でリソースDLL
を作成する ... 19016.1.2 Origin C
でリソースDLL
を使用する ... 19516.2
ウィザードダイアログ ... 195目次
16.3.2
ソースファイルを準備する ... 19716.3.3
必要なヘッダをインクルードする ... 19716.3.4
ユーザ定義プレビュークラスを追加する ... 19716.3.5
ダイアログクラスを追加する ... 19916.3.6
ダイアログを開く ... 20016.4
スプリッターダイアログ ... 20016.4.1
ダイアログリソースを準備する... 200
16.4.2
ソースファイルを準備する... 201
16.4.3
ヘッダファイルをインクルードする... 201
16.4.4
ユーザ定義Splitter
クラスを追加する... 201
16.4.5
ユーザ定義Splitter
ダイアログクラスを追加する... 204
16.4.6
ダイアログを開く... 205
1 17 7 X
ファンクション... 207
17.1 X
ファンクションを作成する ... 20717.1.1
単純なX
ファンクションの作成... 207
17.1.2 X
ファンクションビルダ... 210
17.1.3
コードビルダでプログラミングする... 216
17.1.4
グラフプレビュー付きのGetN
ダイアログボックスを作成する ... 22517.1.5
イメージGetN
ダイアログを作成する ... 22917.1.6
カスタムダイアログを作成する ... 23317.1.7
ウィザードダイアログを作成する ... 23617.1.8 X
ファンクションでガジェットを作成する ... 24417.2 X
ファンクションをカスタマイズする ... 25617.2.1
製品メニューにX
ファンクションを入れる ... 25617.2.2 X
ファンクションにドキュメントを追加する ... 25917.2.3
ダイアログにカスタムボタンを追加する ... 25917.3 X
ファンクションを使う ... 26217.3.1
スクリプトからX
ファンクションを呼び出す... 262
17.3.2 Origin C
でX
ファンクションを呼び出す... 263
17.4 X
ファンクションのサンプル ... 26517.4.1 X
ファンクションGUI
のコントロールを構築する ... 26517.4.2
Xファンクションでグラフブラウザダイアログを開く ... 26917.4.3 X
ファンクションReportTree サンプル ... 272
17.4.4 X
ファンクション ReportData サンプル ... 27718 1 8
外部リソースへのアクセス ... 28318.1
外部DLL
にアクセスする ... 28318.2
外部アプリケーションにアクセスする ... 284目次
1
19 9
リファレンス ... 28719.1
クラスの階層 ... 28719.2
コレクション ... 29019.3 X
ファンクションのオプション文字列 ... 29219.3.1 A -
再計算モード... 292
19.3.2 B -
ブラウザダイアログオプション... 296
19.3.3 C -
その他のオプション... 296
19.3.4 E -
実行制御... 297
19.3.5 F -
ダイアログ数値表示フォーマット... 297
19.3.6 FT -
データプロット選択フィルタ... 298
19.3.7 FV -
出力変数のソースを指定する... 299
19.3.8 G - GUI
上のコントロールをグループ化する... 299
19.3.9 H -
結果テーブルのスタイルをセットする... 301
19.3.10 I - 入力範囲コントロールの動作を制限する ... 303
19.3.11 M - 複数行文字列のサポート ... 308
19.3.12 N - 出力オブジェクトのデフォルト名 ... 308
19.3.13 O - X
ファンクションを実行した後出力オブジェクトの操作を設定する ... 30919.3.14 P - GUI
の編集可能なコントロールをセットする ... 30919.3.15 R - ダイアログのコンボボックスの動作を制限する ... 311
19.3.16 S - 入力変数のデフォルトのデータ選択を定義する ... 312
19.3.17 SV - X
ファンクションダイアログコンボボックスの文字列項目をサポートする ... 31319.3.18 T - テーマから変数をスキップする ... 313
19.3.19 U - オプションとして出力を指定する ... 313
19.3.20 V - 不可視のコントロールを指定する ... 316
19.3.21 Z - 変数コントロールの編集可否をセットするチェックボックスを追加する ... 316
20 2 0
索引 ... 3191 1 Origin C のイントロダクション
Origin
には2
つのプログラミング言語があります。Origin C と LabTalkです。このガイドは
Origin C
プログラミング言語について説明しています。また、Xファンクションを作成す る方法やダイアログビルダダイアログを制御する方法も示しています。Xファンクションは、ツールを 作成するためのOrigin
内のフレームワークです。ダイアログビルダは、フローティングツール、ダイ アログボックス、ウィザードのようなカスタムダイアログを作成および制御することができます。このガイドは、
Origin
ヘルプメニューからアクセスできる言語リファレンスと一緒に使用しましょう。詳細なサンプルを含む最新のデモのソースコードは
wiki
サイト(wiki.OriginLab.com)にあります。1.1 基本機能
Origin C
は、ANSI Cプログラミング言語のシンタックスに基づく高機能なプログラミング言語です。さらに、Origin Cは クラス、ストリーム内での変数宣言、オーバーロード関数、参照、デフォルトの関 数引数などを含む多くの
C++の機能をサポートしています。Origin C
は、C#プログラミング言語か らコレクションおよびforeach
とusing
ステートメントをサポートしています。Origin C
プログラムは、コードビルダというOrigin
の開発環境(IDE)で開発されます。コードビルダには、シンタックスのハイライト、ワークスペースウィンドウ、コンパイラ、リンカ、デバッガを持つソース コードのエディタを含んでいます。コードビルダについての詳細は、ヘルプ:プログラミング:コードビ ルダ を参照してください。
Origin C
を使うと、Originのデータインポートと取り扱い、グラフ作成、分析、イメージエクスポート機能など完全に制御することができます。Origin Cで作成したアプリケーションは、Originのスクリ プト言語である
LabTalk
より高速に実行します。1.2 Hello World チュートリアル
このチュートリアルは、Origin C関数を作成するコードビルダコードビルダを使用して、Originから 関数にアクセスする方法を示しています。関数自体はとても単純ですが、ここで提供されているステ ップは、Origin C関数を記述し始める手助けとなります。
1.2 Hello Worldチュートリアル
コードビルダで、コードビルダの新規作成ボタン をクリックし、新規ファイルダイアログを開きます。
ダイアログのリストボクスから Cファイルを選択し、ファイル名テキストボックスでと入力します。
OK
をクリックし、新しいファイルがコードビルダのマルチドキュメントインターフェース(MDI)で開きま す。次の
Origin C
コードをコピーし、// Start your functions hereという行の下に入力します。
int test() {
printf("hello, world¥n"); // テキストを出力するprintf関数の呼び出し // ¥n は改行を表す
return 0; // 関数を抜け、呼び出し元に0を返す }
コードビルダの標準ツールバーのビルド ボタン をクリックして、
HelloWorld.C
ソースファイルを コンパイル、リンクします。コードビルダの出力ウィンドウは次のように表示されます。1.2 Hello Worldチュートリアル
Origin
でこの関数を使用することができます。例えば、Originのスクリプトウィンドウでこの関数を呼び出すことができます。 スクリプトウィンドウが開かない場合、メニューからウィンドウ:スクリプトウィンド ウメニューを選択して、開きます。
スクリプトウィンドウに
test という関数名を入力し、ENTER
キーを押し、コマンドを実行します。Origin C
関数が実行され、hello, world という文字が次の行に表示されます。
1.2 Hello Worldチュートリアル
スクリプトウィンドウに加え、コードビルダで
LabTalk
コンソールウィンドウから関数を呼び出すことが できます。このコンソールウィンドウが開かない場合、コードビルダで表示:LabTalkコンソールを選 択します。Origin C
ファイルが問題なくコンパイルリンクされると、ファイル内で定義したすべての関数は、LabTalkスクリプトをサポートしている
Origin
内のどこからでもスク リプトコマンドとして呼び出すことができます。関数パラメータおよび戻り値は、スク リプトからアクセス可能なある基準に合致する必要があります。詳細については、LabTalk
ヘルプファイルのLabTalk
プログラミング:LabTalkガイド:Xファンク ションおよびOrigin C
関数の呼び出し:Origin C関数 の章をご覧ください。こ のヘルプファイルはOrigin
のヘルプ:プログラミング:LabTalk メニューからアク セスできます。2 2 言語の基本
Origin C
は、ANSI C/C++プログラミング言語に基づいています。これは、Origin Cが同じデータ型、演算子、フロー制御、ユーザ定義の関数、クラス、エラー、例外処理をサポートしているということ です。次のセクションでは、Origin Cのこれらの領域について詳細に説明します。
2.1 データ型と変数
2.1.1 ANSI C データ型
Origin C
は、char, short, int, float, double, void型などのすべてのANSI C
データ型をサポー トしています。さらに、これらのデータ型のそれぞれを配列にすることができ、ポインタで指定すること もできます。char name[50]; // 文字列の配列を宣言 unsigned char age; // 符号無し8ビット整数型を宣言 unsigned short year; // 符号無し16ビット整数型を宣言
2.1.2 Origin C のコンポジットデータ型
配列を宣言する
C
シンタックスがサポートされていますが、Origin Cは1
次元または2
次元配列の データ型の操作を簡単にする string, vector, matrix クラスを提供しています。これらのデータ型 は、char, byte, short, word, int, uint, complexを含みます。ベクター型は、文字列配列のの型 にできますが、行列はできません。行列は数値型のみにすることができます。string str = "hello, world¥n"; // 文字列を宣言し、初期化
vector<double> vA1 = {1.5, 1.8, 1.1}; // double型の宣言と初期化 vector vA2 = {2.5, 2.8, 2.1, 2.4};
vector<string> vs(3); // 文字列配列を宣言
vs[0] = "This "; // 文字列を各文字列配列の項目に割り当て vs[1] = "is ";
vs[2] = "test";
matrix<int> mA1; // 整数の行列を宣言 matrix mA2; // double型の行列を宣言
2.1 データ型と変数
// 宣言で指定されていないときに、暗黙に使われます。
Origin C
で提供される別の役立つクラスは、complex クラスです。complexクラスは、実数と虚数の両方を含む数値データ型をサポートします。
complex cc(4.5, 7.8); // 複素数値
// 実数コンポーネントは4.5にセットされ // 虚数のコンポーネントは7.8にセット out_complex("value = ", cc); // 出力は複素数値
2.1.3 色
Origin C
の色は、DWORD値で表されます。これらの値は、Originの内部カラーパレットへのインデックスにしたり、実際に
RGB
値を混合することができます。パレットのインデックス
Origin
の内部のパレットは24
色含んでいます。Origin
の内部のカラーパレットへのインデックスは0
から23
までの値です。Origin Cは、これらの値に固定の名前を提供しています。それぞれの名 前は、プレフィックスSYSCOLOR_ に色の名前を続けます。次の表は、24
色の名前とインデックス です。インデッ
クス 名前 インデッ
クス 名前
0 SYSCOLOR_BLACK 12 SYSCOLOR_DKCYAN
1 SYSCOLOR_RED 13 SYSCOLOR_ROYAL
2 SYSCOLOR_GREEN 14 SYSCOLOR_ORANGE
3 SYSCOLOR_BLUE 15 SYSCOLOR_VIOLET
4 SYSCOLOR_CYAN 16 SYSCOLOR_PINK
2.1 データ型と変数
5 SYSCOLOR_MAGENTA 17 SYSCOLOR_WHITE
6 SYSCOLOR_YELLOW 18 SYSCOLOR_LTGRAY
7 SYSCOLOR_DKYELLOW 19 SYSCOLOR_GRAY
8 SYSCOLOR_NAVY 20 SYSCOLOR_LTYELLOW
9 SYSCOLOR_PURPLE 21 SYSCOLOR_LTCYAN
10 SYSCOLOR_WINE 22 SYSCOLOR_LTMAGENTA
11 SYSCOLOR_OLIVE 23 SYSCOLOR_DKGRAY
DWORD dwColor = SYSCOLOR_ORANGE;
自動カラー
自動として参照される特別なカラーインデックスがあります。このインデックスが使われると、要素はそ の親と同じ色で色付けされます。すべての要素が自動インデックスをサポートしているわけではありま せん。要素に対する
Origin
のグラフィカルユーザインターフェースを見て、自動インデックスがサポ ートされているかどうかを決定します。自動インデックス値が必要なときに
INDEX_COLOR_AUTOMATIC
マクロが使われます。DWORD dwColor = INDEX_COLOR_AUTOMATIC;
RGB 値
Origin
の色の値は、RGB値を表すこともできます。RGB値は、8ビットの赤、緑、青の成分で構成されます。これらの値は、RGB マクロを使って簡単に行うことができます。
2.2 演算子
RGB
マクロから返される値は、Originの色の値として直接使うことができません。RGB2OCOLOR マクロを使って、RGB値をOrigin
の色の値に変換する必要があります。DWORD brown = RGB2OCOLOR(RGB(139,69,19)); // 茶色
Origin
の色値がRGB
値を表しているのか、パレット内のインデックスを表しているのかを知る必要がある場合、OCOLOR_IS_RGBマクロを使うことができます。値が
RGB
値を表す場合、このマクロ はTrue
を返し、それ以外の場合False
を返します。if( OCOLOR_IS_RGB(ocolor) )
out_str("color value represents an RGB color");
else
out_str("color value represents a color index");
Origin
の色の値がRGB
値を表すことが分かったら、GET_CRF_FROM_RGBOCOLOR マクロを使って、Originの色の値から
RGB
値を抽出することができます。if( OCOLOR_IS_RGB(ocolor) ) {
DWORD rgb = GET_CRF_FROM_RGBOCOLOR(ocolor);
printf("red = %d, green = %d, blue = %d¥n",
GetRValue(rgb), GetGValue(rgb), GetBValue(rgb));
}
2.2 演算子
演算子は、ANSI Cと同じ算術演算子、論理演算子、比較演算子、ビット演算子をサポートします。
次のセクションは
4
種類の演算子とその用法を示します。2.2.1 算術演算子
演算子 目的
*
乗法/
除法%
剰余 (余り)2.2 演算子
+
加法-
減法^
指数 (下記Note
を参照。 )Note:デフォルトで、Origin C
は、指数演算子としてキャレット(^)を扱います。これはLabTalk
と一貫性を持つために行われています。ANSI Cでは、キャレット(^)を排他論理和演算子として使いま す。コードの前に特別な
pragma
ステートメントを使って強制的にOrigin C
がキャレット(^)を排他 論理和演算子として使うようにすることができます。out_int("10 raised to the 3rd is ", 10^3);
#pragma xor(push, FALSE) out_int("10 XOR 3 is ", 10^3);
整数を別の整数で除算すると整数の結果となります。
double a = 100 / 22;
out_double("100 / 22 is ", a);
剰余演算子は、左オペランドを右オペランドで割った余りを計算します。この演算子は整数のオペラ ンドにのみ適用します。
out_int("The remainder of 11 divided by 2 is ", 11 % 2);
2.2.2 比較演算子
比較演算子は、Trueまたは
False
を評価し、Trueは1、False
は0
を返します。演算子 目的
>
より大きい>=
以上<
より小さい2.2 演算子
<=
以下==
等しい!=
等しくないif( aa >= 0 )
out_str("aa is greater than or equal to zero");
if( 12 == aa )
out_str("aa is equal to twelve");
if( aa < 99 )
out_str("aa is less than 99");
2.2.3 論理演算子
論理演算子は、
True
またはFalse
を評価し、True
は1
、False
は0
を返します。オペランドは左か ら右へ評価されます。論理式全体が決まったら評価が終わります。演算子 目的
!
等しくない&&
および||
または次の
2
つのサンプルを考えます。expr1A && expr2 expr1B || expr2
2.2 演算子
expr1A
がFalse
またはexpr1B
がTrue
として評価されると、expr2は評価されません。この動作 は、プログラマにはメリットであり、効率的なコードを記述できます。次は、順序の重要性を明確に表 したものです。if( NULL != ptr && ptr->dataValue < upperLimit ) process_data(ptr);
上記の例で、ptrが
NULL
に等しいと、if式全体はFalse
に評価されます。ptrがNULL
の場合、NULL
ポインタからdataValue
メンバーを読み取ると、アプリケーションが直ちに終了するので、dataValue
がupperLimit
と比較されないことが重要です。2.2.4 ビット演算子
ビット演算子は個々のビットをテストし、設定します。演算子は、オペランドをビットの配列として扱いま す。ビット演算子のオペランドは不可欠なタイプでなければなりません。
演算子 目的
~
補数<<
左にシフト>>
右にシフト&
かつ^
排他論理和(XOR)、下記Note
を参照。|
論理和 ORNote
:デフォルトで、Origin C
は、指数演算子としてキャレット(^)
を扱います。これはLabTalk
と一 貫性を持つために行われています。ANSI Cでは、キャレット(^)を排他論理和演算子として使いま す。コードの前に特別なpragma
ステートメントを使って強制的にOrigin C
がキャレット(^)を排他2.3 フロー制御ステートメント
out_int("10 raised to the 3rd is ", 10^3);
#pragma xor(push, FALSE) out_int("10 XOR 3 is ", 10^3);
2.3 フロー制御ステートメント
Origin C
は、 if, if-else, switch, for, while, do-while, goto, break, continue を含むANSI C
のすべてのフロー制御をサポートしています。さらに、Origin C
はC#
のforeach
サポートし、オブ ジェクトのコレクションをループすることができます。2.3.1 if ステートメント
if ステートメントは、条件分岐に使われ、条件が True
の場合にステートメントブロックを実行します。if-else
ステートメントは、if
ステートメントに似ていますが、if-else
ステートメントは、条件の結果がFalse
の場合に代替えのステートメントブロックを実行します。次は、異なる入力タイプを使った、Origin Cの
if ステートメントのサンプルです。
bool bb = true; // ブール型 if( bb )
{
out_str("bb is true");
}
int nn = 5;
if( nn ) // 整数型, 0 = False, 非ゼロ = true {
out_str("nn not 0");
}
double* pData = NULL;
if( NULL == pData ) // ポインタがNULLの場合にチェック {
out_str("Pointer pData is NULL");
}
次は、Origin Cの単純な if-else ブロックです。ifブロックと
else
ブロックがブレース{}で囲まれてい ます。if( bRet ) {
out_str("Valid input"); // bRetがTrueのとき }
else {
out_str("INVALID input"); // bRetがFalseのとき }
2.3 フロー制御ステートメント
if
ステートメントが1
つのステートメントしか持たない場合、ブレースは任意です。これは、上記のコー ドがブレース無しで書けるということです。if( bRet )
out_str("Valid input"); // bRetがTrueのとき else
out_str("INVALID input"); // bRetがFalseのとき
2.3.2 switch ステートメント
switch ステートメントは、相互に排他的な選択肢によって、異なるステートメントブロックを実行する
必要があるときに使われます。case
は、昇順の整数で、switch ステートメントに整数の引数で与えられる数値で開始します。
break
コマンドは、どのケースでもswitch
ブロックを抜けます。switch( nType ) // 整数型の値条件に {
case 1:
case 2:
out_str("Case 1 or 2");
break;
case 3:
out_str("Case 3");
// breakキーワードがここにないとcase 4を実行
case 4:
out_str("Case 4");
break;
default:
out_str("Other cases");
break;
}
2.3.3 for ステートメント
for ステートメントは、指定した回数または各要素がインデックスで参照しているデータの配列によっ
て、1つ以上のステートメントを実行するのに使われます。char str[] = "This is a string";
for( int index = 0; index < strlen(str); index++ ) {
printf("char at %2d is %c¥n", index, str[index]);
}
2.3 フロー制御ステートメント
2.3.4 while ステートメント
while
とdo-while
ステートメントは、条件が合致するまでステートメントブロックを実行します。while
ステートメントは、ループの最初に条件を検査し、 do-while ステートメントは、ループの最後に条件 を検査します。int count = 0;
while( count < 10 ) // 条件がTrueの場合にステートメントを実行 {
out_int("count = ", count);
count++;
}
int count = 0;
do {
out_int("count = ", count);
count++;
} while( count < 10 ); // 条件がTrueの場合にステートメントを実行
2.3.5 ジャンプステートメント
ジャンプステートメントは、関数の範囲内で、無条件に別のステートメントに ジャンプするのに使いま す。break, continue, goto ステートメントがジャンプステートメントです。次のサンプルはこれらのジ ャンプステートメントを示すものです。
break ステートメント
for( int index = 0; index < 10; index++ ) {
if( pow(index, 2) > 10 ) break; // ループの終了
out_int("index = ", index);
}
continue ステートメント
printf("The odd numbers from 1 to 10 are:");
for( int index = 1; index <= 10; index++ ) {
if( mod(index, 2) == 0 ) continue; // 次のインデックス
printf("%d¥n", index);
}
2.4 関数
goto ステートメント
out_str("Begin");
goto Mark1;
out_str("Skipped statement");
Mark1:
out_str("First statement after Mark1");
2.3.6 foreach ステートメント
foreach ステートメントは、オブジェクトのコレクションをループするのに使われます。次のコードは、
プロジェクト内のすべてのページをループし、その名前とタイプを出力します。
foreach(PageBase pg in Project.Pages) {
printf("%s is of type %d¥n", pg.GetName(), pg.GetType());
}
Origin C
のクラスに基づくすべてのCollection
のリストについてはコレクション のセクションを参照してください。
2.4 関数
2.4.1 グローバル関数
Origin C
はさまざまな操作を実行する数多くのグローバル関数を提供しています。これらのグローバル関数は
26
個のカテゴリーに分類されます。基本
I/O
文字および文字列操作
COM
通信 曲線 データ変換 データ範囲
2.4 関数
ファイル
I/O
ファイル管理 フィッティング画像処理
インポートとエクスポート 内部
Origin
オブジェクトLabTalk
インターフェース 数学関数数学
行列変換とグリッディング メモリ管理
NAG
信号処理 スペクトル分析統計
システム ツリー
ユーザインターフェース
サンプル付きの完全な関数リストについては、Origin Cの
wiki
サイトのグローバル関数 セクション をご覧ください。2.4.2 ユーザ定義関数
Origin C
は、ユーザ定義関数をサポートしています。Origin Cのプログラマは引数の選択肢および戻り型を受け付ける関数を作成することができます。そして、それらの関数は、その引数を操作し、
目的を成し遂げます。
以下のコードは、
1
つの引数だけでdouble
型の値を返し、double
型の値を受け入れるmy_function という関数を作成します。
double my_function(double dData) {
dData += 10;
2.5 クラス
return dData;
}
以下の断片的なコードは、上記の関数を呼び出す方法を示しています。
double d = 3.3; // double型の値としてdを宣言 d = my_function(d); // 上記関数の呼び出し
out_double("d == ", d); // dの新しい値を出力
Origin C
関数はLab Talk
から呼び出すことができます。d = 3.3; // dに3.3を割り当て d = my_function(d); // 上記関数を呼び出し d=; // dの新しい値を出力
2.5 クラス
Origin C
は、数多くの組込みクラスをサポートしていますが、ユーザが自分自身のクラスを作成することもできます。
2.5.1 Origin 定義クラス
Origin C
には、Originの異なるデータ型とユーザインターフェースオブジェクト操作する事前定義のクラスがあります。これらのクラスを使うと、操作を実行する
Origin C
コードを素早く書くことができ ます。このセクションは、基本クラスについて、これらのクラスが提供している機能の概要を説明して います。Originの定義クラスの詳細およびサンプルについては、次の章、事前定義のクラスまたは Origin C
のwiki
サイトをご覧ください。2.5.2 ユーザ定義クラス
Origin C
は、ユーザ定義クラスをサポートしています。ユーザ定義クラスでは、Origin Cのプログラマがメソッド(メンバー関数)とデータメンバーを持つ自分自身のオブジェクトを作成することができま す。
次のコードは、2つのメソッド GetName と SetNameを持つ Book というクラスを作成するものです。
class Book {
public:
string GetName() {
return m_strName;
2.6 エラーと例外処理
{
m_strName = lpcszName;
} private:
string m_strName;
};
そして、以下は、上記のメソッドとクラスの定義を使った簡単なサンプルで、Book クラスのインスタン スを宣言し、SetNameを使って名前を付け、GetNameを使って名前を出力します。
void test_class() {
Book OneBook; // Bookオブジェクトを宣言
// Bookオブジェクトに対して名前をセット/取得する関数の呼び出し OneBook.SetName("ABC");
out_str(OneBook.GetName());
}
上記のサンプルはとても単純なものです。クラスの機能、例えば、コンストラクタ
/
デコンストラクタやバ ーチャルメソッドなどについて詳しく知りたければ、Origin
の¥Samples¥Origin C
Examples¥Programming Guide¥Extending Origin C
サブフォルダにある EasyLR.c、EasyLR.h、EasyFit.h
ファイルをご覧ください。2.6 エラーと例外処理
Origin C
は、C++ の try, catch, throw ステートメントを使って、例外処理をサポートしています。try
ブロックは、try
キーワードの後にブレースで囲んだ1
つ以上のステートメントで構成されます。try
ブロックの直後は、catch
ハンドラーです。Origin C
は、整数の引数を受け付けるcatch
ハンド ラーを1
つだけサポートします。catch
キーワードの後には、ブレースで囲まれた1
つ以上のステー トメントとなります。try {
LPSTR lpdest = NULL; // NULLポインタ
strcpy(lpdest, "Test"); // エラーを起こすためにNULLにコピー }
catch(int nErr) {
out_int("Error = ", nErr);
}
try
ブロック内のステートメントを実行することでtry-catch
が動作します。エラーが発生すると、実行は
catch
ブロックにジャンプします。エラーが発生しなければ、catchブロックは無視されます。throw
キーワードは任意であり、エラーをトリガーにし、catch
ブロックへのジャンプを実行します。void TryCatchThrowEx() {
2.6 エラーと例外処理
try {
DoSomeWork(4); // 成功を表示するために有効な数字を渡す DoSomeWork(-1); // エラーを引き起こすために無効な数字を渡す }
catch(int iErr) {
printf("Error code = %d¥n", iErr);
} }
void DoSomeWork(double num) {
if( num < 0 )
throw 100; // 強制的にエラー if( 0 == num )
throw 101; // 強制的にエラー
double result = sqrt(num) / log(num);
printf("sqrt(%f) / log(%f) = %g¥n", num, num, result);
}
3 3 事前定義のクラス
このセクションでは、Origin Cの事前定義のクラスについて説明しています。 Origin C組込クラス 間の関係についての詳細な情報は、クラス階層 をご覧ください。
3.1 分析クラス
次のクラスは、データ分析を実行するのに使われます。詳細については、ヘルプ
Origin C Reference の Classes
のAnalysis
を参照してください。クラス 簡単な説明
NLFitContext
このクラスは、フィット関数の情報だけでなく、Origin Cでフィット関数を 組み込むことで生成される現在の評価の状態にアクセスするメソッドを 提供します。
NLFitSession
このクラスはより高いレベルの
Origin
クラスです。フィットの評価手順を 組み込む目的で、わかりやすいインターフェースを持つNLFit
を包含 します。それは、NLFitダイアログのカーネルです。このクラスは、Origin
のインターフェースの処理から生じる複雑さを処理できるので、Origin C
でコーディングすることをお勧めします。3.2 アプリケーションコミュニケーションクラス
次のクラスは、Originと他のアプリケーション間との通信を可能にするのに使用されます。詳細につ いては、ヘルプ
Origin C Reference の Classes
のApplication Communication
を参照してく ださい。3.3 コンポジットデータ型のクラス
クラス 簡単な説明
Matlab Origin
とMATLAB
間の通信を可能にするのに使用されます。3.3 コンポジットデータ型のクラス
以下のクラスは、コンポジットデータ型のクラスです。詳細については、ヘルプ
Origin C Reference
のClasses
のComposite Data Type を参照してください。
クラス 簡単な説明
CategoricalData
CategoricalData
型のデータセットは、整数の配列です。この配列は、テキスト 型の
Origin
の内部データセットに結びつけられ、動的に割り当てられます。この型のデータセットは(1から始まる)イ ンデックスを参照してカテゴリーにテキスト値をマッピングします 。 マッピングインデックスのテキスト値は、CategoricalMapのデー タメンバーに保存されます。
CategoricalMap
CategoricalMap
型のデータセットはテキスト値の配列です。この配列は、動的に割り当てられ、サイズが決まりますが、Origin の内部データセットに結びつけられません。このデータセットは、
固有のテキスト値を含み、これは英数字でソートされ、通常
CategoricalData
タイプに結びついたオブジェクトの要素で参照されます。
complex
このクラスは、複素数型の数値データを扱うのに使われます。複素数の実数部と虚数部の両方を含みます。
Curve
このクラスは、curvebase
およびvectorbase
クラスから派生し、メソッドとプロパティが継承されています。Curve型のオブジェクト は、GraphLayerクラスで定義されたメソッドを使って簡単にプロ
3.3 コンポジットデータ型のクラス
ットでき、Yデータセットと関連の
X
データセットで構成されます。例えば、行番号に対してプロットされるデータセットは、関連の
X
データセットを含みません。curvebase
vectorbase
クラスから派生したこのクラスは、メソッドとプロパティを継承し、基底クラスであり、Curve型のクラスを取り扱うのに使 用します。curvebase型のオブジェクトは構築することができず、
Curve
のような派生クラスが代わりに使われます。Dataset
このクラスは、vectorおよび
vectorbase
クラスから派生し、そのメ ソッドとプロパティを継承しています。Dataset型は配列であり、動的に割り当てられ、大きさが決まります。
Origin
の内部データ セットに結びつけることも、結びつけないこともできます。デフォル トで、Datasetはdouble
型ですが、char, byte, short, word,int, uint, complex
などの基本データ型にすることもできます(string
は不可)。シンタックスDataset< type > は、Dataset
のこ れらの型を構築するのに使うことができます。Matrix
このクラスは、matrixおよび
matrixbase
クラスから派生し、その メソッドとプロパティを受け継いでいます。Matrix (Mは大文字) は2
次元配列で、動的に割り当てられ、大きさが決まり、Origin の内部行列ウィンドウに結びついています。Matrixのデフォルト の型は、double型ですが、char, byte, short, word, int, uint,complex
などの基本データ型にすることもできます (stringは不可)。シンタックス
Matrix< type > は、Matrix
のこれらの型を構 築するのに使うことができます。このクラスは、内部の
Origin
行列内のデータにアクセスするのに 使われ、MatrixObjectクラスは行列のスタイルを制御するのに 使われます。すなわち、MatrixObjectとMatrix
クラスの関係 は、ColumnとDataset
クラスの関係と同じです。Origin
行列(Matrixオブジェクトで参照)内のセルに表示されているデータ値は、通常、ワークシート内では、
Z
値として参照さ れ、関連するX
とY
値は、それぞれ行列の列と行に線形でマッ ピングされます。3.3 コンポジットデータ型のクラス
matrix
このクラスは、matrixbaseクラスから派生し、そのメソッドとプロパ ティを受け継いでいます。matrix (mは小文字)は
2
次元配列 で、動的に割り当てられ、大きさが決まり、Originの内部行列ウィ ンドウには結びついておらず、柔軟性が提供されます。matrix のデフォルトの型は、double
型ですが、char, byte, short, word, int, uint, complex
などの基本データ型にすることもでき ます (stringは不可)。シンタックスmatrix< type > は、matrix
のこれらの型を構築するのに使うことができます。matrixbase
このクラスは、matrix と Matrixクラスを取り扱う基底クラスです。
つまり、matrixbase型のオブジェクトは構築することができず、
matrix
やMatrix
のような派生クラスのオブジェクトが代わりに使われます。
PropertyNode
このクラスは、Bool, int, float, double, string, vector, matrix,
picture
などの異なるデータタイプのプロパティに対して使われます。
string
このクラスは、文字の
null
で終わる配列を構築するのに使われ、MFC CString オブジェクトに似ています。文字列(テキストデー
タ)を操作する多くのメソッドは、このクラスで定義されます。シンタ ックス vector<string> でvector
クラスと一緒に使って、文字列 配列を定義できます。Tree
このクラスは、
Origin C
ツリーをXML
ファイルとして保存したり、XML
ファイルからOrigin C
ツリーにロードするのに使用できま す。TreeNode
このクラスは、複数レベルのツリーを構築し、ツリーを横断し、ツリーノードの属性にアクセスするいくつかのメソッドを提供します。
TreeNodeCollection
このクラスは、番号付きの名前のプレフィックスで子ツリーノードの3.4 内部Originオブジェクトクラス コレクションを取得するのに使われます。
vectorbase
このクラスは、vectorと
Dataset
クラスを取り扱う基底クラスです。つまり、この型のオブジェクトは構築することができず、vectorや
Dataset
のような派生クラスのオブジェクトが代わりに使われます。
vector
このクラスは、vectorbaseクラスから派生し、そのメソッドとプロパ ティを受け継いでいます。vectorは配列で、動的に割り当てら れ、大きさが決まり、Originの内部データセットには結びついて おらず、柔軟性が提供されます。vectorのデフォルトの型は、
double
型ですが、char, byte, short, word, int, uint,
complex, string
などの基本データ型にすることもできます。シンタックス
vector< type > は、vector
のこれらの型を構築するのに 使うことができます。3.4 内部 Origin オブジェクトクラス
次のクラスは、
Origin
オブジェクトを取り扱うのに使われます。詳細については、ヘルプOrigin C Reference
のClasses
のInternal Origin Object
を参照してください。クラス 簡単な説明
Axis
このクラスは、OriginObjectクラスから派生され、Origin の軸にアクセスするのに使うことができます。Originの軸 は、Originページのレイヤに含まれます。
AxisObject
このクラスは、OriginObjectクラスから派生され、軸刻 み、グリッド線、ラベルを含む
Origin
の軸オブジェクトに アクセスするのに使うことができます。Origin
の軸オブジ ェクトは、Origin
のグラフページの軸に含まれます。3.4 内部Originオブジェクトクラス
Collection
このクラスは、ページ(プロジェクトファイル内のすべての
PageBase
オブジェクトのコレクション)などさまざまなOrigin
内部オブジェクトのコレクションのテンプレートを提供します。このクラスは暗黙のテンプレート化された型
_TemplType
を含み、これはコレクションの1
つの要素の型です。例えば、Projectクラスの
Pages
コレクションのテ ンプレート化された型(Collection<PageBase> Pages;) はPageBase
です。各コレクションは、通常親クラスを持ち、そのデータメンバ ーはコレクションです。例えば、Projectには、すべてのペ ージが含まれるので、Collection<PageBase> Pages は
Project
クラスのメンバーの1
つです。そのため、各コレクションは内部オブジェクトに接続されたり、接続されなかっ たりできます。
すべてのコレクションは、Collectionクラスで定義されるメ ソッドを使うことができます。foreachループは、コレクショ ン内の各エレメントを一度にループする最も役立つ方法 です。
CollectionEmbeddedPages
このクラスは、ワークシート内に埋め込まれたページにアクセスするのに使われます。
Column
このクラスは、DataObject, DataObjectBaseおよび
OriginObject
クラスから派生し、そのメソッドとプロパティを継承しています。このクラスで、メソッドとプロパティは
Origin
ワークシート列に対して提供されます。ワークシートオブジェクトは、Columnオブジェクトのコレクションを含
み、各
Column
オブジェクトはDataset
を持ちます。Column
オブジェクトは、主に関連Dataset
のデータのスタイルを制御するのに使用します。
Column
オブジェクトは、ラッパーオブジェクトで、これはOrigin
の内部の列オブジェクトを参照しますが、実際にはそれは
Origin
内には存在しません。3.4 内部Originオブジェクトクラス
DataObject
このクラスは
DataObjectBase
クラスから派生され、ワー クシートの列と行列のオブジェクトの基底クラスです。Origin
のデータオブジェクトは、Originページのレイヤに含まれます。例えば、列(データオブジェクト)は、ワーク シートウィンドウ
(
ページ)
のワークシート(
レイヤ)
に含まれま す。DataObjectBase
このクラスは抜粋した基底クラスで、
DataObject
とDataPlot
に関連したクラスタイプを取り扱うメソッドとプロパティを提供します。つまり、この型のオブジェクトは構築 することができず、DataObject, Column,
MatrixObject, DataPlot
のような派生クラスのオブジェ クトが代わりに使われます。DataPlot
このクラスは、DataObjectBaseおよび
OriginObject
ク ラスから派生し、そのメソッドとプロパティを受け継いでい ます。このクラスで、メソッドとプロパティはOrigin
データ プロットに対して提供されます。Originの内部データプロ ットオブジェクトは、Originのデータプロットの特徴を保存 するのに使われ、グラフページ上のグラフレイヤに含まれ ます。DataPlot
オブジェクトはラッパーオブジェクトで、これはOrigin
の内部のデータプロットを参照しますが、実際にはそれは
Origin
内には存在しません。つまり、複数のラッパーオブジェクトは、同じ内部
Origin
オブジェクトを参 照できます。DataRange
データ範囲の構築やワークシート、行列、グラフウィンドウ にデータをアクセスするために、このクラスにはメソッドとプ ロパティがあります。このクラスは、データ自体を持たず、
ページ名、シート名(グラフに対してレイヤインデックス)、
行
/
列のインデックス(
グラフに対してデータプロットのイン デックス)
でデータ範囲を保持するだけです。複数データ範囲が
DataRange
オブジェクトに含まれ、部分データ範3.4 内部Originオブジェクトクラス
数列、連続した複数行にすることができます。
DataRangeEx
このクラスは、DataRangeの拡張クラスです。DatasetObject
このクラスは、非数値データセットにアクセスするのに使われ、通常、これは
Column
オブジェクトのメンバーです。Datasheet
このクラスは、Layerおよび
OriginObject
クラスから派生 し、そのメソッドとプロパティを継承しています。このクラス は、Originのワークシートと行列レイヤを扱うのに使われ ます。Folder
プロジェクトエクスプローラは、Windowsエクスプローラの ようなフォルダ/サブフォルダ構造を持つ
Origin
内のユー ザインターフェースです。これは、Originプロジェクトファ イル内のグラフ、レイアウト、行列、ノート、ワークシートウィ ンドウを整理したり、アクセスするのに使用します。Folder
クラスは、プロジェクトエクスプローラのメソッドとプロパティにアクセスでき、すべての
Origin
ページとプロジ ェクトエクスプローラフォルダのコレクションを含みます。Folder
オブジェクトは、ラッパーオブジェクトで、これはOrigin
の内部のプロジェクトエクスプローラオブジェクトを参照しますが、実際にはそれは
Origin
内には存在しま せん。つまり、複数のラッパーオブジェクトは、同じ内部Origin
オブジェクトを参照できます。fpoint3d
このクラスは、3次元空間の (x, y, z) 座標に対してdouble
型のデータポイントを扱うのに使われます。fpoint
このクラスは、2次元 (x, y) 座標に対してdouble
型のデータポイントを扱うのに使われます。