大家好,
所以我有Lisp程序,我正试图修改。下面的代码是其中的一个片段。现在,我有一个对话框(dcl),当您从下拉列表中选择时,它会填充一个列表,其中包含该文件夹中的幻灯片名称,并删除。sld。这很好,但我还需要它来删除幻灯片名称中的前22个字符。每张幻灯片都以一个19个字符的ID开头,后跟一个空格,文字描述和描述的长度各不相同。
幻灯片名称示例:1234-5678-9101-2345–书面描述(长度不同)
所以在我的列表中,它应该只显示:书面描述(长度不同)
我也在寻找相反的结果。我有另一个部分,其中有一个带标签的方框列,我需要该文本仅为幻灯片名称的前19个字符。
所以我的标签应该是这样的,使用上面相同的示例:1234-5678-9101-2345
任何帮助都将不胜感激。
- (defun subcat_action (val)
- (if (/= val nil)
- (progn
- (if
- (setq blklst
- (vl-directory-files
- (strcat projectpath-sub "\"(nth (read (get_tile "subcat")) subcatlst)"\") "*.sld"))
- (progn
- (setq blkstmp ())
- (foreach n blklst (setq blkstmp (append blkstmp (list (vl-string-right-trim ".sld" n)))))
- (mode_tile "blknm" 0)
- (start_list "blknm")
- (mapcar 'add_list blkstmp)
- (end_list)
- (set_tile "blknm" "0")
- (setq val3 "0")
- (blknm_action "0")
- )
- (progn
- (setq blkstmp (list " No Details found ! "))
- (start_list "blknm")
- (mapcar 'add_list blkstmp)
- (end_list)
- )))))
|