Registrujte se na 22. ročník konference CADfórum 2025 - 30.9. Zámek Valeč.
Přes 118.500 registrovaných u nás, celkem 1.096.000 registrovaných (CZ+EN), přes 53.000 CAD/BIM bloků.
Vyzkoušejte nový přesný Inženýrský kalkulátor a aktualizovaný Generátor čarových kódů.
Diskuzní fórum, poradna
?CAD diskuze, rady, výměna zkušeností

Fórum nenahrazuje technický support firmy ARKANCE (CAD Studio) - přímá podpora pro zákazníky funguje na helpdesk.arkance-systems.cz
|
Odpovědět ![]() |
archiv |
Autor | |
Augur ![]() Zasloužilý člen ![]() Přihlášen: 24.led.2005 Stav: Offline Bodů: 103 |
![]() Zasláno: 03.zář.2007 v 10:40 |
Chcel by som poziadat o radu, pri modifikacii tohoto lispu.
Vysledok by mal byt taky, ze pri nezadani hodnoty na prepisanie sa pouzije predvolena hodnota napr. "X" (defun c:repstring () (SETQ OSTRING (GETSTRING T "\nSTRING TO BE REPLACED: ")) (SETQ NSTRING (GETSTRING T "\nSTRING TO REPLACE WITH: ")) (REPSTRING OSTRING NSTRING) ) Snazil som sa to zapisat nejako takto, ale nech robim, co robim, stale to nejde. (defun c:repstring () (SETQ OSTRING (GETSTRING T "\nSTRING TO BE REPLACED: ")) (if (= "") (SETQ "x") (GETSTRING T "\nSTRING TO BE REPLACED: "))) (REPSTRING OSTRING NSTRING)) |
|
Designer/Projektant/Ucitel
Autocad 2007 |
|
![]() |
|
Vladimír Michl ![]() Profil člena
Odeslat soukromou zprávu
Najít příspěvky člena
Navštívit stránky člena
Přidat do seznamu známých
Moderátor ![]() ![]() ARKANCE Přihlášen: 09.zář.2004 Lokalita: ČR (JČ) Používám: Implementujeme řešení Autodesk Stav: Offline Bodů: 21950 |
![]() |
(defun c:repstring ()
(SETQ OSTRING (GETSTRING T "\nSTRING TO BE REPLACED: ")) (SETQ NSTRING (GETSTRING T "\nSTRING TO REPLACE WITH <něco>: ")) (if (= NSTRING "")(setq NSTRING "něco"))
(REPSTRING OSTRING NSTRING) ) |
|
![]() |
|
Augur ![]() Zasloužilý člen ![]() Přihlášen: 24.led.2005 Stav: Offline Bodů: 103 |
![]() |
Dakujem, funguje.
|
|
Designer/Projektant/Ucitel
Autocad 2007 |
|
![]() |
|
Ferdinand ![]() TOP uživatel ![]() Přihlášen: 01.říj.2004 Lokalita: ČR (JM) Používám: AutoCAD2004 (EN) na Windows XP Stav: Offline Bodů: 1906 |
![]() |
Ve stařičké Učebnici Autolispu je následující řešení:
;B...implicitni hodnota
;C...vyzva uzivateli (to, co bude v zavorkach tj. <C>) ;D...typ promenne (real, int, str) (defun default (B C D / TEMP) (cond ((= D "real") (if (= B nil) (setq B 1) ) (prompt (strcat C " <" (rtos B 2 2) "> ")) (setq TEMP (getreal)) (if (= TEMP nil) B TEMP ) ) ((= D "int") (if (= B nil) (setq B 1) ) (prompt (strcat C " <" (rtos B 2 0) "> ")) (setq TEMP (getint)) (if (= TEMP nil) B TEMP ) ) ((= D "str") (if (= B nil) (setq B "") ) (prompt (strcat C " <" B "> ")) (setq TEMP (getstring t)) (if (= TEMP "") B TEMP ) ) ) ;(princ) ) ;;
;;Priklady volani implicitni hodnoty: ;; ;; (setq PROM (default BB CC DD)) ;obecny tvar - v prikazovem radku se objevi: ;;[retezec CC:] <hodnota BB> ;;kde format BB bude DD ;; (setq A1 (default 10 "\nZadejte cele cislo: " "int")) ;<default> pro promennou A1 bude hodnota <10> tj. Integer ;; (setq A2 (default A1 "\nZadejte realne cislo: " "real")) ;<default> pro promennou A2 bude promenna <A1> a to Real ;; (setq A3 (default "doleva" "\nSmer bude: " "str")) ;<default> pro promennou A3 bude retezec <doleva> tj. String ;; |
|
-FerTh-
|
|
![]() |
|
Ferdinand ![]() TOP uživatel ![]() Přihlášen: 01.říj.2004 Lokalita: ČR (JM) Používám: AutoCAD2004 (EN) na Windows XP Stav: Offline Bodů: 1906 |
![]() |
Mně to nefunguje:
Command: _appload repstring.lsp successfully loaded.
Command: repstring
STRING TO BE REPLACED: ABCDE
STRING TO REPLACE WITH <něco>: Enter
; error: no function definition: REPSTRING
|
|
-FerTh-
|
|
![]() |
|
Vladimír Michl ![]() Profil člena
Odeslat soukromou zprávu
Najít příspěvky člena
Navštívit stránky člena
Přidat do seznamu známých
Moderátor ![]() ![]() ARKANCE Přihlášen: 09.zář.2004 Lokalita: ČR (JČ) Používám: Implementujeme řešení Autodesk Stav: Offline Bodů: 21950 |
![]() |
To byl jen fragment kódu - definice funkce (repstring) tam není.
|
|
![]() |
|
Ferdinand ![]() TOP uživatel ![]() Přihlášen: 01.říj.2004 Lokalita: ČR (JM) Používám: AutoCAD2004 (EN) na Windows XP Stav: Offline Bodů: 1906 |
![]() |
Pro tuto formu zápisu bych to spíše napsal:
;;predvolena hodnota:
(setq DFT (strcat "<ABC>"))
(setq OSTRING (getstring "\nSTRING TO BE REPLACED: "))
(setq NSTRING (getstring (strcat "\nSTRING TO REPLACE WITH: " DFT)))
(if (= NSTRING nil) (setq NSTRING DFT))
;;zamena OSTRING na NSTRING: (nevim jak)
(???? ???? ????)
Co to je "T" ? Jinak je to řešeno - např. chgtext.lsp
Upravil Ferdinand - 08.led.2008 v 17:17 |
|
-FerTh-
|
|
![]() |
Pro technickou podporu CAD
kontaktujte Helpdesk
Odpovědět ![]() |
|
Přejít na fórum | Oprávnění fóra ![]() Nemůžete vytvářet nová témata v tomto fóru Nemůžete odpovídat na témata v tomto fóru Nemůžete vymazávat vaše příspěvky v tomto fóru Nemůžete upravovat vaše příspěvky v tomto fóru Nemůžete vytvářet ankety v tomto fóru Nemůžete hlasovat v anketách v tomto fóru |
Stránka byla vygenerována za 0,441 sekund.