(dictnext ename [rewind])
Wyszukuje elementu w słowniku.
Funcja dictnext przeszukuje słownik (ename) w poszukiwaniu kolejnego elementu. Jeśli parametr rewind jest ustawiony i nie nil, słownik jest przeszukiwany "od czątku" - pierwszy element słownika jest zwracany.
Przykład:
; tworzymy słownik:
(setq dict (list '(0 . "DICTIONARY")'(100 . "AcDbDictionary")))
(setq new_name (entmakes dict))
(setq nmdict (namedobjdict ))
(setq newdict (dictadd nmdict "NEW_DICTIONARY" new_name ))
; przygotowujemy dane do zapisania w słowniku
(setq datalist (append (list '(0 . "XRECORD") '(100 . "AcDbXrecord")) '((1 . "new_data") (10 1. 2. 3.) (70 . 33))))
; dodajemy dane do słownika - pierwszy wpis:
(setq new_name (entmakex datalist))
(dictadd newdict "FIRST__DATA_RECORD" new_name)
; dodajemy dane do słownika - drugi wpis:
(setq new_name (entmakex datalist))
(dictadd newdict "SECOND_DATA_RECORD" new_name)
Zwraca drugi element ze słownika
(cdr (car (dictnext newdict)))
przeszukujemy słownik od początku, zwraca pierwszy element słownika
(cdr (car (dictnext newdict T)))