Ldata, como salvar, recuperar, deletar ou listar dados em um desenho

Funções interessantes para armazenar dados ocultos DENTRO de um desenho:
vlax-ldata-put, para salvar dados
sintaxe: (vlax-ldata-put dict key data [private])
onde: dict pode ser uma entidade (vla-object, ou ename) ou uma string (que nomeia um dictionary), funciona como uma "tabela" key é a "chave" ou "campo" dentro da "tabela" onde se quer armazenar algo data são os dados em si, pode ser qualquer coisa válida no autolisp, como listas, strings, numeros, etc... [private], opcional, se for colocado algo diferente de NIL, e vlax-ldata-put for usado dentro de uma VLX com separate namespace somente esta VLX terá acesso a esta LDATA exemplo:
(vlax-ldata-put "tabela" "campo" 25) para recuperar os dados: (vlax-ldata-get
"tabela" "campo") retorna então, o 25 Veja que 25, é um exemplo, mas poderia ser '(1 2 5), ou "teste", ou 14.5, ou seja, qualquer coisa
Legal né?

E tem ainda as funções:
vlax-ldata-get, para recuparar os dados
sintaxe: (vlax-ldata-get dict key data [private])
exemplo:
(vlax-ldata-put "tabela" "campo")

vlax-ldata-delete, pra deletar um dado (doh!!)
sintaxe:
(vlax-ldata-delete dict key data [private])
exemplo:
(vlax-ldata-delete "tabela" "campo")

vlax-ldata-list, para listar todos os "campos" de uma "tabela"
sintaxe:
(vlax-ldata-list dict [private])
exemplo:
(vlax-ldata-put "tabela" "campo" 25)
(vlax-ldata-put "tabela" "teste" '((14 3)))

(vlax-ldata-list "tabela")
retorna:
(("teste" (14 3)) ("campo" . 25))

Legal, agora, qualquer coisa MEEEEEESSMMOO pode ser salva? para saber se seus dados podem ser salvos e recuperados depois, use:
vlax-ldata-test, para testar se é possível salvar seus dados
sintaxe:
(vlax-ldata-test data)
exemplo:
(vlax-ldata-test '((10 25) (6 "aa")))
que retorna T (ou NIL se nao puder ser salvo)

É isso...
Ainda tem a possibilidade de usar XDATA ou XRECORD, se bem que XRECORD é bem mais complexo...

Nenhum comentário:

Postar um comentário