CADsite forum

AutoCAD => Autolisp => Topic gestart door: avsd op di 31 05 2011, 18:13:39

Titel: Datum invullen (OPGELOST)
Bericht door: avsd op di 31 05 2011, 18:13:39
Bij lisp - links wordt verwezen naar D2CAD
Hier staat een programmaatje om de datum-tijd te laten zien, een gedeelte hiervan staat hieronder:
(setq datum (getvar "CDATE"))
(setq jaar (substr datum 1 4))
Als ik het bovenstaande in autocad (2008) invoer krijg ik de volgende foutmelding:
; error: bad argument type: stringp 2.01105e+007

Als ik cdate op de commando regel intyp, dan krijg ik wel het goede te zien: 20110531.18101417

Hoe kan ik 20110531.18101417 toewijzen aan datum  :roll:

mvg Alexander
Titel: Re:Datum invullen
Bericht door: HofCAD op di 31 05 2011, 18:26:11
Beste Alexander,

(setq datum (getvar "CDATE"))
(setq jaar (substr (rtos datum 2 0) 1 4))

of
(defun date1(/ cdate date)
(setq cdate (rtos (getvar "cdate") 2 6); Geeft "JJJJMMDD.hhmmss"
date (strcat (substr cdate 7 2) "/" (substr cdate 5 2) "-" (substr cdate 1 4)));Formaat DD/MM-JJJJ
)
(defun C:PrintDatum()
(princ (strcat "\n" (date1)))
(princ)
)


Met vriendelijke groet, HofCAD CSI.

PS: http://www.afralisp.net/autolisp/tutorials/date-and-time-stamping.php
Titel: Re:Datum invullen (OPGELOST)
Bericht door: EddyBeerke op wo 01 06 2011, 23:49:14
De var cdate geeft een real getal.
Vervolgens wil je van een string eendeel afhalen met substr.
Dan moet je eerst met rtos, real to string, het omzetten.