Zobrazit plnou verzi příspěvku: Možnosti DCL dialogů

Mantlík
10.02.2005, 14:29
Dobrý den
Dostal jsem nápad, jak si ulehčit práci, ale nevím, zda to je proveditelné..
 
1)Do dialogového boxu vložím číselné hodnoty A, B, C (sem je mi to celkem jasné)
Na základě těchto hodnot  potřebuji spočítat další hodnoty D, E a s jejich pomocí pak automaticky něco nakreslit
2a) Rád bych si tyto hodnoty D, E ověřil (nejlépe zobrazením v tomto dialog. boxu - něco jako stiskem tlačítka "spočítej" by se v definovaném místě objevily hodnoty D,E) a teprve pokud mi budou vyhovovat, tak teprve stisknout tlačítko OK. Pokud by nevyhovovaly, změnil bych např. C a spočetl znova
2b) Pokud řešení 2a) není možné, stisknu rovnou "OK" a požadované operace by se rovnou provedly i za cenu několika UNDO v případě nevyhovujících výsledků. S tím bych si taky poradil...
Takže:  Je bod 2a) vůbec proveditelný ??
 
Děkuji
 

orlik
11.02.2005, 07:42
Ahoj, nejsem specialista na LSP ani DCL, ale nastinim problem. Vsecno se resi v lsp programech. Po vlozeni hodnot A, B, C vypoctu hodnoty D, E a zobrazim v dialogu. Cely tento blok mam ve smycce, kde nastavim kontrolni hodnotu X. Pokud vysledky souhlasi priradim X nejake cislo, ktere me ze smycky propusti dale, pokud ne znova probehne vstup hodnot ABC a vypocet DE. Tim by byl resen i bod 2b, kde po OK by prosly i nevhodne vysledky DE.
Pokud tak staci, mozna ti nekdo poradi lepe. Jsem samouk

Seiner
11.02.2005, 07:52
Určitě to možné je, ale pokud chcete nějakou práci s dialogy a výpočty, asi bych spíš doporučil VBA nebo VB. Vizuální programování dialogů je IMHO daleko příjemnější a i syntaxe výpočtů ve VBA je přirozenějčí než v LISPu. Ne nadarmo se LISP překládá taky jako "Lost In Stupid Parenthesis" :-)

Jan Liska
11.02.2005, 08:30
Dobrý den,
co se týká bodu 2a - pomocí funkce action_tile můžete nadefinovat callback akci která se zavolá po změně hodnoty v edit boxu. Funkcí mode_tile můžete povolit nebo zakázat ovládací prvek.
S pozdravem
 

orlik
11.02.2005, 09:14
Jeste k prispevku p. Sainera. I kdyz programuju nejake sve aplikace ve VB5, zkousel jsem VBA v autocadu, prostredi je mi prijemejsi i ovladani, ale mel jsem problemy s vystupem a nacitanim elementu z vykresu. Proto jsem se vratil zpet k Lispu, kde pro kresleni pouzivam command a cteni getxxx funkce. (Anglickou zkratku LISP znam).

Kubíček
11.02.2005, 09:27
[QUOTE=Seiner]Určitě to možné je, ale pokud chcete nějakou práci s dialogy a výpočty, asi bych spíš doporučil VBA nebo VB. Vizuální programování dialogů je IMHO daleko příjemnější a i syntaxe výpočtů ve VBA je přirozenějčí než v LISPu. Ne nadarmo se LISP překládá taky jako "Lost In Stupid Parenthesis" :-)[/QUOTE]
V Autolispu jsem se pokousel sestavit nekolik jednoduchých prográmku. Zminujete se o VBA. Kde je mozné se nejsnáze seznámit s VBA?
P.S. Navíc mi ted nejde ani diakritika, prestoze mám dole na panelu jazyku nastavenou cestinu.

Seiner
11.02.2005, 09:48
1. Nápověda a příklady AutoCADu (pouze anglicky). O CZ zdrojích nevím. Já používám spíš VB - hlavně proto, že se při vývoji pohybuji v notoricky známém prostředí.
2. Za tu diakritiku možná může to, že jste vložil citaci, kde na konci je přes clipboadr vložen kousek z nějaké anglické internetové stránky.

Vladimír Michl
12.02.2005, 18:33
Ve VBA se používají spíše metody objektů AutoCADu a události - ne funkce typu (command) a (getxxxx). Pro výuku můžete použít jakoukoliv příručku k VB/VBA plus popis objektového modelu AutoCADu (nebo Inventoru, Mapu, atd.) - viz Nápověda. Pro inspiraci můžete též navštívit naše "Téma - programování VBA" na www.cadforum.cz .