乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 45|回复: 18

[编程交流] 创建自定义线条表

[复制链接]

9

主题

61

帖子

47

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
52
发表于 2022-7-5 16:32:22 | 显示全部楼层 |阅读模式
在调查业务中,在德克萨斯州这里,我们做了很多记录信息()和邻接记录信息[]。我试图创建一个表,以所附图像中显示的一般格式,但我希望行号的顺序是L1,然后(L1),然后[L1](如果适用),依此类推。目前,我只能选择根据升序或降序对数据进行排序。我已经查看了所有的表格选项,但我没有看到任何允许我这样做的内容。感谢您的帮助。
谢谢
T
 
173225nef3b1ifcgq4310f.jpg
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-5 16:37:47 | 显示全部楼层
一种粗略的方法可能是将表格读入一个列表,希望Lee能够读入并对列表进行排序,识别“(alpha”v的“alpha”。然后以新的顺序重写表格。它可能需要一个非显示字符,如上图所示,您有3个字符可供排序。
回复

使用道具 举报

9

主题

61

帖子

47

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
52
发表于 2022-7-5 16:39:31 | 显示全部楼层
这也是我所想的,但我不知道如何实现它。
 
可能是左侧的一列,仅用于排序。可能是动态块?
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-5 16:47:34 | 显示全部楼层
Weldriller用(a7)2 a3(a6)在a列上尝试排序。我将保存悬念。不起作用。这是我第一次尝试的。
 
李,你在哪里?你是我所知道的唯一一个可能解决这个问题的大师,是的,可能需要一个隐藏的字符作为(a1)v的a1
回复

使用道具 举报

4

主题

2143

帖子

2197

银币

限制会员

铜币
-24
发表于 2022-7-5 16:49:06 | 显示全部楼层
我把你的帖子移到了AutoLISP、Visual LISP和DCL论坛,也许你会在这里找到一些解决方案。
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-5 16:53:20 | 显示全部楼层
好的,艾尔,你引起了我的注意
 
我不确定预期的排序顺序,但以下函数演示了一种排序方法:
  1. (defun surveysort-i ( lst )
  2.    (vl-sort-i (mapcar 'strcase lst)
  3.        (function
  4.            (lambda ( a b / x y )
  5.                (setq x (ascii a)
  6.                      y (ascii b)
  7.                )
  8.                (cond
  9.                    (   (or (= 91 x y) (= 40 x y)
  10.                            (and (not (or (= 40 x) (= 91 x)))
  11.                                 (not (or (= 40 y) (= 91 y)))
  12.                            )
  13.                        )
  14.                        (< (vl-string-trim "()[]" a) (vl-string-trim "()[]" b))
  15.                    )
  16.                    (   (not (or (= 40 x) (= 91 x))))
  17.                    (   (not (or (= 40 y) (= 91 y))) nil)
  18.                    (   (= 40 x))
  19.                )
  20.            )
  21.        )
  22.    )
  23. )
示例:
  1. _$ (setq lst '("L3" "[A1]" "[b1]" "(L1)" "B2" "[A2]" "(A1)" "L1" "(B1)" "A1"))
  2. _$ (mapcar '(lambda ( n ) (nth n lst)) (surveysort-i lst))
  3. ("A1" "B2" "L1" "L3" "(A1)" "(B1)" "(L1)" "[A1]" "[A2]" "[b1]")

 
当前代码在排序“L1”和“L10”方面仍然存在问题,但它演示了这个概念。
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-5 16:56:02 | 显示全部楼层
谢谢李,这更接近了,至少现在你有了一个排序列表,我会重写整个表,正如我在第一篇文章中建议的那样,比较两个列表,按李排序的列表和表条目
 
  1. ("A1" "B2" "L1" "L3" "(A1)" "(B1)" "(L1)" "[A1]" "[A2]" "[b1]")
  2. ("A1" "N23" "12" "32" "E" "401.123" "B2" "N31" "23'" "45" "E" "104.256"..........
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-5 16:59:41 | 显示全部楼层
无需进行列表比较,因为我提出的排序函数使用vl-sort-I,因此重新定位的项目的索引是已知的-然而,我想在进一步讨论示例之前确认排序顺序。
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-5 17:02:52 | 显示全部楼层
谢谢李,你现在一定很晚才看到这篇文章。
回复

使用道具 举报

18

主题

1529

帖子

973

银币

中流砥柱

Rank: 25

铜币
649
发表于 2022-7-5 17:06:31 | 显示全部楼层
但也许警察想要这个订单
  1. ("A1" "(A1)" "[A1]" "[A2]" "(B1)" "[b1]" "B2" "L1" "(L1)" "L3")
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-8-21 01:54 , Processed in 0.830663 second(s), 76 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表