(startapp "notepad" "E:/prova/version.txt")
apro il file version.txt
a parte che non ho capito se l'estensione .txt va scritta o no, perchè
tanto autocad lo apre lo stesso, ma la domanda è:
siccome il lisp andrà distribuito, e quindi non sempre version.txt sarà in
e:\prova, come fare? La cosa certa è che version.txt sarà sempre nella
stessa cartella dove c'è il lisp, ma come dire al lisp "nella cartella dove
ci sei te?"
oppure come mettere un percorso relativo, come si fa in html è cioè
puntoslash per indicare la stessa cartella?
--
Studio geometra MIRANO Dario
www.studiomirano.it
Progettazione - Direzione lavori - Catasto terreni e fabbricati -
Cartellonistica - Grafica 2D e 3D
per Notepad l'estensione TXT è predefinita.
> siccome il lisp andrà distribuito, e quindi non sempre version.txt sarà in
> e:\prova, come fare? La cosa certa è che version.txt sarà sempre nella
> stessa cartella dove c'è il lisp, ma come dire al lisp "nella cartella
> dove
> ci sei te?"
se il lisp viene caricato con (load "mioLisp") [senza percorso] allora:
(startapp "notepad" (findfile "version.txt"))
--
----------------------------------------------------------
Marc'Antonio Alessi - http://xoomer.virgilio.it/alessi
Per AutoCAD:
- Travi 2D: disegno automatico travi e pilastri in C.A.
a 99€
- Elaborazione dati from/to Excel
- Librerie manufatti in assonometria
- Autolayers: gestione automatica dei layers
- Elaborazioni e stampe multiple e automatiche
- Parametrico 2D, Viterie 2D/3D, Esplosi 2D/3D
- AutoGroups: gestione automatica gruppi di layers
- SetUp del disegno con gestione automatica DimStyles
- Conversione automatica files Inventor a DWG e viceversa
anche senza avere Inventor installato
- ...
----------------------------------------------------------
In pratica dovrei scrivere una cosa del genere:
(startapp "notepad" (strcat (lastessacertelladiquestolisp "/version.txt")))
come trovo "lastessacertelladiquestolisp" ?
Inoltre mi succede che comunque se metto il percorso intero, quando si apre
notepad, apre il file che gli dico, ma poi la sua finestra viene subito
ridotta ad icona. Non che sia un groso guaio, però sarebe bello rimanesse in
primo piano......
Puoi riportare il codice che carica questo Lisp.
il lisp è questo:
(defun c:miolisp ()
(startapp "notepad" (findfile "C:\\cartellaacaso\\help.txt")) ;ho messo
findfile, ma se lo levo è la stessa cosa
)
il lisp si trova all'interno della cartella "cartellaacaso" e viene lanciato
dalla seguente riga di menu:
***MENUGROUP=MIO MENU
***POP16
ID_help [&Mio help]miolisp;
tale menu viene anch'esso posizionato nella cartella "cartellaacaso".
Ora, l'utente che installa il mio lisp, copierà lisp e menu nella cartella
"cartellaacaso" di sua scelta e poi provvederà al caricamento in autocad del
menu e del lisp (in modo permanente mettendolo nei lisp caricati sempre
all'avvio).
Il mio problema e che sarebbe troppo chiedere all'utente di modificare anche
il percorso della cartella nel lisp che richiama help.txt, quindi volevo
modificare
(startapp "notepad" (findfile "C:\\cartellaacaso\\help.txt"))
mettendo una sorta di percorso relativo o in qualche altro modo che possa
andare bene con qualsiasi cartella
come fare?
Senza VLisp (penso che così tu chieda) non so come si possa fare.
Io costringerei l'utente ad aggiungere il percorso "cartellaacaso"
a quelli di AutoCAD così risolveresti questo ed altri problemi.
Il tutto si può fare anche automaticamente ma è un discorso lungo.
in che senso?Con Vlisp si puň fare?E come?
Forse mi son perso un pň la differenza tra vlisp e lisp------
(defun ALE_MenuFileNameList ( )
(vl-load-com)
(princ "\nMenu FileName List:")
(vlax-for MnuGrp (vla-get-MenuGroups (vlax-get-acad-object))
(princ "\n\n")
(princ (vla-get-MenuFileName MnuGrp))
)
(princ)
)
--
----------------------------------------------------------
Marc'Antonio Alessi - http://xoomer.virgilio.it/alessi
Per AutoCAD:
- Travi 2D: disegno automatico travi e pilastri in C.A.
e relativi ferri e staffe (99€)
- Calcolo automatico aree su planimetrie: report su Excel
per locale altezza, piano
con descrizioni locali e piani (49€)
--
--
"Studio MIRANO" <geodarioTOG...@libero.it> ha scritto nel messaggio
news:NiOEf.159204$65.44...@twister1.libero.it...
>
> > Senza VLisp (penso che così tu chieda) non so come si possa fare.
>
> in che senso?Con Vlisp si può fare?E come?
> Forse mi son perso un pò la differenza tra vlisp e lisp------
>
>
>
>
Intendo ciò che una volta si chiamava Vital Lisp e che AutoDesk
ha acquistato ed implementato dalla Versione 2000 (per R.14 era
una opzione a pagamento) e che a chiamato Visual Lisp.
i nomi delle funzioni iniziano con vl-, vla-, vlax-, e vlr-.
--
> Cioè quelle per cui usi vl-load-com?
solo le funzioni che iniziano con vla-, vlax-, e vlr- necessitano
di:
vl-load-com
This function loads the extended AutoLISP functions provided with
Visual LISP. The Visual LISP extensions implement ActiveX and
AutoCAD reactor support through AutoLISP, and also provide ActiveX
utility and data conversion functions, dictionary handling
functions, and curve measurement functions.
If the extensions are already loaded, vl-load-com does nothing.
--
> Ma ci sono situazioni in cui è ancora
> necessario usare solo il lisp e non il vlisp?
Si, ad esempio se il programma deve "girare" su versioni precedenti
alla 2000 o in IntelliCad.
una opzione a pagamento) e che ha chiamato Visual Lisp.