EnvLib は、環境を保存および復元するために使用 (および集約) できるクラスのコレクションです。これらのクラスは、SET、ON、オープン テーブル、システム変数、オブジェクト プロパティ、およびその他のヘルパーを保存、設定、および復元します。
Visual FoxPro 用の EnvLib のオリジナル バージョンは、1995 年 7 月にTom Rettigによって作成されました。Tom は 1996 年 2 月に亡くなりました。それ以来、Visual FoxPro は大きく前進しました。これは彼のオリジナル ライブラリの更新バージョンです。
init()時に VFP 環境の側面を保存し、オプションで設定します。destroy()時に VFP 環境の側面を復元します。destroy()時にリセットされないように作成時に構成できます。Envlib をアプリケーションに含めるには、使用する前にSET PROCEDURE ... ADDITIVE呼び出すだけです。
SET PROCEDURE TO <path>EnvLib ADDITIVE
標準の Visual FoxProでは、 SET PATH保存と設定は次のようになります。
LOCAL lcAPath
lcPath= SET( "path" )
SET PATH TO newPath && or SET PATH TO newPath ADDITIVE
* Lots of code here
* Now restore the previously selected work area
SET PATH TO &lcPath && Do this everywhere you might exit
RETURN
Envlib を使用すると、次のようになります。
LOCAL loAlias
loAlias= CREATEOBJECT( "SetPath", "newPath" )
* or loAlias= CREATEOBJECT( "SetPath", "newPath", "Additive" )
* Lots of code here
RETURN
lcPathが字句範囲外になると、その破棄時にSET PATHがリセットされるため、すべての終了点をカバーする必要はないことに注意してください。
標準の Visual FoxProでは、現在の作業領域の保存は次のようになります。
LOCAL lcAlias
lcAlias= SELECT()
* Lots of code here
* Now restore the previously selected work area
SELECT ( lcAlias ) && Do this everywhere you might exit
RETURN
Envlib を使用すると、次のようになります。
LOCAL loAlias
loAlias= CREATEOBJECT( "SaveSelect" )
* Lots of code here
RETURN
loAlias が字句スコープの外に出ると、その破棄時に作業領域がリセットされるため、すべての終了点をカバーする必要はないことに注意してください。
LOCAL lcAlias
lcAlias= SELECT()
SELECT Customer
* Lots of code here
* Now restore the previously selected work area
SELECT ( lcAlias ) && Do this everywhere you might exit
RETURN
Envlib を使用すると、次のようになります。
LOCAL loAlias
loAlias= CREATEOBJECT( "SetSelect". "Customer" )
* Lots of code here
RETURN
| クラス | 親 | 注意事項 |
|---|---|---|
| セット | カスタム | 抽象クラス |
| セット 2 | セット | 抽象クラス |
| セットオンオフ | セット | 抽象クラス |
| オンオフ 2 を設定 | セット 2 | 抽象クラス |
| の上 | カスタム | 抽象クラス |
| 保存エリア | カスタム | 抽象クラス |
| 使用領域の保存 | 保存エリア | 抽象クラス |
これらのクラスは、対応するSET()関数を持つさまざまな VFP SETコマンドを保存、設定、復元します。
| クラス | 親 |
|---|---|
| 代替の設定 | オンオフ 2 を設定 |
| セットアンシ | セットオンオフ |
| SetAsserts | セットオンオフ |
| SetAutoIncError | セットオンオフ |
| 自動保存を設定する | セットオンオフ |
| セットベル | セットオンオフ |
| ブロックサイズの設定 | セット |
| Brstatus を設定する | セットオンオフ |
| セットキャリー | セットオンオフ |
| 世紀を設定します | セットオンオフ |
| SetClassLib | セット |
| セットクリア | セットオンオフ |
| クロックを設定する | セットオンオフ |
| セット照合 | セット |
| カバレッジの設定 | セット |
| カラーの設定 | セット |
| セット互換性あり | オンオフ 2 を設定 |
| 設定確認 | セットオンオフ |
| コンソールを設定する | セットオンオフ |
| SetCpcompile | セット |
| SetCpダイアログ | セットオンオフ |
| 通貨の設定 | セット 2 |
| SetCursor | セットオンオフ |
| データベースを設定する | セット |
| SetDataSession | セット |
| 日付の設定 | セット |
| デバッグの設定 | セットオンオフ |
| SetDecimals | セット |
| デフォルトを設定 | セット |
| 削除の設定 | セットオンオフ |
| 区切り文字の設定 | オンオフ 2 を設定 |
| セット開発 | セットオンオフ |
| ディスプレイの設定 | セット |
| SetDohistory | セットオンオフ |
| エコーを設定する | セットオンオフ |
| エンジンの動作を設定する | セット |
| SetEscape | セットオンオフ |
| SetExact | セットオンオフ |
| 排他的な設定 | セットオンオフ |
| SetFdow | セット |
| 固定を設定 | セットオンオフ |
| フルパスの設定 | セットオンオフ |
| 週を設定 | セット |
| 見出しの設定 | セットオンオフ |
| ヘルプを設定する | オンオフ 2 を設定 |
| ヘルプフィルターを設定する | セット |
| 時間を設定する | セット |
| 強度の設定 | セットオンオフ |
| SetKeycomp | セット |
| セットライブラリ | セット |
| ロックを設定する | セットオンオフ |
| SetLogErrors | セットオンオフ |
| マージンの設定 | セット |
| セットマッキー | セット |
| セットマーク | セット |
| SetMemoWidth | セット |
| SetMessage | セット 2 |
| マルチロックの設定 | セットオンオフ |
| 近くに設定 | セットオンオフ |
| 通知を設定する | セットオンオフ |
| SetNull | セットオンオフ |
| SetNullDisplay | セット |
| オドメーターを設定する | セット |
| SetOLEObject | セットオンオフ |
| セット最適化 | セットオンオフ |
| パレットの設定 | セットオンオフ |
| パスの設定 | セット |
| プリンターの設定 | オンオフ 2 を設定 |
| セットポイント | セット |
| セットプロシージャ | セット |
| SetReadBorder | セットオンオフ |
| セットリフレッシュ | セット 2 |
| SetReprocess | セット |
| リソースの設定 | オンオフ 2 を設定 |
| リソースの設定作成 | リソースの設定 |
| セットセーフティ | セットオンオフ |
| 秒数の設定 | セットオンオフ |
| SetSeparator | セット |
| SetSpace | セットオンオフ |
| ステータスの設定 | セットオンオフ |
| ステータスバーの設定 | セットオンオフ |
| セットステップ | セットオンオフ |
| SetSysFormats | セットオンオフ |
| SetSysMenu | セット |
| SetTableValidate | セット |
| セットトーク | セットオンオフ |
| トピックの設定 | セット 2 |
| SetTrBetween | セットオンオフ |
| 先行入力を設定 | セット |
| SetUdfParms | セット |
| SetUnique | セットオンオフ |
| セットビュー | セットオンオフ |
| メモのウィンドウを設定 | セット |
| SetVfpDefaults | カスタム |
これらのクラスは、対応するON()関数を持つさまざまな VFP ONコマンドを保存、設定、復元します。
| クラス | 親 |
|---|---|
| エラー時 | の上 |
| オンキー | の上 |
| OnKeyLabel | の上 |
| シャットダウン時 | の上 |
これらのクラスは、作業領域のプロパティの保存に関するさまざまな側面を保存、設定、および復元します。
| クラス | 親 |
|---|---|
| 保存選択 | 保存エリア |
| セットセレクト | 保存選択 |
| バッファリングの保存 | 使用領域の保存 |
| セットバッファリング | バッファリングの保存 |
| 保存Recno | 使用領域の保存 |
| 注文の保存 | 使用領域の保存 |
| SetOrder | 注文の保存 |
| フィルターの保存 | 使用領域の保存 |
| フィルターの設定 | フィルターの保存 |
| 関係の保存 | 使用領域の保存 |
| SetRelation | 関係の保存 |
| テーブルの保存 | 使用領域の保存 |
| すべてのテーブルを保存 | カスタム |
| OpenAliasCheckpoint | カスタム |
これらのクラスは、その他のさまざまなものを保存、設定、復元します。
| クラス | 親 | 注意事項 |
|---|---|---|
| プロパティの保存 | カスタム | |
| SetProperty | プロパティの保存 | |
| SetSysVar | カスタム | |
| メッセージタイマー | タイマー | |
| ロック画面の設定 | カスタム | form.lockScreen保存して設定し、インスタンスがスコープ外になるとリセットします。 |
| スコープタイマー | カスタム | destroy()デバッグ時に、オブジェクトのスコープの有効期間が秒単位で表示されます。 |