「Vlax-ldata-get」の版間の差分
細 (ページ Vlax-ldata-getdict を Vlax-ldata-get へ移動) |
編集の要約なし |
||
(同じ利用者による、間の2版が非表示) | |||
1行目: | 1行目: | ||
{{AutoLISP}} | |||
; 構文 | ; 構文 | ||
: (vlax-ldata-get ''dict'' ''key'' [''default-data''] [''private'']) | : (vlax-ldata-get ''dict'' ''key'' [''default-data''] [''private'']) | ||
5行目: | 7行目: | ||
; 機能 | ; 機能 | ||
: 図面ディクショナリまたはオブジェクトから LISP データを取得する。 | : 図面ディクショナリまたはオブジェクトから LISP データを取得する。 | ||
; 引数 | ; 引数 | ||
11行目: | 14行目: | ||
:* default-data : ディクショナリ内に一致するキーが存在しない場合に返す LISP データ。 | :* default-data : ディクショナリ内に一致するキーが存在しない場合に返す LISP データ。 | ||
:* private : private 引数に nil 以外の値が指定され、独自の名前空間 VLX から vlax-ldata-get 関数が呼び出されると、vlax-ldata-get 関数は dict からプライベート LISP データを取得する。 | :* private : private 引数に nil 以外の値が指定され、独自の名前空間 VLX から vlax-ldata-get 関数が呼び出されると、vlax-ldata-get 関数は dict からプライベート LISP データを取得する。 | ||
: * private 引数を指定した場合は、default-data | : * private 引数を指定した場合は、default-data 引数も指定する必要があり、default-data 引数には nil を使用できる。 | ||
: * 独自の名前空間 VLX が、同じ dict および key を使用して、プライベート データと非プライベート データの両方を格納できることに注意。 プライベート データは、同じ VLX からアクセスできるだけだが、非プライベート データは、任意のアプリケーションが取得することができる。 | : * 独自の名前空間 VLX が、同じ dict および key を使用して、プライベート データと非プライベート データの両方を格納できることに注意。 プライベート データは、同じ VLX からアクセスできるだけだが、非プライベート データは、任意のアプリケーションが取得することができる。 | ||
; 戻り値 | ; 戻り値 | ||
63行目: | 67行目: | ||
#: '''"Mumbo Dumbo"''' | #: '''"Mumbo Dumbo"''' | ||
#:: vlax-ldata-get 関数を独自の名前空間の外側で実行した場合、private 引数は無視される。 指定された dict および key に対する非プライベート データが存在する場合(そのインスタンス内に)、そのデータが取得される。 | #:: vlax-ldata-get 関数を独自の名前空間の外側で実行した場合、private 引数は無視される。 指定された dict および key に対する非プライベート データが存在する場合(そのインスタンス内に)、そのデータが取得される。 | ||
----- | |||
関連事項 | |||
* [[vlax-ldata-get]] 関数 | |||
* [[vlax-ldata-delete]] 関数 | |||
* [[vlax-ldata-list]] 関数 | |||
* [[vlax-ldata-put]] 関数 | |||
[[Category:AutoLISP]] | [[Category:AutoLISP]] |
2021年2月17日 (水) 11:08時点における最新版
- 構文
- (vlax-ldata-get dict key [default-data] [private])
- 機能
- 図面ディクショナリまたはオブジェクトから LISP データを取得する。
- 引数
-
- dict : VLA オブジェクト、AutoCAD 図形オブジェクト、またはグローバル ディクショナリの名前を示す文字列。
- key : ディクショナリ キーを指定する文字列。
- default-data : ディクショナリ内に一致するキーが存在しない場合に返す LISP データ。
- private : private 引数に nil 以外の値が指定され、独自の名前空間 VLX から vlax-ldata-get 関数が呼び出されると、vlax-ldata-get 関数は dict からプライベート LISP データを取得する。
- * private 引数を指定した場合は、default-data 引数も指定する必要があり、default-data 引数には nil を使用できる。
- * 独自の名前空間 VLX が、同じ dict および key を使用して、プライベート データと非プライベート データの両方を格納できることに注意。 プライベート データは、同じ VLX からアクセスできるだけだが、非プライベート データは、任意のアプリケーションが取得することができる。
- 戻り値
- key 項目の値。
- サンプル
- Visual LISP コンソール ウィンドウに次のコマンドを入力する。
(vlax-ldata-put "mydict" "mykey" "Mumbo Dumbo") "Mumbo Dumbo" (vlax-ldata-get "mydict" "mykey") "Mumbo Dumbo"
- VLX のプライベート データの使用をテストするには
- Visual LISP コンソール ウィンドウに次のコマンドを入力する。
- (vlax-ldata-put "mydict" "mykey" "Mumbo Dumbo")
- "Mumbo Dumbo"
- (vlax-ldata-get "mydict" "mykey")
- "Mumbo Dumbo"
- ファイルに次のコードを入力し、[アプリケーションを作成]を使用してファイルから VLX を作成する。 [アプリケーションを作成]ウイザードの[エキスパート モード]を使用します。また、[コンパイル オプション]タブで[独自の名前空間]オプションを選択する。
- (vl-doc-export 'ldataput)
- (vl-doc-export 'ldataget)
- (vl-doc-export 'ldataget-nilt)
- (defun ldataput ()
- (princ "This is a test of putting private ldata ")
- (vlax-ldata-put "mydict" "mykey" "Mine! Mine! " T)
- )
- (defun ldataget ()
- (vlax-ldata-get "mydict" "mykey")
- )
- (defun ldataget-nilt ()
- (vlax-ldata-get "mydict" "mykey" nil T)
- )
- VLX ファイルをロードする。
- ldataput 関数を実行して、プライベート データを保存する。
- (ldataput)
- This is a test of putting private ldata
- ldataput 関数を定義しているコードを再確認すること。この関数は "Mine! Mine!" という文字列を格納している。
- ldataget 関数を実行して、LISP データを取得する。
- (ldataget)
- "Mumbo Dumbo"
- ldataget 関数が取得したデータは、ldataput 関数が格納したデータではないことに注意。 これは、ldataget 関数が、private 引数を指定せずに vlax-ldata-get 関数を呼び出したためで、ldataget 関数が取得したデータは、手順 1 で Visual LISP コンソールから vlax-ldata-put 関数を実行して設定したデータになる。
- (ldataget-nilt)
- "Mine! Mine! "
- ldataget-nilt 関数を実行して、LISP データを取得する。
- (ldataget-nilt)
- "Mine! Mine! "
- 今度は、ldataget-nilt 関数が vlax-ldata-get 関数の呼び出しで private 引数を指定しているので、ldataput 関数が保存したプライベート データが返される。
- Visual LISP コンソール プロンプトから、ldataget-nilt 関数が使用するのと同じ呼び出しを実行して、プライベート データを取得する。
- (vlax-ldata-get "mydict" "mykey" nil T)
- "Mumbo Dumbo"
- vlax-ldata-get 関数を独自の名前空間の外側で実行した場合、private 引数は無視される。 指定された dict および key に対する非プライベート データが存在する場合(そのインスタンス内に)、そのデータが取得される。
関連事項
- vlax-ldata-get 関数
- vlax-ldata-delete 関数
- vlax-ldata-list 関数
- vlax-ldata-put 関数