Mol(Math Object Library) fot .Net

The LightDB<(Of <(<'K, D>)>)> type exposes the following members.

コンストラクター

  名前説明
Public methodLightDB<(Of <(<'K, D>)>)>
LightDB クラスのコンストラクタ。keySize と dataSize はキーとデータフィールドの最大配列要素数です。 クラスに含まれる全てのメソッドにキーやデータの配列を引数として指定しますが、以下の処理が適用されます。
・メソッドの引数に指定した配列のサイズが keySize や dataSize 以下の場合、残りはゼロが仮定されます。
・メソッドの引数に指定した配列のサイズが keySize や dataSize 以上の場合、 keySize か dataSize 以上の配列要素は無視されます。
また、キーやデータが string の場合、配列サイズではなく最大文字数の指定になります。 文字列も文字列配列として扱いますが配列要素数は常に1と扱います(先頭要素の文字列のみ操作対象になります)。

メソッド

  名前説明
Public methodAddRecord
データファイルにレコードを追加します。 同じキーのレコードが既に存在すればレコードは追加されず、戻り値に 1 が返ります。 レコードが正しく追加されれば戻り値として 0 が返ります。 レコードポインターは追加されたレコード位置にセットされます。
Public methodChangeRecord
同じキーのレコードを検索して見つかれば、そのデータフィールドを Data の内容で置き換えます。 データが処理が正常に更新された場合は 0 、キーが見つからない場合は 2 が戻ります。 正常終了した場合、レコードポインターはアクセスされたレコード位置にセットされます。
Public methodClose
オープンしたファイルをクローズします。
Public methodDeleteRecord
同じキーのレコードを検索して見つかれば、そのレコードを削除します。 削除されたレコードはリンクリストに追加され後のレコード追加に使用されます。 正常終了した場合、レコードポインターは不定になります。
Public methodDispose
使用したメモリー資源などを解放します。
(Overrides _Mol..::..Dispose()()()().)
Public methodFlush
メモリー上にキャッシュされた、書き込む必要のある、ページを LightDB ファイルに書き込みます。
Public methodGetField
FieldIndexで指定されるデータ配列(データ配列を Data とすると Data[FieldIndex] )要素を返します。 キーが存在しない場合はデフォルト値(一般にはゼロ)が帰ります。 処理が正常終了すれば、レコードポインターはアクセスされたレコードの位置にセットされます。
Public methodGetMaximumRecord
最大キーのレコードを読み込みます。 正常終了した場合、レコードポインターはアクセスされたレコード位置にセットされます。
Public methodGetMinimumRecord
最少キーのレコードを読み込みます。 正常終了した場合、レコードポインターはアクセスされたレコード位置にセットされます。
Public methodGetNextRecord
前回処理されたキーの(レコードポインターを進めて)次に大きいレコードを読み込みます。 レコードの追加や削除の後はレコードは読み込まれません。
Public methodGetPrevRecord
前回処理されたキーの(レコードポインターを戻して)次に小さいレコードを読み込みます。 レコードの追加や削除の後はレコードは読み込まれません。
Public methodOpen(String)
既存の LightDB ファイルを(読み書き可能形式で)オープンします。 ファイルが存在しない場合は新規に作成します。 既存のファイルをオープンする場合は キーフィールドのタイプとサイズ、データフィールドのサイズが一致しないとエラーになります。 データフィールドはバイトサイズが一致していれば使用可能ですが、お勧めできません。
Public methodOpen(String, Boolean)
既存または新規の LightDB ファイルをオープンします。 ファイルが存在しない場合は新規に作成します。 既存のファイルをオープンする場合は キーフィールドのタイプとサイズ、データフィールドのサイズが一致しないとエラーになります。 データフィールドはバイトサイズが一致していれば使用可能ですが、お勧めできません。
Public methodOpenNew
LightDB ファイルを新規に(読み書き可能形式で)オープンします。 同じ名前のファイルがあれば、エラーになります。
Public methodOpenRenew
LightDB ファイルを(読み書き可能形式で)オープンします。 ファイルが存在しない場合は新規に作成します。同じ名前のファイルがあれば、内容は全て一旦削除されて作り直されます。
Public methodReadRecord
同じキーのレコードを検索して見つかれば、そのデータフィールドを Data に読み込みます。 見つからない場合は、戻り値に 2 が帰ります。 正常終了した場合、レコードポインターはアクセスされたレコード位置にセットされます。
Public methodRereadRecord
前回処理されたレコードを(再度)読み込みます。 レコードポインターは変化しません。 レコードの追加や削除の後はレコードは読み込まれません。
Public methodSetField
FieldIndexで指定されるデータ配列(データ配列を Data とすると Data[FieldIndex] )要素にデータ(d)を設定します。 キーが存在しない場合は新規にレコードが追加されます(指定された配列要素以外はゼロになります)。 処理が正常終了すれば、レコードポインターはアクセスされたレコードの位置にセットされます。
Public methodSetupRecord
同じキーのレコードを検索して見つかれば、そのデータフィールドを Data の内容で置き換えます。 見つからない場合は、キーとデータをデータベースに追加します。 正常終了した場合、レコードポインターはアクセスされたレコード位置にセットされます。
Public methodVerify
オープンされている LightDB ファイルを検証します。 エラーメッセージや付属情報はコンソールに出力されるので、本メソッドを使用する場合は コンソール出力が有効になっていることを確認してください。
本メソッドは、例えば書き込み処理中に電源がダウンした場合等の、ファイルの有効性を検証するもので 修復の機能はありません。本メソッドで ERROR メッセージが出力された場合はファイルは破壊されている 可能性が高いのでファイル全体を再作成する必要があります。

フィールド

  名前説明
Public fieldTag
ユーザが自由に設定・使用できるオブジェクトです。 Mol が内部で参照することはありません。
(Inherited from _Mol.)

プロパティ

  名前説明
Public propertyDataLength
データフィールドの最大配列用素数。 文字列(string)の場合は最大文字数です。
Public propertyFieldIndex
インデクサ(またはGetField()やSetField()メソッド)を利用してアクセスするデータ配列要素のインデックスです。 ただし、 string の場合は 0 固定で変更することはできません。
Public propertyIsOpened
LightDB ファイルがオープンされている場合 true 、そうでなければ false。
Public propertyItem[([( K])])
インデクサを使用してキー(の先頭要素)を連想配列要素としてデータフィールドの要素 (FieldIndex)にアクセスできます。 レコードポインターはアクセスされたレコード位置にセットされます。
Public propertyItem[([( K, K])])
インデクサを使用してキー(の先頭要素)を連想配列要素としてデータフィールドの要素 (FieldIndex)にアクセスできます。 レコードポインターはアクセスされたレコード位置にセットされます。
Public propertyKeyLength
キーフィールドの最大配列用素数。 文字列(string)の場合は最大文字数です。
Public propertyMolHandle
Mol.C++.dll(ネイティブDLL)と Mol.Net.Dll(.Net 用マネージドDLL)間の情報を管理するハンドル。 NativeDll クラスでユーザ作成のネイティブDLLを作成する場合等に利用できます。
(Inherited from _Mol.)
Public propertyMolType
Molオブジェクトの属性(_Mol..::..MOL_TYPE)。
(Inherited from _Mol.)
Public propertyReadOnly
書き込み禁止属性。書き込み可能なファイルを一時的に書き込み禁止にしたいような場合に設定します。 true に設定すると書き込みができなくなります。 ただし、そもそもファイルを書き込み禁止でオープンした場合は false に設定することはできません。
Public propertyUserArea
ヘッダ領域に確保されたユーザ固有の情報領域です。 読み書きできるバイトサイズはUserAreaSizeを参照してください。 (情報はバイト列に変換してください。)
Public propertyUserAreaSize
ヘッダ領域にユーザ固有の情報を保存できる領域のバイトサイズです。
Public propertyUserType
Molオブジェクトの追加属性(_Mol..::..USER_TYPE)。 例えば一般行列でも要素が対称なら、その属性を積極的にセットすることでソルバーは最適な手法を選択することができます。 当然ながら、間違った設定は間違った値や計算不能な状態に陥りますので注意して設定してください。
(Inherited from _Mol.)

参照