Vlax-ldata-get

提供:GizmoLabs - だいたい CAD LISP なサイト
Vlax-ldata-getdictから転送)
構文
(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 のプライベート データの使用をテストするには
  1. Visual LISP コンソール ウィンドウに次のコマンドを入力する。
    (vlax-ldata-put "mydict" "mykey" "Mumbo Dumbo")
    "Mumbo Dumbo"
    (vlax-ldata-get "mydict" "mykey")
    "Mumbo Dumbo"
  2. ファイルに次のコードを入力し、[アプリケーションを作成]を使用してファイルから 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)
    )
  3. VLX ファイルをロードする。
  4. ldataput 関数を実行して、プライベート データを保存する。
    (ldataput)
    This is a test of putting private ldata
    ldataput 関数を定義しているコードを再確認すること。この関数は "Mine! Mine!" という文字列を格納している。
  5. ldataget 関数を実行して、LISP データを取得する。
    (ldataget)
    "Mumbo Dumbo"
    ldataget 関数が取得したデータは、ldataput 関数が格納したデータではないことに注意。 これは、ldataget 関数が、private 引数を指定せずに vlax-ldata-get 関数を呼び出したためで、ldataget 関数が取得したデータは、手順 1 で Visual LISP コンソールから vlax-ldata-put 関数を実行して設定したデータになる。
    (ldataget-nilt)
    "Mine! Mine! "
  6. ldataget-nilt 関数を実行して、LISP データを取得する。
    (ldataget-nilt)
    "Mine! Mine! "
    今度は、ldataget-nilt 関数が vlax-ldata-get 関数の呼び出しで private 引数を指定しているので、ldataput 関数が保存したプライベート データが返される。
  7. Visual LISP コンソール プロンプトから、ldataget-nilt 関数が使用するのと同じ呼び出しを実行して、プライベート データを取得する。
    (vlax-ldata-get "mydict" "mykey" nil T)
    "Mumbo Dumbo"
    vlax-ldata-get 関数を独自の名前空間の外側で実行した場合、private 引数は無視される。 指定された dict および key に対する非プライベート データが存在する場合(そのインスタンス内に)、そのデータが取得される。



関連事項