[ Pobierz całość w formacie PDF ]
.;Funkcja get_name (item)(defun get_name (item); definicja wywo³ania funkcji z argumenten item(setq lnom (nth (atoi item)listc)); przypisanie zmiennej lnom n-tego elementu);defun ; listy, item jako argument funkcji musi byæ;przekonwertowny z ³añcucha na liczbê ca³kowit¹.Przypisanie akcji do zdarzenia zwi¹zanego z wciœniêciem przycisku dodaj.(action_tile "add" "(do_list)") ? nastêpuje uruchomienie funkcji do_list;Funkcja get_name (item)(defun do_list () ; definicja wywo³ania funkcji(if (= licznik 1) (setq ln lnom)(setq ln (append ln lnom))); je¿eli licznik jest równy 1, to znaczy,; ¿e funkcja do_list jest uruchomiona po raz; pierwszy, wiêc przypisuje zmiennej ln wartoœæ; lnom, a nastêpnie przetwarzana jest lista_2.; Je¿eli licznik jest "wiêkszy" od 1, to znaczy,; ¿e funkcja by³a ju¿ uruchomiona co najmniej; raz, dlatego nie tworzymy nowej listy, ale; dodajemy nowy element do istniej¹cej listy.; Nastêpnie lista_2 jest przetwarzana.(start_list "lista_2") ; przetwarzanie nowej listy AutoLisp-u; w polu listy DCL(mapcar 'add_list ln) ; okreœlenie listy AutoLisp-u(end_list) ; koñczymy przetwarzanie listy(setq licznik (+ 1 licznik)) ; powiêkszamy licznik o 1);defunPrzypisanie akcji do zdarzenia zwi¹zanego z wciœniêciem przycisku OK.Ukrycieokna dialogowego.(action_tile "accept" "(done_dialog 1)")Przypisanie akcji do zdarzenia zwi¹zanego z wciœniêciem przycisku Anuluj.Ukrycie okna dialogowego.(action_tile "cancel" "(done_dialog 0)")Przypisanie zmiennej listc wartoœci listy(start_dialog) ; rozpoczyna pobieranie informacji od u¿ytkownika; z okna dialogowego zainicjowanego przez; wywo³anie funkcji new_dialog.(unload_dialog dcl_id) ;usuwa z pamiêci wskazany plik DCL.);defun koñczy wywo³anie funkcjiLekcja 8 -- Przygotowanie listy elementów poprzez wybranie i dodanie ich dolisty wynikowej poprzez klikniêcie na liœcieTo ju¿ ósma lekcja zawieraj¹ca przyk³ad ilustruj¹cy zaawansowane techniki.(Pan z koñca sali mówi, ¿e to raczej tricki.No có¿, nie bêdê siê z Pañstwemspiera³, w koñcu zawsze koñcowy u¿ytkownik poka¿e, kto mia³ racjê!)Programowanie AutoCAD-a i to niekoniecznie za pomoc¹ AutoLispa niesie ze sob¹pewne niebezpieczeñstwo.Otó¿ pojawia siê wiele programów spe³niaj¹cych te samezadania projektowe, ale jeden z nich szybko osi¹ga popularnoœæ, a drugi równieszybko "ginie w mroku dziejów".Czêsto trudno jest znaleŸæ powód tego faktu.Musimy sobie uœwiadomiæ, ¿e powodem mo¿e byæ np.to, ¿e w jednej z tychaplikacji, aby osi¹gn¹æ ten sam efekt, trzeba w tym celu o jeden raz wiêcejklikn¹æ mysz¹.Niech mi Pañstwo wierz¹, czêsto to w³aœnie stanowi o sukcesielub pora¿ce rynkowej naszej aplikacji.Dlatego warto czasem dobrze przemyœleæsposób podejœcia do projektowania, lub przeprowadziæ dobrze znany wszystkimCAD-owcom tzw.test na "Ciociê i kota".Zasada testu jest bardzo prosta.Trzebapo prostu podnieœæ g³owê znad komputera i powiedzieæ: "Kochana Ciociu, czymog³abyœ na chwilê po³o¿yæ tego kota na pod³odze i powiedzieæ, które z tychokien dialogowych jest Twoim zdaniem lepsze?" Niech mi Pañstwo wierz¹, ten testjest bardzo miarodajny.OK, koniec z cioci¹, a tak na powa¿nie, musimy zawsze staraæ siê postawiæ namiejscu u¿ytkownika koñcowego i próbowaæ przewidzieæ jego wymagania, zwi¹zane zdzia³aniem naszej aplikacji.Dlatego na kolejn¹ lekcjê o programowalnych oknachdialogowych ponownie wybra³em przyk³ad, dotycz¹cy wzajemnego powi¹zania miêdzysob¹ dwóch elementów typu okno kartotekowe.Zagadnienia wykorzystane w tymprzyk³adzie mog¹ mieæ np.zastosowanie przy wyborze z listy wszystkich widokówna rysunku listy widoków, które chcemy wydrukowaæ.Tematem bie¿¹cej lekcji jest stworzenie programu do przygotowania listyelementów poprzez wybranie i dodanie ich przez nas do listy wynikowej poprzezklikniêcie na liœcie.Zak³adamy, ¿e podzielimy nasze okno dialogowe na po³owê w pionie.Schematdefinicji okna dialogowego.W przyk³adzie tym:Zetkniemy siê z zagadnieniami umieszczania i zarz¹dzania listami w oknachdialogowych [ Pobierz caÅ‚ość w formacie PDF ]

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • luska.pev.pl
  •