• 検索結果がありません。

Microsoft Word - Origin_C_Programming_Guide_Japanese_.doc

N/A
N/A
Protected

Academic year: 2022

シェア "Microsoft Word - Origin_C_Programming_Guide_Japanese_.doc"

Copied!
340
0
0

読み込み中.... (全文を見る)

全文

(1)

Origin C プログラミングガイド

(2)

このマニュアルの内容の最終更新は

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

(3)

目次

1 1 Origin C

のイントロダクション ... 1

1.1

基本機能 ... 1

1.2 Hello World

チュートリアル ... 1

2 2

言語の基本 ... 5

2.1

データ型と変数 ... 5

2.1.1 ANSI C

データ型 ... 5

2.1.2 Origin C のコンポジットデータ型 ... 5

2.1.3

色 ... 6

2.2

演算子

... 8

2.2.1

算術演算子

... 8

2.2.2

比較演算子

... 9

2.2.3

論理演算子

... 10

2.2.4

ビット演算子

... 11

2.3

フロー制御ステートメント ... 12

2.3.1 if

ステートメント ... 12

2.3.2 switch

ステートメント ... 13

2.3.3 for

ステートメント... 13

2.3.4 while

ステートメント ... 14

2.3.5

ジャンプステートメント ... 14

2.3.6 foreach

ステートメント ... 15

2.4

関数 ... 15

2.4.1

グローバル関数 ... 15

2.4.2

ユーザ定義関数 ... 16

2.5

クラス ... 17

2.5.1 Origin

定義クラス

... 17

2.5.2

ユーザ定義クラス

... 17

2.6

エラーと例外処理 ... 18

3 3

事前定義のクラス ... 21

3.1

分析クラス ... 21

3.2

アプリケーションコミュニケーションクラス ... 21

3.3

コンポジットデータ型のクラス ... 22

3.4

内部

Origin

オブジェクトクラス ... 25

(4)

目次

3.6

ユーザインターフェースのコントロールクラス ... 38

3.7

ユーティリティクラス ... 43

4 4 Origin C

コードの作成と使用 ... 45

4.1 Origin C

ファイルの作成と編集... 45

4.1.1

概要... 45

4.1.2

ファイルの種類 ... 46

4.1.3

ワークスペース表示... 47

4.1.4

コードビルダのクィックスタート ... 49

4.2

コンパイル、リンク、ロード

... 50

4.2.1

コンパイルとリンク... 50

4.2.2

ビルドの自動化 ... 51

4.2.3

スクリプトでビルドする ... 52

4.2.4

エラーを識別する ... 53

4.3

デバッグする ... 54

4.3.1

コードビルダでデバッグする

... 54

4.3.2

デバッグのマクロ ... 54

4.4

コンパイルした関数を使用する ... 56

4.4.1 LabTalk

スクリプトから

Origin C

関数にアクセスする ... 56

4.4.2

値の設定ダイアログでの関数を定義する ... 60

4.5 Origin C

コードを配布する

... 61

4.5.1

ソースコードを配布する

... 61

4.5.2

アプリケーションを配布する ... 61

5 5

ワークブックと行列ブック ... 65

5.1

ワークシート

... 66

5.1.1

ワークシートの追加と削除 ... 66

5.1.2

ワークブック内のワークシートにアクセスする ... 67

5.1.3

ワークシートを並べ替える

... 68

5.1.4

ワークシートをコピーする ... 68

5.1.5

ワークシートをフォーマットする

... 69

5.1.6

セルを統合する

... 70

5.2

列 ... 70

5.2.1

次数... 70

5.2.2

データ型、フォーマット、サブフォーマット ... 71

5.2.3

データ操作 ... 72

5.2.4

列ラベル ... 73

5.2.5

数式で値をセットする ... 74

5.3

行列シート ... 74

5.3.1

行列オブジェクトにアクセスする ... 74

(5)

目次

5.3.2

行列オブジェクトの追加と削除 ... 75

5.3.3

データまたはイメージとして表示を設定 ... 75

5.4

行列 ... 76

5.4.1

次数

... 76

5.4.2

データ型とフォーマット

... 76

5.4.3

ラベル

... 77

5.4.4

データ値

... 79

5.4.5

数式で値をセットする

... 80

5.5

仮想行列 ... 80

5.6

データ操作 ... 81

5.6.1

ワークシート選択を行う ... 81

5.6.2

ワークシート内の表示範囲を設定する ... 82

5.6.3

ワークシートに大きなデータセットを配置する ... 82

5.6.4

ワークシートの埋め込みグラフにアクセスする ... 83

5.6.5

ワークシートデータのソート ... 83

5.6.6

ワークシートデータをマスクする ... 84

5.6.7 LT

の条件でワークシートからデータを抽出する ... 85

5.6.8 2

つのワークシートのデータを比較する ... 86

5.7

データ変換

... 87

5.7.1

ワークシートグリッディング

... 87

6 6

グラフ ... 91

6.1

グラフの作成と編集 ... 92

6.1.1

グラフウィンドウを作成する ... 92

6.1.2

グラフページのフォーマットを取得する ... 92

6.1.3

グラフページのフォーマットをセットする ... 92

6.1.4

グラフレイヤのフォーマットを取得する

... 92

6.1.5

グラフレイヤのフォーマットをセットする ... 92

6.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

データプロットを追加する ... 96

6.2.1 2D

プロット (XY, Yエラー, 縦棒/横棒) ... 96

6.2.2 3D

プロット ... 97

6.2.3

等高線図 ... 98

(6)

目次

6.2.6

複数区分グラフ(X軸を共有した複数レイヤ) ... 100

6.3

データプロットを編集する ... 101

6.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

レイヤを管理する ... 107

6.4.1

区分グラフを作成する ... 107

6.4.2

グラフウィンドウにレイヤを追加する ... 108

6.4.3

レイヤを配置する ... 109

6.4.4

レイヤを移動する ... 109

6.4.5

レイヤサイズの変更... 109

6.4.6 2

つのレイヤを入れ替える ... 110

6.4.7

レイヤを整列する ... 110

6.4.8

レイヤをリンクする... 111

6.4.9

レイヤ単位をセットする ... 111

6.5

図形オブジェクトの作成とアクセス ... 112

6.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

数値データ ... 117

7.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

複素数 ... 120

7.1.8 DataRange ... 120

7.2

文字列データ

... 122

7.2.1

文字列(ストリング)変数 ... 122

(7)

目次

7.2.2

文字列を数値に変換する ... 122

7.2.3

数値/文字列を別の文字列に追加する ... 122

7.2.4

部分文字列を検索 ... 123

7.2.5

部分文字列の置換 ... 123

7.2.6

パス文字列の関数 ... 123

7.3

日付と時間データ ... 124

7.3.1

現在の日時データを取得

... 124

7.3.2

ユリウス日を文字列に変換

... 125

7.3.3

文字列をユリウス日に変換

... 125

8 8

プロジェクト

... 127

8.1

プロジェクトを管理する ... 127

8.1.1

プロジェクトを開く

/

保存する

... 127

8.1.2

プロジェクトを別のプロジェクトに追加する

... 127

8.1.3

修正フラグ

... 127

8.2

フォルダを管理する ... 128

8.2.1

フォルダを作成し、そのパスを取得する ... 128

8.2.2

アクティブフォルダを取得する ... 128

8.2.3

フォルダをアクティブにする ... 128

8.2.4

指定したページのパスを取得 ... 129

8.2.5

ページ/フォルダを別の場所に移動する ... 129

8.3

ページにアクセスする

... 129

8.3.1

名前とインデックスでページにアクセスする ... 129

8.3.2

アクティブページとレイヤを取得する ... 130

8.3.3 foreach

を使う

... 130

8.4

メタデータにアクセスする ... 131

8.4.1

データ範囲にアクセスする

... 131

8.4.2

アクセスツリー

... 131

8.5

操作にアクセスする ... 135

8.5.1

すべての操作のリスト ... 135

8.5.2

ワークシートが階層であるかのチェック ... 135

8.5.3

レポートシートにアクセスする ... 136

9 9

インポート ... 137

9.1

データをインポートする ... 137

9.1.1 ASCII

データファイルをワークシートにインポート ... 137

9.1.2 ASCII

データファイルを行列シートにインポート ... 139

9.1.3

インポートフィルタを使ってデータをインポートする ... 139

(8)

目次

9.2.2

イメージをワークシートセルに挿入する ... 142

9.2.3

イメージをグラフにインポートする... 142

10 1 0

エクスポート ... 143

10.1

ワークシートのエクスポート ... 143

10.2

グラフのエクスポート ... 144

10.3

行列のエクスポート ... 144

10.3.1

行列を

ASCII

データファイルにエクスポート ... 144

10.3.2

行列からイメージを画像ファイルにエクスポート ... 145

11 1 1

分析とアプリケーション ... 147

11.1

数学 ... 147

11.1.1

正規化 ... 147

11.1.2

補間/補外 ... 148

11.1.3

積分... 148

11.1.4

微分... 152

11.2

統計

... 153

11.2.1

列と行の記述統計量... 153

11.2.2

度数カウント ... 153

11.2.3

相関係数 ... 154

11.2.4

正規性の検定 ... 154

11.3

カーブフィッティング ... 155

11.3.1

非線形フィット

... 155

11.3.2 FDF

ファイルにアクセスする

... 157

11.4

信号処理 ... 158

11.4.1

スムージング ... 158

11.4.2 FFT... 158

11.4.3 FFT

フィルタ ... 159

11.4.4

ウェーブレット分析... 159

11.5

ピークと基線 ... 160

11.5.1

基線を作成する ... 160

11.5.2

基線を削除する ... 160

11.5.3

ピークを検索する ... 161

11.5.4

ピークの積分とフィット ... 162

11.6 NAG

関数を使用する ... 163

11.6.1

ヘッダファイル

... 163

11.6.2

エラー構造体

... 163

11.6.3

コールバック関数

... 164

11.6.4 Origin

からデータを取得する

NAG

関数 ... 165

(9)

目次

1

12 2

出力オブジェクト ... 169

12.1

結果ログ ... 169

12.2

スクリプトウィンドウ ... 169

12.3

ノートウィンドウ ... 170

12.4

レポートシート

... 170

13 1 3

データベースへのアクセス ... 171

13.1

データベースからのインポート

... 171

13.2

データベースへのエクスポート ... 172

13.3 SQLite

データベースへのアクセス ... 173

14 1 4 LabTalk

へのアクセス ... 175

14.1 LabTalk

の数値を取得およびセットする ... 175

14.2 LabTalk

の文字列値を取得およびセットする ... 176

14.3 LabTalk

スクリプトを実行する ... 176

14.4 Origin C

コードに

LabTalk

スクリプトを埋め込む ... 177

15 1 5

ユーザインターフェース ... 179

15.1

ウエイトカーソル ... 179

15.2

コモンダイアログボックス ... 180

15.2.1

入力ボックス

... 180

15.2.2

メッセージボックス

... 180

15.2.3

プログレスボックス

... 181

15.2.4

ファイルダイアログ

... 181

15.3 GetN

ダイアログ ... 182

15.3.1 GETN

マクロ ... 182

15.3.2

イベントハンドリング ... 185

15.4

グラフからデータポイントを取得

... 185

15.5

グラフにコントロールを追加する ... 186

16 1 6

ダイアログビルダ ... 189

16.1

単純な

Hello World

ダイアログ ... 190

16.1.1 VC

でリソース

DLL

を作成する ... 190

16.1.2 Origin C

でリソース

DLL

を使用する ... 195

16.2

ウィザードダイアログ ... 195

(10)

目次

16.3.2

ソースファイルを準備する ... 197

16.3.3

必要なヘッダをインクルードする ... 197

16.3.4

ユーザ定義プレビュークラスを追加する ... 197

16.3.5

ダイアログクラスを追加する ... 199

16.3.6

ダイアログを開く ... 200

16.4

スプリッターダイアログ ... 200

16.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

ファンクションを作成する ... 207

17.1.1

単純な

X

ファンクションの作成

... 207

17.1.2 X

ファンクションビルダ

... 210

17.1.3

コードビルダでプログラミングする

... 216

17.1.4

グラフプレビュー付きの

GetN

ダイアログボックスを作成する ... 225

17.1.5

イメージ

GetN

ダイアログを作成する ... 229

17.1.6

カスタムダイアログを作成する ... 233

17.1.7

ウィザードダイアログを作成する ... 236

17.1.8 X

ファンクションでガジェットを作成する ... 244

17.2 X

ファンクションをカスタマイズする ... 256

17.2.1

製品メニューに

X

ファンクションを入れる ... 256

17.2.2 X

ファンクションにドキュメントを追加する ... 259

17.2.3

ダイアログにカスタムボタンを追加する ... 259

17.3 X

ファンクションを使う ... 262

17.3.1

スクリプトから

X

ファンクションを呼び出す

... 262

17.3.2 Origin C

X

ファンクションを呼び出す

... 263

17.4 X

ファンクションのサンプル ... 265

17.4.1 X

ファンクション

GUI

のコントロールを構築する ... 265

17.4.2

Xファンクションでグラフブラウザダイアログを開く ... 269

17.4.3 X

ファンクション

ReportTree サンプル ... 272

17.4.4 X

ファンクション ReportData サンプル ... 277

18 1 8

外部リソースへのアクセス ... 283

18.1

外部

DLL

にアクセスする ... 283

18.2

外部アプリケーションにアクセスする ... 284

(11)

目次

1

19 9

リファレンス ... 287

19.1

クラスの階層 ... 287

19.2

コレクション ... 290

19.3 X

ファンクションのオプション文字列 ... 292

19.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

ファンクションを実行した後出力オブジェクトの操作を設定する ... 309

19.3.14 P - GUI

の編集可能なコントロールをセットする ... 309

19.3.15 R - ダイアログのコンボボックスの動作を制限する ... 311

19.3.16 S - 入力変数のデフォルトのデータ選択を定義する ... 312

19.3.17 SV - X

ファンクションダイアログコンボボックスの文字列項目をサポートする ... 313

19.3.18 T - テーマから変数をスキップする ... 313

19.3.19 U - オプションとして出力を指定する ... 313

19.3.20 V - 不可視のコントロールを指定する ... 316

19.3.21 Z - 変数コントロールの編集可否をセットするチェックボックスを追加する ... 316

20 2 0

索引 ... 319

(12)
(13)

1 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関数を記述し始める手助けとなります。

(14)

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

ソースファイルを コンパイル、リンクします。コードビルダの出力ウィンドウは次のように表示されます。

(15)

1.2 Hello Worldチュートリアル

Origin

でこの関数を使用することができます。例えば、Originのスクリプトウィンドウでこの関数を呼

び出すことができます。 スクリプトウィンドウが開かない場合、メニューからウィンドウ:スクリプトウィンド ウメニューを選択して、開きます。

スクリプトウィンドウに

test という関数名を入力し、ENTER

キーを押し、コマンドを実行します。

Origin C

関数が実行され、

hello, world という文字が次の行に表示されます。

(16)

1.2 Hello Worldチュートリアル

スクリプトウィンドウに加え、コードビルダで

LabTalk

コンソールウィンドウから関数を呼び出すことが できます。このコンソールウィンドウが開かない場合、コードビルダで表示:LabTalkコンソールを選 択します。

Origin C

ファイルが問題なくコンパイルリンクされると、ファイル内で定義したすべ

ての関数は、LabTalkスクリプトをサポートしている

Origin

内のどこからでもスク リプトコマンドとして呼び出すことができます。関数パラメータおよび戻り値は、スク リプトからアクセス可能なある基準に合致する必要があります。詳細については、

LabTalk

ヘルプファイルの

LabTalk

プログラミング:LabTalkガイド:Xファンク ションおよび

Origin C

関数の呼び出し:Origin C関数 の章をご覧ください。こ のヘルプファイルは

Origin

のヘルプ:プログラミング:LabTalk メニューからアク セスできます。

(17)

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型の行列を宣言

(18)

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

(19)

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 マクロを使って簡単に行うことができます。

(20)

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 算術演算子

演算子 目的

*

乗法

/

除法

%

剰余 (余り)

(21)

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

を返します。

演算子 目的

>

より大きい

>=

以上

<

より小さい

(22)

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

(23)

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

を参照。

|

論理和 OR

Note

:デフォルトで、

Origin C

は、指数演算子としてキャレット

(^)

を扱います。これは

LabTalk

と一 貫性を持つために行われています。ANSI Cでは、キャレット(^)を排他論理和演算子として使いま す。コードの前に特別な

pragma

ステートメントを使って強制的に

Origin C

がキャレット(^)を排他

(24)

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"); // bRetTrueのとき }

else {

out_str("INVALID input"); // bRetFalseのとき }

(25)

2.3 フロー制御ステートメント

if

ステートメントが

1

つのステートメントしか持たない場合、ブレースは任意です。これは、上記のコー ドがブレース無しで書けるということです。

if( bRet )

out_str("Valid input"); // bRetTrueのとき else

out_str("INVALID input"); // bRetFalseのとき

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]);

}

(26)

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);

}

(27)

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

通信 曲線 データ変換 データ範囲

(28)

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;

(29)

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; // d3.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;

(30)

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() {

(31)

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);

}

(32)
(33)

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

を参照してく ださい。

(34)

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クラスで定義されたメソッドを使って簡単にプロ

(35)

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

値は、それぞれ行列の列と行に線形でマッ ピングされます。

(36)

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

このクラスは、番号付きの名前のプレフィックスで子ツリーノードの

(37)

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

のグラフページの軸に含まれます。

(38)

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

内には存在しません。

(39)

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

オブジェクトに含まれ、部分データ範

(40)

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

型のデ

ータポイントを扱うのに使われます。

参照

関連したドキュメント

それゆえ、この条件下では光学的性質はもっぱら媒質の誘電率で決まる。ここではこのよ

手動のレバーを押して津波がどのようにして起きるかを観察 することができます。シミュレーターの前には、 「地図で見る日本

(2) 交差軸(2軸が交わる)で使用する歯車 g) すぐ歯かさ歯車.

本プログラム受講生が新しい価値観を持つことができ、自身の今後進むべき道の一助になることを心から願って

キャンパスの軸線とな るよう設計した。時計台 は永きにわたり図書館 として使 用され、学 生 の勉学の場となってい たが、9 7 年の新 大

・カメラには、日付 / 時刻などの設定を保持するためのリチ ウム充電池が内蔵されています。カメラにバッテリーを入

は,医師による生命に対する犯罪が問題である。医師の職責から派生する このような関係は,それ自体としては

自然言語というのは、生得 な文法 があるということです。 生まれつき に、人 に わっている 力を って乳幼児が獲得できる言語だという え です。 語の それ自 も、 から