找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

楼主: eachy

[分享] 新作的一个工具箱菜单面板预览

[复制链接]

已领礼包: 40个

财富等级: 招财进宝

发表于 2014-1-3 10:01:43 | 显示全部楼层
st788796 发表于 2014-1-3 09:32
其实用lsp组织是最切合lsp的,看看这个文章
http://m.baidu.com/from=2001a/bd_page_type=1/ssid=0/ui ...

xml数据交换最好

(vlax-create-object "MSXML.DOMDocument")
or
(vlax-create-object "MSXML2.DOMDocument.3.0")
or
(vlax-create-object "MSXML2.DOMDocument.4.0")
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 1268个

财富等级: 财源广进

发表于 2014-1-3 10:05:43 来自手机 | 显示全部楼层
本帖最后由 st788796 于 2014-1-3 10:07 编辑

控制不动,另写一个将xml转换为要求的lsp表即可,lsp其实读取最快
或者提供两种模式供用户选择自定义
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 40个

财富等级: 招财进宝

发表于 2014-1-3 10:05:58 | 显示全部楼层
本帖最后由 newer 于 2014-1-3 10:09 编辑

XML-API ,可以把他们整理出来添加到XD LISP函数库里面。

  1. ;;;************************************************************************
  2. ;;; api-xml.lsp
  3. ;;; Prepared by: J. Szewczak
  4. ;;; Date: 4 January 2004
  5. ;;; Purpose: To provide an API for interfacing with XML files.
  6. ;;; Copyright (c) 2004 - AMSEC LLC - All rights reserved
  7. ;;;************************************************************************
  8. ;;; Version 2004.01.04
  9. ;;;************************************************************************

  10. ;;;***********************************************************************
  11. ;;; MODULE: api-error
  12. ;;; DESCRIPTION: wraps a function to trap Active-X errors - if error is found
  13. ;;; DESCRIPTION: function returns nil.
  14. ;;; ARGS: function to check, list of arguments, boolean (return error message?) T or nil
  15. ;;; EXAMPLE: (api-error '/ (list 50 0) T) displays "VLISP Error: divide by zero" & returns 'nil'
  16. ;;;***********************************************************************

  17. (defun api-error (func lst bool / trap)
  18.   (cond
  19.     ( (vl-catch-all-error-p
  20.         (setq trap (vl-catch-all-apply func lst))
  21.       )
  22.       (if bool (princ (strcat "\nVLISP XML Error: " (vl-catch-all-error-message trap))))
  23.       (setq trap nil)
  24.     )
  25.   )
  26.   trap
  27. )


  28. ;;;************************************************************************
  29. ;;; MODULE: XML-Get-Document
  30. ;;; DESCRIPTION: queries an XML file for the DOM Active-X object
  31. ;;; ARGS: XML file (string); a variable to store the DOM object
  32. ;;; EXAMPLE:(XML-Get-Document projfile 'XMLDoc) returns vla-object
  33. ;;;************************************************************************

  34. (defun XML-Get-Document (file XMLDoc)
  35.   (if (findfile file)
  36.     (progn
  37.       (set XMLDoc (vlax-create-object "MSXML2.DOMDocument.3.0")) ;;create XML-DOM pipeline
  38.       (vlax-put-property (eval XMLDoc) "async" :vlax-false)
  39.       (cond
  40.         ( (api-error 'vlax-invoke-method (list (eval XMLDoc) "Load" file) T) ;; Load Project File into XML-DOM pipeline
  41.           (eval XMLDoc)
  42.         )
  43.       )
  44.     )
  45.     (alert "\nXML Document could not be found.")
  46.   )
  47. )

  48. ;;;************************************************************************
  49. ;;; MODULE: XML-Get-XMLObject
  50. ;;; DESCRIPTION: this gets the top-level parent node object in a given XML Document
  51. ;;; ARGS: filename (string)
  52. ;;; EXAMPLE: (XML-Get-XMLObject filename) returns VLA-OBJECT
  53. ;;;************************************************************************

  54. (defun XML-Get-XMLObject (file / docObj xmlTop xmlVer object)
  55.   (if (findfile file)
  56.     (progn
  57.       (setq docObj (XML-Get-Document file 'docObj)
  58.             xmlTop (vlax-get-property docObj "childNodes") ;; Get the Top Level of the XML
  59.             xmlVer (vlax-invoke-method xmlTop "nextNode")  ;; Gets the XML version element
  60.             object (vlax-invoke-method xmlTop "nextNode")  ;; Gets the Parent element
  61.       )
  62.     )
  63.   )
  64.   object
  65. )

  66. ;;;************************************************************************
  67. ;;; MODULE: XML-Get-ElementKey
  68. ;;; DESCRIPTION: returns the requested tags text.
  69. ;;; ARGS: Parent - the parent collection object, tag name - must be unique tag name
  70. ;;; EXAMPLE: (XML-Get-ElementKey laydef "Name") returns "ANNOTATION"
  71. ;;;************************************************************************

  72. (defun XML-Get-ElementKey (parent tag / el desc)
  73.   (if (vlax-method-applicable-p parent 'getElementsByTagName)
  74.     (progn
  75.       (setq el (vlax-invoke-method parent 'getElementsByTagName tag))
  76.       (if (> (vlax-get-property el 'Length) 0)
  77.         (setq desc (vlax-get-property (vlax-invoke-method el 'nextNode) 'text))
  78.       )
  79.       (vlax-invoke-method el 'reset)
  80.     )
  81.     (princ "\nXML Object could not be searched.")
  82.   )
  83.   (if desc desc nil)
  84. )

  85. ;;;************************************************************************
  86. ;;; MODULE: XML-Get-ElementKey-Object
  87. ;;; DESCRIPTION: returns the requested tags object.
  88. ;;; ARGS: Parent - the parent collection object, tag name - must be unique tag name
  89. ;;; EXAMPLE: (XML-Get-ElementKey-Object laydef "Name") returns VLA-OBJECT
  90. ;;;************************************************************************

  91. (defun XML-Get-ElementKey-Object (parent tag / el desc)
  92.   (if (vlax-method-applicable-p parent 'getElementsByTagName)
  93.     (progn
  94.       (setq el (vlax-invoke-method parent 'getElementsByTagName tag))
  95.       (if (> (vlax-get-property el 'Length) 0)
  96.         (setq desc (vlax-invoke-method el 'nextNode))
  97.       )
  98.       (vlax-invoke-method el 'reset)
  99.     )
  100.     (princ "\nXML Object could not be searched.")
  101.   )
  102.   (if desc desc nil)
  103. )

  104. ;;;************************************************************************
  105. ;;; MODULE: XML-Get-Parent
  106. ;;; DESCRIPTION: Gets a top level object from the XML object with the given name
  107. ;;; ARGS: a valid XML object, the name of the parent level
  108. ;;; EXAMPLE: (XML-Get-Parent oXML "Leaders") returns VLA-OBJECT
  109. ;;;************************************************************************

  110. (defun XML-Get-Parent (oXML name)
  111.   (vlax-invoke-method
  112.     (vlax-invoke-method oXML 'GetElementsByTagName name)
  113.    'peekNode
  114.   )
  115. )

  116. ;;;************************************************************************
  117. ;;; MODULE: XML-Get-Children
  118. ;;; DESCRIPTION: gets the child object from a parent level
  119. ;;; ARGS: XML object, Parent name
  120. ;;; EXAMPLE: none
  121. ;;;************************************************************************

  122. (defun XML-Get-Children (oXML parentName / return)
  123.   (cond
  124.     ( (/= parentName nil)
  125.       (if (vlax-invoke-method (XML-Get-Parent oXML parentName) 'hasChildNodes)
  126.         (setq return (vlax-get-property (XML-Get-Parent oXML parentName) 'childNodes))
  127.       )
  128.     )
  129.     ( T (if (vlax-invoke-method oXML 'hasChildNodes) (setq return (vlax-get-property oXML 'childNodes))))
  130.   )
  131.   return
  132. )

  133. ;;;************************************************************************
  134. ;;; MODULE: XML-Get-ChildList
  135. ;;; DESCRIPTION: returns a list of all child objects under a parent XML Object
  136. ;;; ARGS: XML object
  137. ;;; EXAMPLE: (XML-Get-ChildList objXML) returns a list of VLA-Objects
  138. ;;;************************************************************************

  139. (defun XML-Get-ChildList (oXML / collection child lst)
  140.   (cond
  141.     ( (vlax-invoke-method oXML 'hasChildNodes)
  142.       (setq collection (XML-Get-Children oXML nil))
  143.       (while (setq child (vlax-invoke-method collection 'nextNode))
  144.         (setq lst (if lst (cons child lst) (list child)))
  145.       )
  146.       (reverse lst)
  147.     )
  148.     (princ "\nObject has no children")
  149.   )
  150. )

  151. ;;;************************************************************************
  152. ;;; MODULE: XML-Get-Child
  153. ;;; DESCRIPTION: gets a specific child name under the parent level with given name
  154. ;;; ARGS: XML object, parent level, child name
  155. ;;; EXAMPLE: (setq oPointers (XML-Get-Child oXML "Leaders" "Pointers")) returns VLA-Object
  156. ;;; EXAMPLE: (XML-Get-Child oPointers nil "ArrowSize") used you only want to go one deep...
  157. ;;;************************************************************************

  158. (defun XML-Get-Child (oXML parentName childName / child target)
  159.   (cond
  160.     ( (/= parentName nil) (setq child (XML-get-Children oXML parentName)))
  161.     ( T (setq child (vlax-get-property oXML 'childNodes)))
  162.   )
  163.   (setq target (api-error 'vlax-invoke-method (list child 'nextNode) T))
  164.   (while
  165.     (and
  166.       target
  167.       (/= (vlax-get-property target 'tagName) childName)
  168.     )
  169.     (setq target (api-error 'vlax-invoke-method (list child 'nextNode) T))
  170.   )
  171.   target
  172. )

  173. ;;;************************************************************************
  174. ;;; MODULE: XML-Get-Child-ByAttribute
  175. ;;; DESCRIPTION: gets a specific child name under the parent level with given attribute and attribute value
  176. ;;; ARGS: XML object, parent level, attribute to search by, attribute value to match
  177. ;;; EXAMPLE: (XML-Get-Child-ByAttribute oLayers "LayerDefinitions" "Name" "ANNOTATION") returns VLA-OBJECT
  178. ;;; EXAMPLE: (XML-Get-Child-ByAttribute oLayerDefs nil "Name" "ANNOTATION") used when you only want to go one deep...
  179. ;;;************************************************************************

  180. (defun XML-Get-Child-ByAttribute (oXML parentName attrib attribValue / parent rtn)
  181.   (if parentName
  182.     (setq parent (XML-Get-Child oXML nil parentName))
  183.     (setq parent oXML)
  184.   )
  185.   (foreach itm (XML-Get-ChildList parent)
  186.     (if (= (XML-Get-Attribute itm attrib "") attribValue)
  187.       (setq rtn itm)
  188.     )
  189.   )
  190.   rtn
  191. )

  192. ;;;************************************************************************
  193. ;;; MODULE: XML-Get-Child-Value
  194. ;;; DESCRIPTION: Retrieves the value from the 'Text property of a child element
  195. ;;; ARGS: XML object, parent Name, Child Name
  196. ;;; EXAMPLE: (XML-Get-Child-Value oXML "TaskInfo" "FSCM") returns "4T323"
  197. ;;;************************************************************************

  198. (defun XML-Get-Child-Value (oXML parentName childName)
  199.   (if (XML-Get-Child oXML parentName childName)
  200.     (vlax-get-property (XML-Get-Child oXML parentName childName) 'text)
  201.     nil
  202.   )
  203. )

  204. ;;;************************************************************************
  205. ;;; MODULE: XML-Put-Child
  206. ;;; DESCRIPTION: updates the text in a given child node
  207. ;;; ARGS: XML object, parent node name, child node to change, value to change to
  208. ;;; EXAMPLE: (XML-Put-Child oXML "DrawingSetup" "DrawingMode" "MicroScale")
  209. ;;;************************************************************************

  210. (defun XML-Put-Child (oXML parentName childName valu / child return)
  211.   (if
  212.     (and
  213.       valu
  214.       (setq valu (vl-princ-to-string valu))
  215.       (setq child (XML-Get-Child oXML parentName childName))
  216.     )
  217.     (api-error 'vlax-put-property (list child 'text valu) T)
  218.   )
  219. )

  220. ;;;************************************************************************
  221. ;;; MODULE: XML-Remove-Child
  222. ;;; DESCRIPTION: removes the specified child object node
  223. ;;; ARGS: XML node object
  224. ;;; EXAMPLE: (XML-Remove-Child oXML)
  225. ;;;************************************************************************

  226. (defun XML-Remove-Child (rmvChild / parent)
  227.   (setq parent (vlax-get-property rmvChild 'parentNode))
  228.   (api-error 'vlax-invoke-method (list parent 'removeChild rmvChild) T)
  229. )

  230. ;;;************************************************************************
  231. ;;; MODULE: XML-Add-Child
  232. ;;; DESCRIPTION: adds a Child element to the given parent object
  233. ;;; ARGS: Parent Level VLA-Object, name of new child
  234. ;;; EXAMPLE: (XML-Add-Child oXML "LayerKey") returns the newly created child node object
  235. ;;;************************************************************************

  236. (defun XML-Add-Child (parent name / xmlDoc newElement return)
  237.   (setq xmlDoc (vlax-get-property parent 'ownerDocument))
  238.   (if (not parent) (setq parent xmlDoc))
  239.   (if (setq newElement (api-error 'vlax-invoke-method (list xmlDoc 'createElement name) T))
  240.     (setq return (api-error 'vlax-invoke-method (list parent 'appendChild newElement) T))
  241.   )
  242.   return
  243. )

  244. ;;;************************************************************************
  245. ;;; MODULE: XML-Get-Attribute
  246. ;;; DESCRIPTION: returns an XML object's named attribute value
  247. ;;; ARGS: XML object, attribute name (string), a default value to return if there is no value found in the XML object
  248. ;;; EXAMPLE: (XML-Get-Attribute oXML "Name" "Default") might return "ANNOTATION"
  249. ;;;************************************************************************

  250. (defun XML-Get-Attribute (oXML name default / att return)
  251.   (if (setq att (api-error 'vlax-invoke-method (list oXML 'getAttributeNode name) T))
  252.     (if att
  253.       ;; due to the fact that the Text property strips trailing and leading white characters
  254.       ;; when using the 'get' method.  the Value property has been used instead.
  255.       (vlax-variant-value (vlax-get-Property att "Value"))
  256.       default
  257.     )
  258.   )
  259. )

  260. ;;;************************************************************************
  261. ;;; MODULE: XML-Get-Attribute-List
  262. ;;; DESCRIPTION: returns a list of strings corresponding to the names of the XML object's attributes
  263. ;;; ARGS: XML object
  264. ;;; EXAMPLE: (XML-Get-Attribute-List oXML) might return ("Name" "Color" "LineType" "LineWeight" "Plottable" "Comment")
  265. ;;;************************************************************************

  266. (defun XML-Get-Attribute-List (oXML / lst attCollection count)
  267.   (if (setq attCollection (vlax-get-property oXML 'attributes))
  268.     (progn
  269.       (setq count 0)
  270.       (while (< count (vlax-get-property attCollection 'length))
  271.         (setq lst (append lst (list (vlax-get-property (vlax-get-property attCollection 'item count) 'Name)))
  272.               count (1+ count)
  273.         )
  274.       )
  275.     )
  276.   )
  277.   lst
  278. )

  279. ;;;************************************************************************
  280. ;;; MODULE: XML-Put-Attribute
  281. ;;; DESCRIPTION: function to put an XML attribute value -- will add the attribute if not already there
  282. ;;; ARGS: XML object, attribute name (string), a value to change the attribute to
  283. ;;; EXAMPLE: (XML-Put-Attribute oXML "Name" "Default") might return vla-object
  284. ;;;************************************************************************

  285. (defun XML-Put-Attribute (oXML name valu / att return)
  286.   (cond
  287.     ( valu (setq valu (vl-princ-to-string valu)))
  288.     ( (not valu) (setq valu ""))
  289.   )
  290.   (if (not (XML-Get-Attribute oXML name nil))
  291.     (XML-Add-Attribute oXML name "")
  292.   )
  293.   (api-error 'vlax-invoke-method (list oXML 'setAttribute name valu) T)
  294. )

  295. ;;;************************************************************************
  296. ;;; MODULE: XML-Add-Attribute
  297. ;;; DESCRIPTION: adds an attribute to the Parent Object with given name, and the optional value
  298. ;;; ARGS: Parent Level VLA-Object, name of new attribute, value (optional)
  299. ;;; EXAMPLE: (XML-Add-Attribute oXML "Name" "Default") returns the newly created attribute XML object.
  300. ;;;************************************************************************

  301. (defun XML-Add-Attribute (parent name valu / xmlDoc newAttribute newAtt)
  302.   (setq xmlDoc (vlax-get-property parent 'ownerDocument))
  303.   (if (setq newAttribute (api-error 'vlax-invoke-method (list xmlDoc 'createAttribute name) T))
  304.     (progn
  305.       (setq attNodeMap (vlax-get-property parent 'attributes)
  306.             newAtt (api-error 'vlax-invoke-method (list attNodeMap 'setNamedItem newAttribute) T)
  307.       )
  308.       (if valu (vlax-put-property newAtt 'Text valu))
  309.     )
  310.   )
  311.   newAtt
  312. )

  313. ;;;************************************************************************
  314. ;;; MODULE: XML-Get-Value
  315. ;;; DESCRIPTION: Retrieves the value from the 'Text property of the supplied XML Element object
  316. ;;; ARGS: XML object
  317. ;;; EXAMPLE: (XML-Get-Value oXML) returns "4T323"
  318. ;;;************************************************************************

  319. (defun XML-Get-Value (oXML)
  320.   (api-error 'vlax-get-property (list oXML 'text) T)
  321. )

  322. ;;;************************************************************************
  323. ;;; MODULE: XML-Put-Value
  324. ;;; DESCRIPTION: Puts a text value into the 'Text property of the supplied XML Element object
  325. ;;; ARGS: XML object, text string
  326. ;;; EXAMPLE: (XML-Put-Value oXML "4T323") returns T if successful nil if not.
  327. ;;;************************************************************************

  328. (defun XML-Put-Value (oXML str)
  329.   (api-error 'vlax-put-property (list oXML 'text str) T)
  330.   (if (= (XML-Get-Value oXML) str)
  331.     T
  332.     nil
  333.   )
  334. )

  335. ;;;************************************************************************
  336. ;;; MODULE: XML-SaveAs
  337. ;;; DESCRIPTION: Writes the parsed XML object out to the given file
  338. ;;; ARGS: XML document object or XML element object, fully qualified filename to save to
  339. ;;; EXAMPLE: (XML-SaveAs oXML "C:\\projects\\npy structure.swp")
  340. ;;;************************************************************************

  341. (defun XML-SaveAs (oXML file)
  342.   (cond
  343.     ( (= (vlax-get-property oXML 'nodeTypeString) "element")
  344.       (api-error 'vlax-invoke-method (list (vlax-get-property oXML 'ownerDocument) 'save file) T)
  345.     )
  346.     ( T (api-error 'vlax-invoke-method (list oXML 'save file) T))
  347.   )
  348. )

  349. ;;;************************************************************************
  350. ;;; MODULE: XML-Save
  351. ;;; DESCRIPTION: Writes the parsed XML object out to its parent file
  352. ;;; ARGS: XML document object or XML element object
  353. ;;; EXAMPLE: (XML-Save oXML)
  354. ;;;************************************************************************

  355. (defun XML-Save (oXML / doc file)
  356.   (cond
  357.     ( (= (vlax-get-property oXML 'nodeTypeString) "element")
  358.       (setq doc (vlax-get-property oXML 'ownerDocument))
  359.     )
  360.     ( T (setq doc oXML))
  361.   )
  362.   (setq file (vl-string-subst "\\" "/" (vl-string-left-trim "file:///" (vlax-get-property doc 'url))))
  363.   (api-error 'vlax-invoke-method (list doc 'save file) T)
  364. )

  365. ;;;************************************************************************
  366. (princ)

论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 1268个

财富等级: 财源广进

发表于 2014-1-3 10:11:42 来自手机 | 显示全部楼层
newer 发表于 2014-1-3 10:05
XML-API

呵呵,可以用ODCL的Tree控件写一个编辑xml菜单命令
或者用TREE控件加xml做菜单
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 40个

财富等级: 招财进宝

发表于 2014-1-3 10:11:56 | 显示全部楼层
  1. ;; Load the VisualLISP stuff
  2. (vl-load-com)

  3. ;; Store an Active-X object to the main node ("Settings") of the XML data file.
  4. (setq oSettings (XML-Get-XMLObject "C:\\dwgset.xml"))

  5. ;; Store an Active-X object to the "DrawingVars" node of the XML file.
  6. (setq oDwgVars (XML-Get-Child oSettings nil "DrawingVars"))

  7. ;; The following two lines return the exact same thing.
  8. ;; An string object representing the value stored in the RegenAuto child node of the DrawingVars node.
  9. (setq sRegenValue (XML-Get-Child-Value oDwgVars nil "RegenAuto"))
  10. (setq sRegenValue (XML-Get-Child-Value oSettings "DrawingVars" "RegenAuto"))

  11. ;; Return the value that is stored inside a "Color" attribute from the child node of Layers whose "Name" attribute = "Walls"
  12. (setq color
  13.   (read
  14.     (XML-Get-Attribute
  15.       (XML-Get-Child-ByAttribute oSettings "Layers" "Name" "Walls") "Color" "-1")
  16.     )
  17.   )
  18. )

  19. ;; if the value for 'color' that we got above is less than the zero (our supplied default argument was -1).
  20. ;; then we'll set that attribute to 2.
  21. (if (< color 0)
  22.   (progn
  23.     (XML-Put-Attribute (XML-Get-Child-ByAttribute oSettings "Layers" "Name" "Walls") "Color" 2)

  24.     ;; After changing the Active-X object that is resident in memory,
  25.     ;; we have to save all of our changes back to the XML file.
  26.     (XML-Save oSettings)
  27.   )
  28. )

  29. ;; release the objects
  30. (vlax-release-object oSettings)
  31. (vlax-release-object oDwgVars)


上面这段代码执行完后,会生成这样的文件。

<?xml version="1.0"?>
<Settings>
  <Layers>
    <Layer Name="Walls" Color="2" LineType="continuous"/>
    <Layer Name="Furniture" Color="3" LineType="HIDDEN"/>
  </Layers>
  <DrawingVars>
    <RegenAuto>1</RegenAuto>
    <EdgeMode>0</EdgeMode>
    <Osmode>383</Osmode>
  </DrawingVars>
</Settings>
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 1268个

财富等级: 财源广进

发表于 2014-1-3 11:45:22 来自手机 | 显示全部楼层
尝试下这个xml读写
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 205个

财富等级: 日进斗金

发表于 2014-1-3 20:48:31 | 显示全部楼层
E老师,期待你的开源dcl学习
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 1268个

财富等级: 财源广进

发表于 2014-1-3 21:14:31 来自手机 | 显示全部楼层
神秘将军 发表于 2014-1-3 20:48
E老师,期待你的开源dcl学习

有什么作品发上来共同学习下
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 1 反对 0

使用道具 举报

发表于 2014-1-20 14:06:50 | 显示全部楼层
看看看看看看看看看看看看看看看看看看看看看看看看看看看看看看看看看看看看
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 117个

财富等级: 日进斗金

发表于 2014-6-18 09:23:43 | 显示全部楼层
工具发布没有啊?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 117个

财富等级: 日进斗金

发表于 2014-7-4 09:46:10 | 显示全部楼层
有什么作品发上来共同学习下
  
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2021-3-5 22:02:48 | 显示全部楼层
一直在找面板相关的程序
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 12个

财富等级: 恭喜发财

发表于 2021-5-5 13:10:21 | 显示全部楼层
一个工具箱菜单面板
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2021-5-11 07:28:14 | 显示全部楼层
好多年了也没见发布呢
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 4个

财富等级: 恭喜发财

发表于 2022-4-11 10:17:10 | 显示全部楼层
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-4-19 08:02 , Processed in 0.197070 second(s), 53 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表