ARKANCE - globální Platinum partner Autodesk ARKANCE | KONTAKT - CZ | SK | EN | DE
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ů.
Registrujte se na konferenci CADfórum 2025 - automatizace navrhování
RSS kanál - CAD tipy RSS tipy
RSS diskuze

Diskuze Diskuzní fórum, poradna

?
CAD diskuze, rady, výměna zkušeností

CAD Fórum - Homepage Veřejné diskuzní fórum k CAD aplikacím - ptejte se na libovolné otázky týkající se oboru CAx, podělte se o vaše znalosti a zkušenosti s programy AutoCAD, Inventor, Revit, Fusion, 3ds Max, Vault a s dalšími CAD/BIM/PDM aplikacemi. Zaregistrujte se nebo se přihlašte a zašlete váš příspěvek do odpovídajícího fóra. Viz další informace o CAD Fóru. Nechcete se registrovat? Zeptejte se v naší Facebook poradně.
Fórum nenahrazuje technický support firmy ARKANCE (CAD Studio) - přímá podpora pro zákazníky funguje na helpdesk.arkance-systems.cz
  FAQ FAQ  Prohledat fórum   Události   Registrovat Registrovat  Přihlásit Přihlásit

Téma uzavřenoUprava Lispu

 Odpovědět Odpovědět archiv
Autor
Augur Zobrazit panel
Zasloužilý člen
Zasloužilý člen

Přihlášen: 24.led.2005
Stav: Offline
Bodů: 103
Přímý odkaz na tuto zprávu Téma: Uprava Lispu
    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
Zpět nahoru
Vladimír Michl Zobrazit panel
Moderátor
Moderátor
Avatar
ARKANCE

Přihlášen: 09.zář.2004
Lokalita: ČR (JČ)
Používám:
Implementujeme řešení Autodesk
Stav: Offline
Bodů: 21950
Přímý odkaz na tuto zprávu Zasláno: 03.zář.2007 v 11:10
(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)
)
Vladimír Michl (moderátor)
ARKANCE CZ - arkance.world
(podpora viz helpdesk.arkance-systems.cz)
Zpět nahoru
Augur Zobrazit panel
Zasloužilý člen
Zasloužilý člen

Přihlášen: 24.led.2005
Stav: Offline
Bodů: 103
Přímý odkaz na tuto zprávu Zasláno: 03.zář.2007 v 11:34
Dakujem, funguje.
Designer/Projektant/Ucitel
Autocad 2007
Zpět nahoru
Ferdinand Zobrazit panel
TOP uživatel
TOP uživatel

Přihlášen: 01.říj.2004
Lokalita: ČR (JM)
Používám:
AutoCAD2004 (EN) na Windows XP
Stav: Offline
Bodů: 1906
Přímý odkaz na tuto zprávu Zasláno: 03.zář.2007 v 16:47
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-
Zpět nahoru
Ferdinand Zobrazit panel
TOP uživatel
TOP uživatel

Přihlášen: 01.říj.2004
Lokalita: ČR (JM)
Používám:
AutoCAD2004 (EN) na Windows XP
Stav: Offline
Bodů: 1906
Přímý odkaz na tuto zprávu Zasláno: 08.led.2008 v 16:30
Původně odeslal(a) Vladimír Michl Vladimír Michl napsal(a):

(defun c:repstring ()
...
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-
Zpět nahoru
Vladimír Michl Zobrazit panel
Moderátor
Moderátor
Avatar
ARKANCE

Přihlášen: 09.zář.2004
Lokalita: ČR (JČ)
Používám:
Implementujeme řešení Autodesk
Stav: Offline
Bodů: 21950
Přímý odkaz na tuto zprávu Zasláno: 08.led.2008 v 16:50
To byl jen fragment kódu - definice funkce (repstring) tam není.
Vladimír Michl (moderátor)
ARKANCE CZ - arkance.world
(podpora viz helpdesk.arkance-systems.cz)
Zpět nahoru
Ferdinand Zobrazit panel
TOP uživatel
TOP uživatel

Přihlášen: 01.říj.2004
Lokalita: ČR (JM)
Používám:
AutoCAD2004 (EN) na Windows XP
Stav: Offline
Bodů: 1906
Přímý odkaz na tuto zprávu Zasláno: 08.led.2008 v 17:16
Původně odeslal(a) Augur Augur napsal(a):

...
(SETQ NSTRING (GETSTRING T "\nSTRING TO REPLACE WITH: "))
(if (= "") (SETQ "x") (GETSTRING T "\nSTRING TO BE REPLACED: ")))
(REPSTRING OSTRING NSTRING))
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-
Zpět nahoru

Pro technickou podporu CAD
kontaktujte Helpdesk

Příbuzné CAD tipy:
Tip 3834:Jak lze zabránit modifikaci nástrojových panelů?
Tip 3610:Tlačítka nástrojových panelů mi připadají malá. Lze je zvětšit?
Tip 4305:Co jsou soubory .XPG AutoCADu?
Tip 3359:Jak poznám, že mám nainstalovánu 'Tool Palettes Extension'?
Tip 10361:VIPJak pomocí Lispu rozšířit prohledávací cesty AutoCADu?
Tip 5802:VIPPřevodník hladin a dávkové operace.


 Odpovědět Odpovědět

Přejít na fórum Oprávnění fóra Zobrazit panel



Stránka byla vygenerována za 0,441 sekund.