Foxtable(狐表)用户栏目专家坐堂 → 一个比较奇葩的需求,但是却非常需要,哪位老师给看看,这个问题怎么解决


  共有3380人关注过本帖树形打印复制链接

主题:一个比较奇葩的需求,但是却非常需要,哪位老师给看看,这个问题怎么解决

帅哥哟,离线,有人找我吗?
1669607010
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:380 积分:3515 威望:0 精华:0 注册:2017/9/5 8:28:00
一个比较奇葩的需求,但是却非常需要,哪位老师给看看,这个问题怎么解决  发帖心情 Post By:2020/1/11 14:40:00 [显示全部帖子]

一个比较奇葩的需求,但是却非常需要,哪位老师给看看,这个问题怎么解决
纺织行业布料进行花纹设计的时候要对纱线进行排序(比如A为红色纱线,B为蓝色纱线),简单的排序比如(60A8B12A)*38+48A表示纱线排序为60根A纱线8根B纱线12根A纱线为一个循环,循环38次,然后再加上48根A纱线,共3088根纱线。复杂点的排序还有这样的[(1A1B)*36+1A4B+(1A1B)*5+2A4B4A4B3A6B3A4B4A4B2A1B+(1A1B)*4+1A3B+(1A1B)*9]*18+(1A1B)*26,实际情况还有更复杂的,比如纱线有A、B、C、D、E、F、G、H、I、J、K、L、M、N、等十几个颜色,大循环套小循环,括号要用四五重,纱线总数少的品种2000+根,多的有6000+根,现在想实现的是如何计算出这一组纱线排序中每种纱线的根数?

 回到顶部
帅哥哟,离线,有人找我吗?
1669607010
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:380 积分:3515 威望:0 精华:0 注册:2017/9/5 8:28:00
  发帖心情 Post By:2020/1/11 15:47:00 [显示全部帖子]

最简单的:

1A*2450  *****这个其实也就等于2450A

(1A1B)*1200

1A1B*1200-1B    *****这个其实也就等于(1A1B*1199+1A

60A8B12A*38+48A

(1A1B)*1200+(1A1C)*1200

 

复杂点的:

[1A1B*36+1A4B+1A1B*5+2A4B4A4B3A6B3A4B4A4B2A1B+1A1B*4+1A3B+1A1B*9]*18+1A1B*26

 

[1A1C*36+1A4D+1A1E*5+2A4B4A4F3A6B3A4B4A4B2A1B+11A10B*4+1A3B+1A1B*9]*11+[3A1C*36+5A4D+1G1E*5+2A4B2A1B+11A10B*4+1A3B+1A1B*9]*12


[3A1C*36+5A4D+1G1E*5+2A4B2A1B+11A10B*4+1A3B+1A1B*9]*12+2A4B4A4B3A6B3A+11A10B*4+1A3B+1A1B*9]*12


{[1A1C*36+1A4D+1A1E*5+2A4B4A4F3A6B3A4B4A4B2A1B+11A10B*4+1A3B+1A1B*9]*7+(11A10B*4+1A3B+1A1B*9}*3+3B3C

 

{[1A1C*36+1A4D+11A10B*4+1A3B+1A1B*9]*7+(11A10B*4+1A3B+1A1B*9}*3+[3B3C+11A10B*4]

 

 

 

最复杂的就是上面两个复杂的结合到一起外面再套一层括号再循环一次,不过最复杂的那种很少见,可以不考虑,能解决3重括号就能满足绝大部分需要,

总体上来说,就是1-20种不等的纱线按顺序排2000-6000根,把其中有规律的部分写成循环了,需求是获得这一组纱线中各种纱线的根数,进而求出每种纱线在这一组中所占的比例,

 

[此贴子已经被作者于2020/1/13 8:30:11编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
1669607010
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:380 积分:3515 威望:0 精华:0 注册:2017/9/5 8:28:00
  发帖心情 Post By:2020/1/13 8:02:00 [显示全部帖子]

手工置顶,大佬们帮忙看一下,有什么办法解决吗?

 回到顶部
帅哥哟,离线,有人找我吗?
1669607010
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:380 积分:3515 威望:0 精华:0 注册:2017/9/5 8:28:00
  发帖心情 Post By:2020/1/13 10:18:00 [显示全部帖子]

数据录入方式,最好是直接将{[1A1C*36+1A4D+1A1E*5+2A4B4A4F3A6B3A4B4A4B2A1B+11A10B*4+1A3B+1A1B*9]*7+(11A10B*4+1A3B+1A1B*9}*3+3B3C这些作为一个字符串录入一个单元格,然后对这一组字符串进行操作。这样不仅方便设计师观看,也方便录入,我们公司30年了,都是手工处理这些。费时费力还容易出错。我的想法是有没有办法,对这个字符串进行处理,得出每种纱线的根数。我们的纱线排序格式是很严格的,就是字母表示纱线的种类,然后前面的数字表示这种纱线在排序中连续出现的次数,遇到相同的循环的就用括号括起来后面注上乘几表示循环几次。









 回到顶部
帅哥哟,离线,有人找我吗?
1669607010
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:380 积分:3515 威望:0 精华:0 注册:2017/9/5 8:28:00
  发帖心情 Post By:2020/1/13 11:07:00 [显示全部帖子]

字符串输入全角、半角和特殊字符的问题可以这样解决吗?运算符号只包括+号和*号,括号包括大中小括号,字母全是大写英文字母,字符串输入可以设计个表达式修改器那样的界面,不用键盘输入,直接直接用鼠标点击输入,因为所用的字符比较固定,应该可以吧

 回到顶部
帅哥哟,离线,有人找我吗?
1669607010
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:380 积分:3515 威望:0 精华:0 注册:2017/9/5 8:28:00
  发帖心情 Post By:2020/1/14 13:41:00 [显示全部帖子]

谢谢逛逛老师提供的思路,我试试

 回到顶部
帅哥哟,离线,有人找我吗?
1669607010
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:380 积分:3515 威望:0 精华:0 注册:2017/9/5 8:28:00
  发帖心情 Post By:2020/2/28 11:07:00 [显示全部帖子]

逛逛老师提供的一段代码如下:
Dim s As String = "[(1A1C)*36+1A4D+(1A1E)*5+2A4B4A4F3A6B3A4B4A4B2A1B+(11A10B)*4+1A3B+(1A1B)*9]*11+[(3A1C)*36+5A4D+(1G1E)*5+2A4B2A1B+(11A10B)*4+1A3B+(1A1B)*9]*12"
Dim SS() As String = {"A" ,"B","C","D","E"  ,"F","G","H","Z" }
Dim sq As String
For i As Integer = 0 To ss.Length - 1
     sq = Regex.Replace(s, SS(I) , "@")
     sq = Regex.Replace(sQ, "[1-9]\d{0,2}[a-zA-Z]" , "")
    sq = sQ.Replace("()","0")
     sq = sQ.Replace("@","+")   
    sq = Regex.Replace(sQ, "[\[\{\(]", "(")
    sq = Regex.Replace(sQ, "[\]\}\)]", ")")
    sq = sQ.Replace("++","+")
    sq = sQ.Replace("+)",")")
    Output.Show(ss(i) & "=" & Eval(sq))  
Next
哪位老师给看看,Regex是什么意思?
这段代码在命令窗口运行的时候提示未声明名称“Regex”?是什么意思?

 回到顶部