|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
![]() |
Поиск в этой теме |
![]() |
#1 | |
Хэ-records
Регистрация: 15.08.2005
Сообщений: 35
|
||
Просмотров: 7715
|
|
||||
Lisp/VBA/VB.NET Hobbyist Регистрация: 24.03.2005
Славен Град Петров
Сообщений: 367
|
|
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406
|
> Fatty : А можно оттуда опубликовать код? У меня чего-то не получилось достучаться
![]()
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Регистрация: 15.08.2005
Сообщений: 35
![]() |
Спасибо всем помогли! сделал через
vlax-idata-get/put, Скажите еще можна ли выдрать из общей базы словарей - словари с определенным ключем. тк vlax-idata-get работает только с имнем словаря. я не знаю сколько и с какими именами будет моих словарей поэтому нада выдирать по своему уникальному ключу или как? можно наверно еще так: записать (foreach dict list_dic (vlax-ldata-put (strcat "$mydic$" (car dict)) "MyKEY" (cdr dict)) ) чуть не написал $mydick$ ))) а забирать: читать все через (entget (namedobjdict)) искать среди них с имнем на "$mydic$" а потом только через vlax-ldata-get по этим именам забирать свои? или создавать паралельно свой словарь со своим уникальным имнем который содержит имена моих словарей или содержит сами эти словари? и может ли такой словарь занимать более 16 с гаком кб? |
|||
![]() |
|
||||
Регистрация: 15.08.2005
Сообщений: 35
![]() |
Спасибо, Fatty!
Но поставленая мной задача всего лишь маленькая часть курсового проекта, целью котораого является разработка инструмента для работы с пользовательскими словарями и файлами и прочими данными: диалоги создания удаления редактирования файлов словарей и записей и тп.... а вот храницца они должны обязательно как хзапись. а обьяснять студентам стмысл всего тобой изложеного при отсутсвии у них русской литературы с описанием всех vla-... функций дело не занятное. надо типа как я писал ранее вот только будет ли оно корректно работать?: записать (foreach dict list_dic (vlax-ldata-put (strcat "$mydic$" (car dict)) "MyKEY" (cdr dict)) ) чуть не написал $mydick$ ))) а забирать: читать все через (entget (namedobjdict)) искать среди них с имнем на "$mydic$" а потом только через vlax-ldata-get по этим именам забирать свои? или создавать паралельно свой словарь со своим уникальным имнем который содержит имена моих словарей или содержит сами эти словари? и может ли такой словарь занимать более 16 с гаком кб? |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Можно и через (entget (namedobjdict)), и хранить имена словарей в общем словаре. В общем случае трудно выбрать оптимальное решение.
Просто следует учесть ,что данные [(cdr dict)] -это данное любого типа, используемого в AutoLISP. Это может быть список, как в нашем случае, а может быть список списков. Остановить может только Билл Гейтс, больное воображение или отсутствие оного. По поводу каких-то ограничение ничего в литературе не нашел (в отличие от расширенных данных). Хотя это можно проверить Код:
|
|||
![]() |
|
||||
КИП, АСУ ТП, слаботочка Регистрация: 02.09.2010
Москва-Тюмень
Сообщений: 422
|
а что тут гемморойного-то? Разобрался с основными возможностями словарей за 2 часа. Если нужно упростить работу со словарями - можно написать функции. Да хоть диалоговые окна для рботы со словарями сделать )
Не, меня очень порадовали возможности словарей. |
|||
![]() |