I.Kroutil
07.12.2006, 11:37
Dobrý den, jelikož programuji v Lispu jen ojediněle, obracím se na vás s touto prosbou. Dělám prográmek obsahující výběrový filtr a potřeboval bych poradit, jakým způsobem lze provést následující.
(setq a_sez) má hodnotu (8 . "TEXT")
(setq b_sez) má hodnotu (62 . 256)
(setq c_sez) má hodnotu (7 . "Isocp")
(setq d_sez) má hodnotu (40 . 3.5)
dále by mohlo následovat
(ssget (list a_sez b_sez c_sez d_sez)) má hodnotu
(ssget ((8 . "TEXT") (62 . 256) (7 . "Isocp") (40 . 3.5)) a bude fungovat
Já ale potřebuji dosáhnout dotatečného doplnění nebo jiného obsahu v seznamu. Jednotlivé hodnoty proměnných jsou závislé na vybrání v dialogovém panelu. Takže může dojít k následujícímu
(setq a_sez) má hodnotu (8 . "TEXT")
(setq b_sez) má hodnotu (62 . 256)
(setq c_sez) má hodnotu (7 . "Isocp")
(setq d_sez) má hodnotu nil (nebyla vybrána)
a v takovém případě
(ssget ((8 . "TEXT") (62 . 256) (7 . "Isocp") nil) samozřejmě končí.
Zatím jsem nebyl schopen dosáhnout postupného přidáváni jednotlivých hodnot do seznamu podle pravdivých hodnot proměnných.
Pokud by měl někdo radu, předem děkuji.
(setq a_sez) má hodnotu (8 . "TEXT")
(setq b_sez) má hodnotu (62 . 256)
(setq c_sez) má hodnotu (7 . "Isocp")
(setq d_sez) má hodnotu (40 . 3.5)
dále by mohlo následovat
(ssget (list a_sez b_sez c_sez d_sez)) má hodnotu
(ssget ((8 . "TEXT") (62 . 256) (7 . "Isocp") (40 . 3.5)) a bude fungovat
Já ale potřebuji dosáhnout dotatečného doplnění nebo jiného obsahu v seznamu. Jednotlivé hodnoty proměnných jsou závislé na vybrání v dialogovém panelu. Takže může dojít k následujícímu
(setq a_sez) má hodnotu (8 . "TEXT")
(setq b_sez) má hodnotu (62 . 256)
(setq c_sez) má hodnotu (7 . "Isocp")
(setq d_sez) má hodnotu nil (nebyla vybrána)
a v takovém případě
(ssget ((8 . "TEXT") (62 . 256) (7 . "Isocp") nil) samozřejmě končí.
Zatím jsem nebyl schopen dosáhnout postupného přidáváni jednotlivých hodnot do seznamu podle pravdivých hodnot proměnných.
Pokud by měl někdo radu, předem děkuji.