Bluebird1973 Posted January 8, 2018 Share Posted January 8, 2018 Hi together, I would like to play a trick on my draftsman colleagues and I needed some help. ...feel free to improve my poor coding... [color=RED]([/color][color=BLUE]defun[/color] c:HappyBirthday [color=RED]([/color][color=BLUE]/[/color] [color=BLUE]UserName[/color] [color=BLUE]User1[/color] [color=BLUE]B-Day_Date[/color] [color=BLUE]R-age[/color] [color=BLUE]age[/color] [color=BLUE]ry[/color][color=RED])[/color] [color=RED]([/color][color=BLUE]if[/color] [color=#990099];list of users for the pop-ups[/color] [color=RED]([/color][color=BLUE]setq[/color] [color=BLUE]UserName[/color] [color=RED]([/color][color=BLUE]strcase[/color][color=RED]([/color][color=BLUE]getvar[/color] [color=DARKRED]'[/color]loginname[color=RED])))[/color] [color=RED]([/color][color=BLUE]progn[/color] [color=RED]([/color][color=BLUE]cond[/color] [color=#990099]; User Name User Birthday retirement age[/color] [color=RED](([/color][color=BLUE]equal[/color] [color=BLUE]UserName[/color] [color=#a52a2a]"MH019"[/color][color=RED])[/color] [color=RED]([/color][color=BLUE]setq[/color] [color=BLUE]User1[/color] [color=#a52a2a]"Michael"[/color] [color=BLUE]B-Day_Date[/color] [color=#a52a2a]"19991003"[/color] [color=BLUE]R-age[/color] [color=#009900]67[/color][color=RED]))[/color] [color=RED](([/color][color=BLUE]equal[/color] [color=BLUE]UserName[/color] [color=#a52a2a]"MH019"[/color][color=RED])[/color] [color=RED]([/color][color=BLUE]setq[/color] [color=BLUE]User1[/color] [color=#a52a2a]"Michael"[/color] [color=BLUE]B-Day_Date[/color] [color=#a52a2a]"20180109"[/color] [color=BLUE]R-age[/color] [color=#009900]67[/color][color=RED]))[/color] [color=RED](([/color][color=BLUE]equal[/color] [color=BLUE]UserName[/color] [color=#a52a2a]"MH019"[/color][color=RED])[/color] [color=RED]([/color][color=BLUE]setq[/color] [color=BLUE]User1[/color] [color=#a52a2a]"Michael"[/color] [color=BLUE]B-Day_Date[/color] [color=#a52a2a]"20180110"[/color] [color=BLUE]R-age[/color] [color=#009900]67[/color][color=RED]))[/color] [color=RED]([/color][color=BLUE]T[/color] [color=RED]([/color][color=BLUE]princ[/color] [color=#a52a2a]"\n\nSorry, User not listed !!!"[/color][color=RED]))[/color] [color=RED])[/color][color=#990099];_cond end[/color] [color=RED])[/color][color=#990099];_progn end[/color] [color=RED])[/color][color=#990099];_if end[/color] [color=RED]([/color][color=BLUE]setq[/color] [color=BLUE]age[/color] [color=RED]([/color][color=BLUE]itoa[/color] [color=RED]([/color][color=BLUE]-[/color] [color=RED]([/color][color=BLUE]atoi[/color] [color=RED]([/color][color=BLUE]substr[/color] [color=RED]([/color][color=BLUE]rtos[/color] [color=RED]([/color][color=BLUE]fix[/color] [color=RED]([/color][color=BLUE]getvar[/color] [color=DARKRED]'[/color]CDATE[color=RED])))[/color] [color=#009900]1[/color] [color=#009900]4[/color][color=RED]))[/color] [color=RED]([/color][color=BLUE]atoi[/color] [color=RED]([/color][color=BLUE]substr[/color] [color=BLUE]B-Day_Date[/color] [color=#009900]1[/color] [color=#009900]4[/color][color=RED]))[/color] [color=RED])[/color] [color=RED]))[/color][color=#990099];calculating the age of the user[/color] [color=RED]([/color][color=BLUE]setq[/color] [color=BLUE]ry[/color] [color=RED]([/color][color=BLUE]itoa[/color] [color=RED]([/color][color=BLUE]-[/color] [color=BLUE]R-age[/color] [color=RED]([/color][color=BLUE]atoi[/color] [color=BLUE]age[/color][color=RED]))))[/color][color=#990099];remaining years until retirement[/color] [color=RED]([/color][color=BLUE]alert[/color] [color=RED]([/color][color=BLUE]strcat[/color] [color=#a52a2a]"Hello "[/color] [color=BLUE]User1[/color] [color=#a52a2a]"!"[/color] [color=#a52a2a]"\n\nHerzlichen Glückwunsch zum "[/color] [color=BLUE]age[/color] [color=#a52a2a]". Geburtstag !!!"[/color] [color=#a52a2a]"\n\nCongratulations on your "[/color] [color=BLUE]age[/color] [color=#a52a2a]"st/nd/rd/ th birthday !!!"[/color] [color=#990099];here I need some help for the e.g. 21st, 22nd, 23rd, 24th.[/color] [color=#a52a2a]"\n\n\n\nVon jetzt an, sind es nur noch "[/color] [color=BLUE]ry[/color] [color=#a52a2a]" Jahre bis zur Rente \n... Also hau rein ... :-)"[/color] [color=#a52a2a]"\n\nFrom now on, there are only "[/color] [color=BLUE]ry[/color] [color=#a52a2a]" years left to retirement \n... so get in there ... :-)"[/color] [color=#a52a2a]"\n\n\nKeyuser Michael"[/color] [color=RED])[/color] [color=RED])[/color] [color=RED]([/color][color=BLUE]princ[/color][color=RED])[/color] [color=RED])[/color] [color=#990099];original code from 06.01.2011/Lee Mac changed on my needs[/color] [color=#990099];http://www.cadtutor.net/forum/showthread.php?55800-Differences-in-exiting-AutoCAD&p=378358&viewfull=1#post378358[/color] [color=RED]([/color][color=BLUE]if[/color] [color=RED]([/color][color=BLUE]not[/color] [color=RED]([/color][color=BLUE]and[/color] [color=RED]([/color][color=BLUE]setq[/color] [color=BLUE]date[/color] [color=RED]([/color][color=BLUE]getenv[/color] [color=#a52a2a]"OnceAYear"[/color][color=RED]))[/color] [color=RED]([/color][color=BLUE]<[/color] [color=RED]([/color][color=BLUE]fix[/color] [color=RED]([/color][color=BLUE]getvar[/color] [color=DARKRED]'[/color]CDATE[color=RED]))[/color] [color=RED]([/color][color=BLUE]atoi[/color] [color=BLUE]date[/color][color=RED]))[/color] [color=RED])[/color][color=#990099];_end and[/color] [color=RED])[/color][color=#990099];_end not[/color] [color=RED]([/color][color=BLUE]progn[/color] [color=RED]([/color]c:HappyBirthday[color=RED])[/color] [color=RED]([/color][color=BLUE]setenv[/color] [color=#a52a2a]"OnceAYear"[/color] [color=RED]([/color][color=BLUE]itoa[/color] [color=RED]([/color][color=BLUE]+[/color] [color=#009900]10000[/color] [color=RED]([/color][color=BLUE]fix[/color] [color=RED]([/color][color=BLUE]getvar[/color] [color=DARKRED]'[/color]CDATE[color=RED])))))[/color] [color=#990099];stored in windows registry [HKEY_CURRENT_USER\Software\Autodesk\AutoCAD\R19.1\ACAD-D004:409\FixedProfile\General][/color] [color=RED])[/color][color=#990099];_end progn[/color] [color=RED])[/color][color=#990099];_end if[/color] [color=RED]([/color][color=BLUE]princ[/color][color=RED])[/color] Thank you in advanced !!! kind regards Bluebird1973 Quote Link to comment Share on other sites More sharing options...
FranknBeans Posted January 8, 2018 Share Posted January 8, 2018 here's one way to get the suffix (setq suffix (chr (last (vl-string->list age)))) (cond ((eq suffix "1") (setq suffix "st")) ((eq suffix "2") (setq suffix "nd")) ((eq suffix "3") (setq suffix "rd")) ( T (setq suffix "th")) ) Quote Link to comment Share on other sites More sharing options...
Lee Mac Posted January 8, 2018 Share Posted January 8, 2018 here's one way to get the suffix (setq suffix (chr (last (vl-string->list age)))) (cond ((eq suffix "1") (setq suffix "st")) ((eq suffix "2") (setq suffix "nd")) ((eq suffix "3") (setq suffix "rd")) ( T (setq suffix "th")) ) "13rd" Here's another possible way: (defun ordinal ( n ) (cond ((< 10 (rem n 100) 14) "th") ((nth (rem n 10) '(nil "st" "nd" "rd"))) ("th")) ) _$ (ordinal 13) "th" _$ (ordinal 21) "st" _$ (ordinal 123) "rd" Quote Link to comment Share on other sites More sharing options...
Lee Mac Posted January 8, 2018 Share Posted January 8, 2018 How about something like this? ( (lambda ( lst / age itm ord ret ) (defun ord ( n ) (cond ((< 10 (rem n 100) 14) "th") ((nth (rem n 10) '(nil "st" "nd" "rd"))) ("th"))) (cond ( (null (setq itm (assoc (strcase (getvar 'loginname)) lst))) (princ "\nSorry, user not listed!") ) ( (zerop (rem (setq age (- (fix (getvar 'cdate)) (caddr itm))) 10000)) (setq age (/ age 10000) ret (- (cadddr itm) age) ) (alert (strcat "Hello " (cadr itm) "!" "\n\nHerzlichen Glückwunsch zum " (itoa age) ". Geburtstag !!!" "\n\nCongratulations on your " (itoa age) (ord age) " Birthday !!!" "\n\n\n\nVon jetzt an, sind es nur noch " (itoa ret) " Jahre bis zur Rente \n... Also hau rein ... :-)" "\n\nFrom now on, there are only " (itoa ret) " years left to retirement \n... so get in there ... :-)" "\n\n\nKeyuser Michael" ) ) ) ) (princ) ) '( ("MH019" "Michael" 19991003 67) ("MH019" "Michael" 20180109 67) ("MH019" "Michael" 20180110 67) ) ) Copy the above into your acaddoc.lsp Quote Link to comment Share on other sites More sharing options...
FranknBeans Posted January 8, 2018 Share Posted January 8, 2018 "13rd" oops Quote Link to comment Share on other sites More sharing options...
Grrr Posted January 8, 2018 Share Posted January 8, 2018 This made me wonder, why not write some generic function that uses one of the arguments: '(day week month year) (defun RunOnceA ( sym func ) ...) (RunOnceA 'week '(lambda ( / ) <bla-bla>) ) Quote Link to comment Share on other sites More sharing options...
BIGAL Posted January 9, 2018 Share Posted January 9, 2018 Hellooooo make sure speaker is on (defun SpeakSapi ( s / sapi ) (if (eq (type s) 'STR) (progn (setq sapi (vlax-create-object "Sapi.SpVoice")) (vlax-put sapi 'SynchronousSpeakTimeout 1) (vlax-invoke-method sapi 'WaitUntilDone 0) (vlax-invoke sapi "Speak" s 0) (vlax-release-object sapi) ) ) ) (speaksapi "please remain seated during your Autocad session do not leave work area") (setq x 24) (setq ans (strcat "alan is " (rtos x 2 0))) (speaksapi ans) Quote Link to comment Share on other sites More sharing options...
Bluebird1973 Posted January 9, 2018 Author Share Posted January 9, 2018 Hi together, Thanks to everyone, I appreciate that very much ! @ Lee Mac I didn't get your code to run. I put it on my acaddoc.lsp but nothing happens. What I'm doing wrong? ... and I have problems to understand what's going on. Could you please add some comments/explanations for me? How about something like this?( (lambda ( lst / age itm ord ret ) (defun ord ( n ) (cond ((< 10 (rem n 100) 14) "th") ((nth (rem n 10) '(nil "st" "nd" "rd"))) ("th"))) (cond ( (null (setq itm (assoc (strcase (getvar 'loginname)) lst))) (princ "\nSorry, user not listed!") ) ( (zerop (rem (setq age (- (fix (getvar 'cdate)) (caddr itm))) 10000)) (setq age (/ age 10000) ret (- (cadddr itm) age) ) (alert (strcat "Hello " (cadr itm) "!" "\n\nHerzlichen Glückwunsch zum " (itoa age) ". Geburtstag !!!" "\n\nCongratulations on your " (itoa age) (ord age) " Birthday !!!" "\n\n\n\nVon jetzt an, sind es nur noch " (itoa ret) " Jahre bis zur Rente \n... Also hau rein ... :-)" "\n\nFrom now on, there are only " (itoa ret) " years left to retirement \n... so get in there ... :-)" "\n\n\nKeyuser Michael" ) ) ) ) (princ) ) '( ("MH019" "Michael" 19991003 67) ("MH019" "Michael" 20180109 67) ("MH019" "Michael" 20180110 67) ) ) Copy the above into your acaddoc.lsp @BIGAL This is a funny one.... but we have no speakers ... Hellooooo make sure speaker is on (defun SpeakSapi ( s / sapi ) (if (eq (type s) 'STR) (progn (setq sapi (vlax-create-object "Sapi.SpVoice")) (vlax-put sapi 'SynchronousSpeakTimeout 1) (vlax-invoke-method sapi 'WaitUntilDone 0) (vlax-invoke sapi "Speak" s 0) (vlax-release-object sapi) ) ) ) (speaksapi "please remain seated during your Autocad session do not leave work area") (setq x 24) (setq ans (strcat "alan is " (rtos x 2 0))) (speaksapi ans) Quote Link to comment Share on other sites More sharing options...
Lee Mac Posted January 9, 2018 Share Posted January 9, 2018 @ Lee Mac I didn't get your code to run. I put it on my acaddoc.lsp but nothing happens. What I'm doing wrong? ... and I have problems to understand what's going on. Could you please add some comments/explanations for me? It will only run when there is a birthday to be celebrated! Try adding a new user to the list whose birthday is today Quote Link to comment Share on other sites More sharing options...
Bluebird1973 Posted January 9, 2018 Author Share Posted January 9, 2018 Thank you Lee Mac !!! now I got it. ...but didn't understand the code is there a way to not pank my draftsman the whole day? ... 3 or 4 times would be enough ... Quote Link to comment Share on other sites More sharing options...
Lee Mac Posted January 9, 2018 Share Posted January 9, 2018 is there a way to not pank my draftsman the whole day?... 3 or 4 times would be enough ... Something like this perhaps: ( (lambda ( lst / age itm ord ret tmp ) (defun ord ( n ) (cond ((< 10 (rem n 100) 14) "th") ((nth (rem n 10) '(nil "st" "nd" "rd"))) ("th"))) (cond ( (null (setq itm (assoc (strcase (getvar 'loginname)) lst))) (princ "\nSorry, user not listed!") ) ( (and (zerop (rem (setq age (- (fix (getvar 'cdate)) (caddr itm))) 10000)) (or (null (setq tmp (getenv "CurrentAge"))) (/= age (atoi tmp)) ) ) (setenv "CurrentAge" (itoa age)) (setq age (/ age 10000) ret (- (cadddr itm) age) ) (alert (strcat "Hello " (cadr itm) "!" "\n\nHerzlichen Glückwunsch zum " (itoa age) ". Geburtstag !!!" "\n\nCongratulations on your " (itoa age) (ord age) " Birthday !!!" "\n\n\n\nVon jetzt an, sind es nur noch " (itoa ret) " Jahre bis zur Rente \n... Also hau rein ... :-)" "\n\nFrom now on, there are only " (itoa ret) " years left to retirement \n... so get in there ... :-)" "\n\n\nKeyuser Michael" ) ) ) ) (princ) ) '( ("MH019" "Michael" 19991003 67) ("MH019" "Michael" 20180109 67) ("MH019" "Michael" 20180110 67) ) ) Quote Link to comment Share on other sites More sharing options...
Bluebird1973 Posted January 10, 2018 Author Share Posted January 10, 2018 Great !!! ... but I would like to prank a little bit... is it possible to add a counter which I could set to show up 3-4 times? Quote Link to comment Share on other sites More sharing options...
Grrr Posted January 10, 2018 Share Posted January 10, 2018 This made me wonder, why not write some generic function that uses one of the arguments:'(day week month year) ; (RunOnceA 'day (lambda nil (alert "Hello world!"))) (defun RunOnceA ( sym func / env dateL tmp new old aL ) (defun SubstrByN ( n str ) (if (and (eq 'INT (type n)) (> n 0) (/= "" str)) (cons (substr str 1 n) (SubstrByN n (substr str (1+ n))))) ) (setq env "RunOnceA") (setq dateL (lambda nil (mapcar 'cons '(year month day) (apply '(lambda (a b c d) (list (strcat a b) c d)) (SubstrByN 2 (vl-prin1-to-string (fix (getvar 'cdate)))) ) ) ) ) (and ; first time using 'RunOnceA' function (or (= (setq tmp (getenv env)) "") (not tmp) ) (progn (setenv env (vl-prin1-to-string (dateL))) (func) ); progn ); and (if (member sym '(day month year)) ; check if valid symbol is provided, to avoid redundant prompts (if (not (equal (setq new (assoc sym (dateL))) (setq old (assoc sym (setq aL (read (getenv env))))) ) ) (progn (setenv env (vl-prin1-to-string (subst new old aL))) (func) ) ; first store the current date, incase (func) crashes (prompt (strcat "\nRunOnceA: will evaluate the next " (strcase (vl-prin1-to-string sym) t) ".")) ); if (prompt "\nRunOnceA: invalid symbol provided, use [day/month/year].") ); if ); defun RunOnceA Quote Link to comment Share on other sites More sharing options...
rlx Posted January 10, 2018 Share Posted January 10, 2018 ; (RunOnceA 'day (lambda nil (alert "Hello world!"))) (defun RunOnceA ( sym func / env dateL tmp new old aL ) (defun SubstrByN ( n str ) (if (and (eq 'INT (type n)) (> n 0) (/= "" str)) (cons (substr str 1 n) (SubstrByN n (substr str (1+ n))))) ) (setq env "RunOnceA") (setq dateL (lambda nil (mapcar 'cons '(year month day) (apply '(lambda (a b c d) (list (strcat a b) c d)) (SubstrByN 2 (vl-prin1-to-string (fix (getvar 'cdate)))) ) ) ) ) (and ; first time using 'RunOnceA' function (or (= (setq tmp (getenv env)) "") (not tmp) ) (progn (setenv env (vl-prin1-to-string (dateL))) (func) ); progn ); and (if (member sym '(day month year)) ; check if valid symbol is provided, to avoid redundant prompts (if (not (equal (setq new (assoc sym (dateL))) (setq old (assoc sym (setq aL (read (getenv env))))) ) ) (progn (setenv env (vl-prin1-to-string (subst new old aL))) (func) ) ; first store the current date, incase (func) crashes (prompt (strcat "\nRunOnceA: will evaluate the next " (strcase (vl-prin1-to-string sym) t) ".")) ); if (prompt "\nRunOnceA: invalid symbol provided, use [day/month/year].") ); if ); defun RunOnceA Nicely coded Gr. Rlx Quote Link to comment Share on other sites More sharing options...
Grrr Posted January 10, 2018 Share Posted January 10, 2018 Nicely coded Gr. Rlx Thanks! I hope it works as supposed - didn't found any problems in my initial testing. Quote Link to comment Share on other sites More sharing options...
Lee Mac Posted January 10, 2018 Share Posted January 10, 2018 (edited) Great !!! ... but I would like to prank a little bit... is it possible to add a counter which I could set to show up 3-4 times? The following will 'prank' the user between 1 and 5 times if they 'roll a 3' when opening a drawing : [color=GREEN];; Rand - Lee Mac[/color] [color=GREEN];; PRNG implementing a linear congruential generator with[/color] [color=GREEN];; parameters derived from the book 'Numerical Recipes'[/color] ([color=BLUE]defun[/color] LM:rand ( [color=BLUE]/[/color] a c m ) ([color=BLUE]setq[/color] m 4294967296.0 a 1664525.0 c 1013904223.0 $xn ([color=BLUE]rem[/color] ([color=BLUE]+[/color] c ([color=BLUE]*[/color] a ([color=BLUE]cond[/color] ($xn) (([color=BLUE]getvar[/color] 'date))))) m) ) ([color=BLUE]/[/color] $xn m) ) [color=GREEN];; Random in Range - Lee Mac[/color] [color=GREEN];; Returns a pseudo-random integral number in a given range (inclusive)[/color] ([color=BLUE]defun[/color] LM:randrange ( a b ) ([color=BLUE]+[/color] ([color=BLUE]min[/color] a b) ([color=BLUE]fix[/color] ([color=BLUE]*[/color] ([color=BLUE]LM:rand[/color]) ([color=BLUE]1+[/color] ([color=BLUE]abs[/color] ([color=BLUE]-[/color] a b)))))) ) ( ([color=BLUE]lambda[/color] ( lst [color=BLUE]/[/color] age itm ord ret tmp ) ([color=BLUE]defun[/color] ord ( n ) ([color=BLUE]cond[/color] (([color=BLUE]<[/color] 10 ([color=BLUE]rem[/color] n 100) 14) [color=MAROON]"th"[/color]) (([color=BLUE]nth[/color] ([color=BLUE]rem[/color] n 10) '([color=BLUE]nil[/color] [color=MAROON]"st"[/color] [color=MAROON]"nd"[/color] [color=MAROON]"rd"[/color]))) ([color=MAROON]"th"[/color]))) ([color=BLUE]cond[/color] ( ([color=BLUE]null[/color] ([color=BLUE]setq[/color] itm ([color=BLUE]assoc[/color] ([color=BLUE]strcase[/color] ([color=BLUE]getvar[/color] 'loginname)) lst))) ([color=BLUE]princ[/color] [color=MAROON]"\nSorry, user not listed!"[/color]) ) ( ([color=BLUE]and[/color] ([color=BLUE]zerop[/color] ([color=BLUE]rem[/color] ([color=BLUE]setq[/color] age ([color=BLUE]-[/color] ([color=BLUE]fix[/color] ([color=BLUE]getvar[/color] 'cdate)) ([color=BLUE]caddr[/color] itm))) 10000)) ([color=BLUE]=[/color] 3 (LM:randrange 1 6)) [color=GREEN];; Adding some randomness to when the message is displayed[/color] ([color=BLUE]cond[/color] ( ([color=BLUE]or[/color] ([color=BLUE]null[/color] ([color=BLUE]setq[/color] tmp ([color=BLUE]getenv[/color] [color=MAROON]"CurrentAge"[/color]))) ([color=BLUE]<[/color] ([color=BLUE]atoi[/color] tmp) age)) ([color=BLUE]setenv[/color] [color=MAROON]"CurrentAge"[/color] ([color=BLUE]itoa[/color] ([color=BLUE]+[/color] age (LM:randrange 1 5)))) ) ( ([color=BLUE]<[/color] age ([color=BLUE]atoi[/color] tmp)) ([color=BLUE]setenv[/color] [color=MAROON]"CurrentAge"[/color] ([color=BLUE]itoa[/color] ([color=BLUE]1-[/color] ([color=BLUE]atoi[/color] tmp)))) ) ) ) ([color=BLUE]setq[/color] age ([color=BLUE]/[/color] age 10000) ret ([color=BLUE]-[/color] ([color=BLUE]cadddr[/color] itm) age) ) ([color=BLUE]alert[/color] ([color=BLUE]strcat[/color] [color=MAROON]"Hello "[/color] ([color=BLUE]cadr[/color] itm) [color=MAROON]"!"[/color] [color=MAROON]"\n\nHerzlichen Glückwunsch zum "[/color] ([color=BLUE]itoa[/color] age) [color=MAROON]". Geburtstag !!!"[/color] [color=MAROON]"\n\nCongratulations on your "[/color] ([color=BLUE]itoa[/color] age) (ord age) [color=MAROON]" Birthday !!!"[/color] [color=MAROON]"\n\n\n\nVon jetzt an, sind es nur noch "[/color] ([color=BLUE]itoa[/color] ret) [color=MAROON]" Jahre bis zur Rente \n... Also hau rein ... :-)"[/color] [color=MAROON]"\n\nFrom now on, there are only "[/color] ([color=BLUE]itoa[/color] ret) [color=MAROON]" years left to retirement \n... so get in there ... :-)"[/color] [color=MAROON]"\n\n\nKeyuser Michael"[/color] ) ) ) ) ([color=BLUE]princ[/color]) ) '( ([color=MAROON]"MH019"[/color] [color=MAROON]"Michael"[/color] 19991003 67) ([color=MAROON]"MH019"[/color] [color=MAROON]"Michael"[/color] 20180109 67) ([color=MAROON]"MH019"[/color] [color=MAROON]"Michael"[/color] 20180110 67) ) ) ([color=BLUE]princ[/color]) Edited January 13, 2018 by Lee Mac Quote Link to comment Share on other sites More sharing options...
rlx Posted January 11, 2018 Share Posted January 11, 2018 Well thank you Lee Quote Link to comment Share on other sites More sharing options...
Grrr Posted January 11, 2018 Share Posted January 11, 2018 Just imagine Lee's code triggering some Sapi voices randomly! Quote Link to comment Share on other sites More sharing options...
rlx Posted January 11, 2018 Share Posted January 11, 2018 Just imagine Lee's code triggering some Sapi voices randomly! Most people here have muted their pc but the colleague right in front of me hasn't ... he would make a good candidate. In fact , I have 'pranked' him in the past. He likes to kill rabbits in his spare time so one day I arranged for a slide to appear with each drawing he opened with a armed rabbit showing Quote Link to comment Share on other sites More sharing options...
Grrr Posted January 11, 2018 Share Posted January 11, 2018 Most people here have muted their pc but the colleague right in front of me hasn't ... he would make a good candidate. In fact , I have 'pranked' him in the past. He likes to kill rabbits in his spare time so one day I arranged for a slide to appear with each drawing he opened with a armed rabbit showing That sounds like a good practice, I was imaginig more like a windows XP loading sound upon running autocad (annoying nostalgia). Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.