Edicion de Notas
3 participantes
Página 1 de 1.
Edicion de Notas
Hola que tal nesecito su ayuda porfavor:
No sé cómo agregar el contenido de un edit_box y que aparece en el poppup_list
No sé cómo agregar el contenido de un edit_box y que aparece en el poppup_list
- Código:
;; DCL Temporal ---> Lee Mac
(setq BiblioElecVersion "3.3")
(defun Biblock:GetSavePath ( / tmp )
(cond
( (setq tmp (getvar 'ROAMABLEROOTPREFIX))
(strcat (vl-string-right-trim "\\" (vl-string-translate "/" "\\" tmp)) "\\Support")
)
( (setq tmp (findfile "ACAD.pat"))
(vl-string-right-trim "\\" (vl-string-translate "/" "\\" (vl-filename-directory tmp)))
)
( (vl-string-right-trim "\\" (vl-filename-directory (vl-filename-mktemp))))
)
)
(defun _ax:start ( key lst )
(start_list key)
(mapcar 'add_list lst)
(end_list)
lst
)
(defun c:L44 ( )
(setq ListNotas '("Hello" "Thanks"))
;;----------Ruta temporal y configuración DCL ---------------------------------
;; Guardamos la ruta con la funcíon (NumInc:GetSavePath)
;; Reemplzar NumInc:GetSavePath --> Biblock:GetSavePath
;;-----------------------------------------------------------------------------
(setq savepath (Biblock:GetSavePath))
(setq dcl (strcat savepath "\\Biblioteca_Block" (vl-string-translate "." "-" BiblioElecVersion) ".dcl"))
(setq des (open dcl "w"))
(foreach line
'(
"ListaFolder: dialog { label = \"Listado de carpetas:\"; width=50; "
" : edit_box {key = \"key_Notas\"; edit_width = 5; fixed_width = true;}"
" : button { label = \"&Add\"; mnemonic = \"A\"; key = \"key_Add\"; fixed_width = true; } "
"spacer_1; "
" :list_box { key = \"key_ListNotas\"; width=30; }"
" : button { label = \" &Cancelar \"; mnemonic = \"C\"; key = \"cancel\"; fixed_width = true; is_cancel = true;} "
" } "
)
(write-line line des))
(progn (close des) (< 0 (setq dch (load_dialog dcl))))
(if (not (new_dialog "ListaFolder" dch "" (cond (*screenpointlc*) ('(-1 -1)))))
(progn
(alert (strcat "\n**ERROR**"))
(exit)))
;; Rellenar los valores del dcl
(_ax:start "key_ListNotas" ListNotas)
;;----------------------------------------------------------------
(action_tile "cancel" "(setq *screenpointlc* (done_dialog 1))")
(setq ddiag (start_dialog))
(princ)
(if (= ddiag 1) (prompt "\nPrograma Cancelado..."))
(setq dch (unload_dialog dch))
(if (and dcl (findfile dcl))
(vl-file-delete dcl))
(if (< 0 dch) (unload_dialog dch))
(setvar "cmdecho" 1)
(princ))
Re: Edicion de Notas
Prueba esta modificacion y nos cuentas como funciona.amc.dicsac escribió:No sé cómo agregar el contenido de un edit_box y que aparece en el poppup_list
Un saludo
- Código:
;;; oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo
(defun Biblock:GetSavePath (/ tmp)
(cond ((setq tmp (getvar 'ROAMABLEROOTPREFIX))
(strcat (vl-string-right-trim "\\" (vl-string-translate "/" "\\" tmp)) "\\Support")
)
((setq tmp (findfile "ACAD.pat"))
(vl-string-right-trim "\\" (vl-string-translate "/" "\\" (vl-filename-directory tmp)))
)
((vl-string-right-trim "\\" (vl-filename-directory (vl-filename-mktemp))))
)
)
;;; oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo
(defun _ax:start (key lst) (start_list key) (mapcar 'add_list lst) (end_list) lst)
;;; oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo
(defun c:L44 (/ notas savepath dcl des dch *screenpointlc* ddiag)
(setq notas '("Enero" "Febrero" "Marzo"))
(setq savepath (Biblock:GetSavePath))
(setq dcl (strcat savepath "\\Biblioteca.dcl"))
(setq des (open dcl "w"))
(foreach line
'("lista:dialog{label=\"Listado de carpetas:\";width=50;:edit_box{key=\"nota\";edit_width=5;"
"fixed_width=true;}:button{label=\"Add\";key=\"add\";fixed_width=true;}spacer_1;:list_box{"
"key=\"notas\";width=30;}:button{label=\"Cancelar\";key=\"cancel\";fixed_width=true;is_cancel=true;}}"
)
(write-line line des)
)
(progn (close des) (< 0 (setq dch (load_dialog dcl))))
(if (not (new_dialog "lista"
dch
""
(cond (*screenpointlc*)
('(-1 -1))
)
)
)
(progn (alert (strcat "\n**ERROR**")) (exit))
)
(_ax:start "notas" notas)
;;solo tienes que poner esta action_tile
(action_tile "add"
"(setq notas (append notas (list (get_tile \"nota\")))) (_ax:start \"notas\" notas)"
)
(action_tile "cancel" "(setq *screenpointlc* (done_dialog 1))")
(setq ddiag (start_dialog))
(if (= ddiag 1)
(prompt "\nPrograma Cancelado...")
)
(setq dch (unload_dialog dch))
(if (and dcl (findfile dcl))
(vl-file-delete dcl)
)
(if (< 0 dch)
(unload_dialog dch)
)
(setvar "cmdecho" 1)
(princ)
)
;;; oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo
Dominguez- Mensajes : 151
Fecha de inscripción : 20/03/2016
Edad : 74
Localización : Zaragoza (España)
Re: Edicion de Notas
Muchas gracias maestro Dominguez, yo por mi cuenta busque algo que me permitiera almacenar los textos que voy ingresando y al parecer llegue a solucionar ese problema, pero lamentablemente solamente almacena los textos temporalmente =( por lo que decidi usar las funciones "vl-registry-read y vl-registry-write" pero aun no logro que se almacene en el sistema, espero que alguien me pueda ayudar a solucionar este problema.
Gracias
Gracias
- Código:
;; DCL Temporal ---> Lee Mac
(setq BiblioElecVersion "3.3")
(defun Biblock:GetSavePath ( / tmp )
(cond
( (setq tmp (getvar 'ROAMABLEROOTPREFIX))
(strcat (vl-string-right-trim "\\" (vl-string-translate "/" "\\" tmp)) "\\Support")
)
( (setq tmp (findfile "ACAD.pat"))
(vl-string-right-trim "\\" (vl-string-translate "/" "\\" (vl-filename-directory tmp)))
)
( (vl-string-right-trim "\\" (vl-filename-directory (vl-filename-mktemp))))
)
)
(defun _ax:start ( key lst )
(start_list key)
(mapcar 'add_list lst)
(end_list)
lst
)
;; Código ---> kpblc
(defun _kpblc-list-add-or-subst (lst key value)
(if (not value)
(vl-remove-if (function (lambda (x) (= (car x) key))) lst)
(if (cdr (assoc key lst))
(subst (cons key value) (assoc key lst) lst)
(cons (cons key value)
(vl-remove-if (function (lambda (x) (= (car x) key))
)
lst
)
)
)
)
)
;; Código ---> kpblc
(defun fun_callback (key value ref-list)
(cond ((= key "key_Add")
(set ref-list
(_kpblc-list-add-or-subst (eval ref-list)
"key_ListNotas"
(append (cdr (assoc "key_ListNotas" (eval ref-list))) (list (get_tile "key_Notas")))
)
) ;_ end of set
(start_list "key_ListNotas" 3)
(mapcar (function add_list) (cdr (assoc "key_ListNotas" (eval ref-list))))
(end_list)
)
)
)
(defun StringListRegistryWrite (regKey valName lst)
(read
(vl-registry-write
regKey
valName
(if lst
(vl-prin1-to-string lst)
""
)
)
)
)
(defun StringListRegistryRead (regKey valName)
(read
(cond
((vl-registry-read regKey valName))
("")
)
)
)
(defun c:L44 (/ Maestrokey2 )
(vl-load-com)
(setq Maestrokey22 (StringListRegistryRead "HKEY_CURRENT_USER\\SOFTWARE\\Maestrokey2" "Maestrokey22"))
;;----------Ruta temporal y configuración DCL ---------------------------------
;; Guardamos la ruta con la funcíon (NumInc:GetSavePath)
;; Reemplzar NumInc:GetSavePath --> Biblock:GetSavePath
;;-----------------------------------------------------------------------------
(setq savepath (Biblock:GetSavePath))
(setq dcl (strcat savepath "\\Biblioteca_Block" (vl-string-translate "." "-" BiblioElecVersion) ".dcl"))
(setq des (open dcl "w"))
(foreach line
'(
"ListaFolder: dialog { label = \"Listado de carpetas:\"; width=50; "
" : edit_box {key = \"key_Notas\"; edit_width = 5; fixed_width = true;}"
" : button { label = \"&Add\"; mnemonic = \"A\"; key = \"key_Add\"; fixed_width = true; } "
"spacer_1; "
" :list_box { key = \"key_ListNotas\"; width=30; }"
" : button { label = \" &Cancelar \"; mnemonic = \"C\"; key = \"cancel\"; fixed_width = true; is_cancel = true;} "
" } "
)
(write-line line des))
(progn (close des) (< 0 (setq dch (load_dialog dcl))))
(if (not (new_dialog "ListaFolder" dch "(fun_callback $key $value 'dcl_lst)" (cond (*screenpointlc*) ('(-1 -1)))))
(progn
(alert "\n**ERROR**")
(exit)))
;;----------------------------------------------------------------
(action_tile "cancel" "(setq *screenpointlc* (done_dialog 1))")
(_ax:start "key_ListNotas" (StringListRegistryWrite "HKEY_CURRENT_USER\\SOFTWARE\\Maestrokey2" "Maestrokey22" (cdr (assoc "key_ListNotas" dcl_lst))))
(setq ddiag (start_dialog))
(princ)
(if (= ddiag 1) (prompt "\nPrograma Cancelado..."))
(setq dch (unload_dialog dch))
(if (and dcl (findfile dcl))
(vl-file-delete dcl))
(if (< 0 dch) (unload_dialog dch))
(setvar "cmdecho" 1)
(princ))
Re: Edicion de Notas
Prueba esta rutina y modificala para tu uso, haber si te sirve.
- Código:
; Conserva los valores despues de cerrar AutoCAD y/ó cargue un dibujo diferente.
;;;oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo
(defun dialog_test ()
(setq file (vl-filename-mktemp "dcl.dcl"))
(setq indi (open file "W"))
(write-line
"temp:dialog{label=\"Defectos del Diálogo\";:row{:toggle{key=\"tog1\";label=\"On o Off\";}
:toggle{key=\"tog2\";label=\"Izquierda o Derecha\";}}spacer;:edit_box{key=\"eb2\";label=\"Ingrese un par de letras\";}
spacer;:edit_box{key=\"eb1\";label=\"Valor del desplazamiento\";edit_width=6;}:slider{key=\"mislider\";
max_value=100;min_value=0;value=\"50\";small_increment=2;big_increment=5;}spacer;ok_cancel;}"
indi
)
(close indi)
)
;;;oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo
(defun c:test (/ file indi lngth letras toggle1 toggle2 clik)
(setq lngth (getcfg "AppData/CadLDG/defecto1"))
(if (= lngth nil)
(progn (setcfg "AppData/CadLDG/defecto1" "50.0") (setq lngth (getcfg "AppData/CadLDG/defecto1")))
)
(setq letras (getcfg "AppData/CadLDG/defecto2"))
(if (= letras nil)
(progn (setcfg "AppData/CadLDG/defecto2" "ABC") (setq letras (getcfg "AppData/CadLDG/defecto2")))
)
(setq toggle1 (getcfg "AppData/CadLDG/defecto3"))
(if (= toggle1 nil)
(progn (setcfg "AppData/CadLDG/defecto3" "1") (setq toggle1 (getcfg "AppData/CadLDG/defecto3")))
)
(setq toggle2 (getcfg "AppData/CadLDG/defecto4"))
(if (= toggle2 nil)
(progn (setcfg "AppData/CadLDG/defecto4" "0") (setq toggle2 (getcfg "AppData/CadLDG/defecto4")))
)
(dialog_test)
(setq indi (load_dialog file))
(new_dialog "temp" indi)
(set_tile "tog1" toggle1)
(set_tile "tog2" toggle2)
(set_tile "eb2" letras)
(set_tile "eb1" lngth)
(set_tile "mislider" lngth)
(action_tile "mislider" "(slider_action $value $reason)")
(action_tile "eb1" "(ebox_action $value $reason)")
(defun slider_action (val por)
(if (or (= por 2) (= por 1))
(set_tile "eb1" val)
)
)
(defun ebox_action (val por)
(if (or (= por 2) (= por 1))
(set_tile "mislider" val)
)
)
(action_tile "tog1" "(setq toggle1 $value)")
(action_tile "tog2" "(setq toggle2 $value)")
(action_tile
"accept"
"(progn (setq lngth (get_tile \"eb1\"))(setq letras (get_tile \"eb2\"))(done_dialog) (setq clik t))"
)
(action_tile "cancel" "(done_dialog) (setq clik nil)")
(vl-file-delete file)
(start_dialog)
(unload_dialog indi)
(if clik
(progn (setcfg "AppData/CadLDG/defecto1" lngth)
(setcfg "AppData/CadLDG/defecto2" letras)
(setcfg "AppData/CadLDG/defecto3" toggle1)
(setcfg "AppData/CadLDG/defecto4" toggle2)
(alert (strcat "Usted ingreso: " lngth " y " letras))
)
)
(prin1)
)
;;;oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo
Dominguez- Mensajes : 151
Fecha de inscripción : 20/03/2016
Edad : 74
Localización : Zaragoza (España)
Re: Edicion de Notas
Hola Maestro Dominguez.
Este Codigo que esta facilitando esta bien interesante, pero creo que mas utilidad se le daria si los textos fuesen acumulativos, como el famoso TNOTE.VLX que en él se van agregando notas y las voy salvando para la "posteridad", no importa que no sean insertables los textos, pero como para llevar un registro de todos los textos que voy agregando eso seria muy bueno.
Saludos
Este Codigo que esta facilitando esta bien interesante, pero creo que mas utilidad se le daria si los textos fuesen acumulativos, como el famoso TNOTE.VLX que en él se van agregando notas y las voy salvando para la "posteridad", no importa que no sean insertables los textos, pero como para llevar un registro de todos los textos que voy agregando eso seria muy bueno.
Saludos
saulo2016- Mensajes : 210
Fecha de inscripción : 17/03/2016
Edad : 58
Localización : Monterrey, Nuevo León, Mexico
Re: Edicion de Notas
Bueno pues aqui teneis otra solucion, que consiste en un fichero de texto (notas.txt) que se puede editar, y sirve de base para añadir notas.
podeis bajarlo de dropbox
https://www.dropbox.com/s/pxsovux1887kkv5/ADN.VLX?dl=0
https://www.dropbox.com/s/2k4t010yft055yx/ADN.txt?dl=0
Un saludo
podeis bajarlo de dropbox
https://www.dropbox.com/s/pxsovux1887kkv5/ADN.VLX?dl=0
https://www.dropbox.com/s/2k4t010yft055yx/ADN.txt?dl=0
Un saludo
Última edición por Dominguez el Vie Nov 18, 2016 6:21 pm, editado 2 veces
Dominguez- Mensajes : 151
Fecha de inscripción : 20/03/2016
Edad : 74
Localización : Zaragoza (España)
Re: Edicion de Notas
Gracias Maestro por su respuesta....pero no he podido desccargar los archivos del DROPBOX.....pues me muestra esto, aunque yo ya estoy registrado solo veo esto.
No se si pudiera hacermelos llegar por otro medio???
Saludos Maestro Dominguez
No se si pudiera hacermelos llegar por otro medio???
Saludos Maestro Dominguez
saulo2016- Mensajes : 210
Fecha de inscripción : 17/03/2016
Edad : 58
Localización : Monterrey, Nuevo León, Mexico
Re: Edicion de Notas
Prueba estos enlaces haber si te funcionansaulo2016 escribió:Gracias Maestro por su respuesta....pero no he podido desccargar los archivos del DROPBOX.....pues me muestra esto, aunque yo ya estoy registrado solo veo esto.
Saludos Maestro Dominguez
https://www.dropbox.com/s/pxsovux1887kkv5/ADN.VLX?dl=0
https://www.dropbox.com/s/2k4t010yft055yx/ADN.txt?dl=0
Saludos
Última edición por Dominguez el Vie Nov 18, 2016 6:23 pm, editado 1 vez
Dominguez- Mensajes : 151
Fecha de inscripción : 20/03/2016
Edad : 74
Localización : Zaragoza (España)
Re: Edicion de Notas
Excelente Maestro......una vez mas me salvo el dia!!!!
Esto era lo que yo necesitaba, le vuelvo agradecer....y le ruego que no se pierda mucho tiempo pues hay quienes necesitamos de su apoyo y aporte.....
Gracias
Esto era lo que yo necesitaba, le vuelvo agradecer....y le ruego que no se pierda mucho tiempo pues hay quienes necesitamos de su apoyo y aporte.....
Gracias
saulo2016- Mensajes : 210
Fecha de inscripción : 17/03/2016
Edad : 58
Localización : Monterrey, Nuevo León, Mexico
Re: Edicion de Notas
Celebro que te sirvasaulo2016 escribió:Excelente Maestro......una vez mas me salvo el dia!!!!
Esto era lo que yo necesitaba, le vuelvo agradecer....y le ruego que no se pierda mucho tiempo pues hay quienes necesitamos de su apoyo y aporte.....
Gracias
Un saludo
Dominguez- Mensajes : 151
Fecha de inscripción : 20/03/2016
Edad : 74
Localización : Zaragoza (España)
Re: Edicion de Notas
Solo una cosa mas Maestro......¿acaso sera posible tener el codigo en LSP para modificar un poco el ancho del cuadro???.....pues lo que estoy haciendo es que estoy almacenando descripciones de texto un poco largas y necesito tener todo el renglon visible y asi poder llevar un registro de mis actividades diarias durante todo el mes, para poder hacer mis reportes de trabajos.
No se preocupe si esto de obtener el LSP no se puede....yo le entiendo...
Saludos
No se preocupe si esto de obtener el LSP no se puede....yo le entiendo...
Saludos
saulo2016- Mensajes : 210
Fecha de inscripción : 17/03/2016
Edad : 58
Localización : Monterrey, Nuevo León, Mexico
Re: Edicion de Notas
De momento conformate con que yo te lo ponga a 100 caracteres de anchura, si necesitas mas lo dices.saulo2016 escribió:¿acaso sera posible tener el codigo en LSP para modificar un poco el ancho del cuadro???
No se preocupe si esto de obtener el LSP no se puede....yo le entiendo...
Saludos
https://www.dropbox.com/s/pxsovux1887kkv5/ADN.VLX?dl=0
https://www.dropbox.com/s/2k4t010yft055yx/ADN.txt?dl=0
Tambien tengo que decirte que las notas las muestra en orden alfabetico, pero puede hacerse que las muestre tal como se van ingresando.
Un saludo
Última edición por Dominguez el Vie Nov 18, 2016 6:24 pm, editado 1 vez
Dominguez- Mensajes : 151
Fecha de inscripción : 20/03/2016
Edad : 74
Localización : Zaragoza (España)
Re: Edicion de Notas
Muchas gracias Maestro.......esto es mas que suficiente!!!!
Le debo otra mas .....
Que tenga un buen dia
Saludos
Le debo otra mas .....
Que tenga un buen dia
Saludos
saulo2016- Mensajes : 210
Fecha de inscripción : 17/03/2016
Edad : 58
Localización : Monterrey, Nuevo León, Mexico
Re: Edicion de Notas
Maestro siento mucho tener que informarle que este segundo VLX no me funciono, hace como que va abrir y se cierra inmediatamente.....
saulo2016- Mensajes : 210
Fecha de inscripción : 17/03/2016
Edad : 58
Localización : Monterrey, Nuevo León, Mexico
Re: Edicion de Notas
https://www.dropbox.com/s/pxsovux1887kkv5/ADN.VLX?dl=0saulo2016 escribió:Maestro siento mucho tener que informarle que este segundo VLX no me funciono, hace como que va abrir y se cierra inmediatamente.....
https://www.dropbox.com/s/2k4t010yft055yx/ADN.txt?dl=0
Supongo que te devolvera algun error
Última edición por Dominguez el Vie Nov 18, 2016 6:26 pm, editado 1 vez
Dominguez- Mensajes : 151
Fecha de inscripción : 20/03/2016
Edad : 74
Localización : Zaragoza (España)
Re: Edicion de Notas
Maestro Dominguez, me dá pena con usted pero resulta que si me muestra el cuadro de dialogo pero no carga el archivo de texto y se queda congelado el cuadro....Mire Maestro mejor ya no lo incomodo, me voy a quedar con la primera version esa funciona perfectamente bien, mejor voy a acortar mis descripciones y me quedo con la primera....
Y le vuelvo a ratificar mi agradecimiento, es una excelente rutina que me esta sacando de apuros, pues me esta ayudando a llevar un registro de actividades, y asi no olvido lo que estoy haciendo a diario....
Maestro que este excelentemente bien
Saludos
Y le vuelvo a ratificar mi agradecimiento, es una excelente rutina que me esta sacando de apuros, pues me esta ayudando a llevar un registro de actividades, y asi no olvido lo que estoy haciendo a diario....
Maestro que este excelentemente bien
Saludos
saulo2016- Mensajes : 210
Fecha de inscripción : 17/03/2016
Edad : 58
Localización : Monterrey, Nuevo León, Mexico
Re: Edicion de Notas
Mira Saulo2016:
No me incomodas para nada, si las cosas no funcionan, debemos de arreglarlas, ademas creo que se cual es el error, despues del primer envio, cambie el nombre del fichero de texto, que ahora se llama ADN.TXT, asi que le cambias el nombre y ya esta,
Un saludo y perdoname tu a mi.
No me incomodas para nada, si las cosas no funcionan, debemos de arreglarlas, ademas creo que se cual es el error, despues del primer envio, cambie el nombre del fichero de texto, que ahora se llama ADN.TXT, asi que le cambias el nombre y ya esta,
Un saludo y perdoname tu a mi.
Dominguez- Mensajes : 151
Fecha de inscripción : 20/03/2016
Edad : 74
Localización : Zaragoza (España)
Re: Edicion de Notas
Quedo perfecto.....Gracias Maestro.
Saludos
Saludos
saulo2016- Mensajes : 210
Fecha de inscripción : 17/03/2016
Edad : 58
Localización : Monterrey, Nuevo León, Mexico
Re: Edicion de Notas
Maestro "Dominguez" recurro a su ayuda, cambie mi codigo ahora lo que estroy haciendo es que lea archivos .txt ubicados en una carpeta funciona bien aprentemente pero el problema es cuando quiero agregar un contenido, no se llega actualizar.
- Código:
;; DCL Temporal ---> Lee Mac
;; Version del DCL Temporal
(setq EditarNotasVersion "2.0")
;; Ruta del DCL Temporal ---> Lee Mac
(defun EditarNotas:GetSavePath ( / tmp )
(cond
( (setq tmp (getvar 'ROAMABLEROOTPREFIX))
(strcat (vl-string-right-trim "\\" (vl-string-translate "/" "\\" tmp)) "\\Support")
)
( (setq tmp (findfile "ACAD.pat"))
(vl-string-right-trim "\\" (vl-string-translate "/" "\\" (vl-filename-directory tmp)))
)
( (vl-string-right-trim "\\" (vl-filename-directory (vl-filename-mktemp))))
)
)
;; Agregar Listado ---> Lee Mac
(defun _ax:start ( key lst )
(start_list key)
(mapcar 'add_list lst)
(end_list)
lst
)
;; Agregar Lista de layer a Poppup_List ---> Lee Mac
(defun lislayerdoc ( / d l r )
(while (setq d (tblnext "layer" (not d)))
(if (and (zerop (logand 21 (cdr (assoc 70 d))))
(< 0 (cdr (assoc 62 d)))
(/= "defpoints" (strcase (setq l (cdr (assoc 2 d))) t)))
(setq r (cons l r))))
(vl-sort r '<))
(defun NumInc:GetTableItems ( table / a b )
(while (setq a (tblnext table (null a)))
(if (null (wcmatch (cdr (assoc 2 a)) "`**,*|*"))
(setq b (cons (cdr (assoc 2 a)) b))))
(acad_strlsort b))
;;--------------------------------------------------------------------;;
;; 2ap_Read_Folder ---> AX:ProgramLisp ;;
;; (setq PathFolder "D:/Carpeta_Nota/") ;;
;; (2ap_Read_Folder "Archivos_Notas/") ;;
;; ;;
;; Indicaciones de uso: ;;
;; Lista archivos con extension *.txt dentro de una carpeta defecto ;;
;;--------------------------------------------------------------------;;
(defun 2ap_Read_Folder (PathFile / Listado Dir)
(if (setq Dir (strcat PathFolder PathFile))
(setq Listado (vl-directory-files (strcat Dir "\\") "*.txt" 1)
Listado (mapcar (function vl-filename-base) Listado))
)
Listado
)
;;--------------------------------------------------------------------;;
;; 2ap_Read_File ---> AX:ProgramLisp ;;
;; (setq PathFile (2ap_Read_File "D:/NOTAS.txt")) ;;
;; ;;
;; Indicaciones de uso: ;;
;; Configurar una lista vacía (Lista) ;;
;; Abra el archivo de texto "Generales.txt" ;;
;; Saltamos la primera linea (read-line Path) ;;
;; Leer las líneas de datos en el archivo de texto (read-line Path) ;;
;; Añadir los datos de la lista ;;
;; Cerramos el archivo *.txt ;;
;;--------------------------------------------------------------------;;
(defun 2ap_Read_File (File / Lista ReadLista Path)
(if (and (findfile File) (setq Path (open File "r")))
(progn
(read-line Path)
(while (setq ReadLista (read-line Path))
(setq Lista (append Lista (list ReadLista))))
(close Path))
)
Lista
)
(defun 2ap_Write_File ( File AddTxt / Path )
(setq Path (open File "a"))
(write-line AddTxt Path)
(close Path)
(C:E2))
(defun c:E2 (/ userdicsac)
(setq userdicsac (strcase (getvar "LOGINNAME")))
;;----- Ruta para subfuncion (2ap_Read_Folder) ------;;
(setq PathFolder "D:/AxProgramLisp/2ap_Soportes/")
;;----------Ruta temporal y configuración DCL ---------------------------------
;;Guardamos la ruta con la funcíon (EditarNotas:GetSavePath)
;;-----------------------------------------------------------------------------
(setq savepath (EditarNotas:GetSavePath))
(setq dcl (strcat savepath "\\Edicion_Notas" (vl-string-translate "." "-" EditarNotasVersion) ".dcl"))
(setq des (open dcl "w"))
(foreach line
'(
"img16 : image"
"{"
" fixed_width = true;"
" fixed_height = true;"
" width = 2.8;"
" aspect_ratio = 1.0;"
"}"
"img16b : image_button"
"{"
" fixed_width = true;"
" fixed_height = true;"
" width = 2.8;"
" aspect_ratio = 1.0;"
"}"
"EditNota : dialog { label = \"EditNotes ----> Versión 3.1\";"
"initial_focus=\"bloqlist1\";"
"spacer_1;"
" : row {"
" : edit_box { key = \"keycontenido2\"; edit_width=48; fixed_width = true; is_enabled = true ;}"
" : button { label = \">> &Agregar\"; mnemonic = \"A\"; key = \"key_Agregar\"; width =15; fixed_width = true;}"
" spacer_1; "
" } "
" spacer_1; "
" : row { children_alignment = centered; "
" : list_box { width =50; label = \"Nota&s\"; key = \"key_Notas\"; mnemonic = \"s\"; allow_accept = true; height =30; value = \"1\"; multiple_select = false; fixed_width = true; } "
" spacer_0;"
" : column { "
" : boxed_column { label = \"Opciones\"; width = 10; "
" : row {"
" : text { label = \">> Guardar Selección\";} "
" : img16b { key = \"w1\";}"
" } "
" : text { label = \"-----------------------\"; alignment = centered; fixed_width_font = true;} "
" : row { "
" : text { label = \">> Modificar Base datos\";}"
" : img16b { key = \"w2\";} "
" } "
" spacer_1; "
" } "
" spacer_1; "
" : column { "
" : boxed_column { label = \"Edición de Texto\"; "
" : paragraph { "
" : text_part { label = \"1:20 = 0.04 -- 1:200 = 0.40\";} "
" : text_part { label = \"1:25 = 0.05 -- 1:250 = 0.50\";} "
" : text_part { label = \"1:50 = 0.10 -- 1:100 = 0.20\";} "
" : text_part { label = \"1:75 = 0.15 -- 1:125 = 0.25\";} "
" } "
" : text { label = \"Tamaño:\";}"
" : row {"
" : img16 { key = \"w3\";}"
" : edit_box { key = \"key_escala\"; fixed_width = false; is_enabled = true;}"
" } "
" : spacer { height=0.1;} "
" : text { label = \"Layers:\"; } "
" : row { "
" : img16 { key = \"w4\";} "
" : popup_list { key = \"listcapas\"; value = \"1\"; is_enabled = true ; } "
" : popup_list { key = \"listfoldertxt\"; value = \"1\"; is_enabled = true ; } "
" } "
" : spacer { height=0.1;} "
" : text { label = \"Style:\";} "
" : row { "
" : img16 { key = \"w5\";} "
" : popup_list { key = \"listcapas2\"; value = \"1\"; is_enabled = true; } "
" } "
" spacer_1; "
" } "
" } "
" spacer_1; "
" : column { "
" : boxed_column { label = \"Acción\"; width = 10; "
" : button { label = \"&Reemplazar.\"; mnemonic = \"R\"; key = \"accept\"; width =10; is_default = true; } "
" : button { label = \"&Texto\"; mnemonic = \"T\"; key = \"key_texto\"; width =10;} "
" : button { label = \"Texto &Multiple\"; mnemonic = \"M\"; key = \"key_mtexto\"; width =10;} "
" : button { label = \"Act&ualizar\"; mnemonic = \"u\"; key = \"key_updata\"; width =10;} "
" } "
" } "
" spacer_1; "
" } "
" } "
" spacer_1; "
" : row { width = 5; fixed_width = true; alignment = left; "
" : text {label = \"Copyright (c) :: EditNotas | Versión 3.1 | 2016 ::\"; } "
" : button { label = \" &Cancelar \"; mnemonic = \"C\"; key = \"cancel\"; fixed_width = true; is_cancel = true;} "
" : button { label = \"**Blogger**\"; key = \"abortar\"; fixed_width = true;} "
" } "
" } "
)
(write-line line des))
(progn (close des) (< 0 (setq dch (load_dialog dcl))))
(if (not (new_dialog "EditNota" dch "" (cond (*screenpointEditNota*) ('(-1 -1)))))
(progn
(alert (strcat "\n **ERROR** [ Formato ##001--> Dcl incompatible ] "
"\n--------------------------------------------------------------------------------"
"\nUsuario: " userdicsac " lamentamos este inconveniente porfavor comunicate via"
"\nemail con el admin [ alexander.castro.17@outlook.es ]"
"\n"
"\nAtte. Area de soporte de AX:ProgramLisp."))
(exit)))
(if (null *ListFolderTxt*) (setq *ListFolderTxt* "0"))
(if (null *opcion8*) (setq *opcion8* "0"))
(setq PathFile (strcat PathFolder "Archivos_Notas/"))
(setq ListFolderTxt (2ap_Read_Folder "Archivos_Notas"))
(setq f1 "1-Generales")
(if (or (null bloList) (null (listp bloList))) (setq bloList (2ap_Read_File (strcat PathFile f1 ".txt"))) )
(setq bloqxlist (nth (atoi *opcion8*) bloList))
;;--------------------------- NumInc:GetTableItems -------------------------------------;;
;; Obtenemos el listado de capas en el dibujo (NumInc:GetTableItems "layer") ;;
;; Obtenemos el listado de estilos de textos (NumInc:GetTableItems "style") ;;
;;--------------------------------------------------------------------------------------;;
(setq ListLayer (lislayerdoc))
(setq ListStyle (NumInc:GetTableItems "style"))
;;--------------------------- _addlist -----------------------------------------;;
;; Agregamos la lista con su propio "key" ;;
;;------------------------------------------------------------------------------;;
(_ax:start "listfoldertxt" ListFolderTxt)
(set_tile "listfoldertxt" *ListFolderTxt*)
(_ax:start "key_Notas" bloList)
(_ax:start "listcapas" ListLayer)
(_ax:start "listcapas2" ListStyle)
;;--------------------------- set_tile / action_tile "infolist"-----------------------------------------
;; Definimos la lista de archivos en la carpte previamente especificada
;; para guardarlo en la varibale *opcion2*
;;------------------------------------------------------------------------------------------------------
(action_tile "listfoldertxt"
(strcat
"(_ax:start \"key_Notas\" (setq bloList (2ap_Read_File (setq Ruta3 (strcat PathFile (nth (atoi (setq *ListFolderTxt* $value)) ListFolderTxt) \".txt\")))))" ;;$value
"(set_tile \"listfoldertxt\" *ListFolderTxt*)"))
;;--------------------------- set_tile / action_tile "bloqlist"-----------------------------------------
;; Definimos la lista de bloques dependiento de la lista .txt seleccionada previamente
;; para guardarlo en la varibale *opcion1*
;;------------------------------------------------------------------------------------------------------
(set_tile "key_Notas" *opcion8*)
(action_tile "key_Notas" "(setq *opcion8* $value)")
;--------------------------- set_tile / action_tile "layer" -------------------------------
;;Definimos capa principal para los textos a insertar, previamente la capa seleccionada
;;se guardara en una variable
;;------------------------------------------------------------------------------------------
(set_tile "listcapas" (itoa (cond ((vl-position listcapas ListLayer)) ((vl-position (setq listcapas (getvar 'CLAYER)) ListLayer)))))
(action_tile "listcapas" "(setq listcapas (nth (atoi $value) ListLayer))")
;;--------------------------- set_tile / action_tile "style"-----------------------------------------
;;Definimos estilo principal para los textos a insertar, previamente el estilo seleccionado
;;se guardara en una variable
;;---------------------------------------------------------------------------------------------------
(set_tile "listcapas2" (itoa (cond ((vl-position listcapas2 ListStyle)) ((vl-position (setq listcapas2 (getvar 'TEXTSTYLE)) ListStyle)))))
(action_tile "listcapas2" "(setq listcapas2 (nth (atoi $value) ListStyle))")
;;---------------------------------------------------------------------------------------------------
(action_tile "cancel" "(setq *screenpointEditNota* (done_dialog 1))")
(action_tile "accept" "(setq artec (nth (atoi (get_tile \"key_Notas\")) bloList)) (setq *screenpointEditNota* (done_dialog 2)) ")
(action_tile "key_Agregar"
(strcat
"(setq *keycontenido2* (get_tile \"keycontenido2\"))"
"(setq *screenpointEditNota* (done_dialog 7))"
))
(mode_tile "keycontenido2" 2)
(setq ddiag (start_dialog))
(princ)
(if (= ddiag 1) (prompt "\n**Cancel**"))
(if (= ddiag 2) (AX:ReempText))
(if (= ddiag 7) (2ap_Write_File Ruta3 (strcat *keycontenido2*)))
(setq dch (unload_dialog dch))
(if (and dcl (findfile dcl))
(vl-file-delete dcl))
(if (< 0 dch) (unload_dialog dch))
(setvar "cmdecho" 1)
(princ))
(defun AX:ReempText ()
(setvar "cmdecho" 0)
(setq conj (ssget "_:L" '((0 . "TEXT,MTEXT,ATTDEF"))))
(setq nums (sslength conj))
(setq n 0)
(repeat nums
(setq nt (ssname conj n))
(setq listNueva (subst (cons 1 artec)(assoc 1 (entget nt))(entget nt)))
(entmod listNueva)
(setq n (1+ n)))
(setvar "cmdecho" 1)
(princ))
Re: Edicion de Notas
Siento decirte que ese fichero es tan retorcido que me llevaria un monton de horas corregirlo, primero por que busca en una serie de carpetas que en mi PC no existen y otras cosas por las que no me funciona en mi PC,amc.dicsac escribió:ahora lo que estoy haciendo es que lea archivos .txt ubicados en una carpeta funciona bien aprentemente pero el problema es cuando quiero agregar un contenido, no se llega actualizar.
Si me cuentas cual es tu necesidad, si tengo tiempo podria crearte un programa hecho a mi forma, y me costaria menos tiempo que corregir el de Lee Mac.
Un saludo
Dominguez- Mensajes : 151
Fecha de inscripción : 20/03/2016
Edad : 74
Localización : Zaragoza (España)
Página 1 de 1.
Permisos de este foro:
No puedes responder a temas en este foro.
|
|