网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
03月20日漏签0天
vb吧 关注:156,036贴子:1,166,293
  • 看贴

  • 图片

  • 吧主推荐

  • 游戏

  • 20回复贴,共1页
<<返回vb吧
>0< 加载中...

vb怎样用回车符取代G140字符的上面整个一行

  • 只看楼主
  • 收藏

  • 回复
  • arjay007
  • 啥也不懂
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
G21
G90
T84
C000
G141H000
G1 X10.Y20.
H001
G1 X20.Y25.:G1X13.Y29.
G1 X15.Y23.:G1X16.Y26.
G1 X12.Y18.:G1X22.Y24.
G1 X10.Y11.:G1X15.Y22.
G140H000
(FIG1 2nd)
T85
C902
G142H000
G1 X10.Y20.
H001
G1 X20.Y25.:G1X13.Y29.
G1 X15.Y23.:G1X16.Y26.
G1 X12.Y18.:G1X22.Y24.
G1 X10.Y11.:G1X15.Y22.
G140H000
M00
M02
上面是一个文本文件的内容,请问大侠,怎样用回车符取代G140字符的上面整个一行?


  • arjay007
  • 啥也不懂
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
首先感谢GetSafeHwnd写的这个算法!这个算法已达到要求,非常感谢!
这个算法会一直替换到顶。其实我可能没说明白,我的意思是只把G140的上一行用“回车换行”替换掉留下一个空白的行(可以没有或有一个或多个空格也可以),因为只有G140上一行是无用的,其它行有用。这虽然用command1.enable=false临时解决了这个问题,但保存为文本文件后,如果第二次被其它人在不知情的情况下打开,会再次替换从而破坏文件。当然还可以在文件里记上标记什么的,但其它不知情的人还是可能破坏文件(留空行对文件的结构不造成破坏)。这样第一次G140上面一行替换成空白行,第二次G140上的空白行再次替换成空白行,第N次等于第二次的效果。如下:
G21
G90
T84
C000
G141H000
G1 X10.Y20.
H001
G1 X20.Y25.:G1X13.Y29.
G1 X15.Y23.:G1X16.Y26.
G1 X12.Y18.:G1X22.Y24.
G140H000
(FIG1 2nd)
T85
C902
G142H000
G1 X10.Y20.
H001
G1 X20.Y25.:G1X13.Y29.
G1 X15.Y23.:G1X16.Y26.
G1 X12.Y18.:G1X22.Y24.
G140H000
M00
M02
我再仔细看看算法,看能不能得到启发(其实本人看不怎么懂,能写出这几十行算法的应该在高手)
再次谢谢GetSafeHwnd!!!


2026-03-20 19:40:53
广告
不感兴趣
开通SVIP免广告
  • 静待花开wfy
  • 暴力枚举
    8
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
会正则的肯定是高手


  • GetSafeHwnd
  • 啥也不懂
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
'vb6使用正则表达式,‘工程’--‘引用’,勾选:‘Microsoft VBScript Regular Expressions 5.5’
Private Function reg_replace_str(ByRef s As String)
Dim reg_Ex
Set reg_Ex = New RegExp
reg_Ex.Pattern = ".+\nG140"
'reg_Ex.Global = True'再来个更简洁的,
'这个用false或注释掉,发现前几个reg_Ex没有set nothing 的bug
reg_replace_str = reg_Ex.Replace(s, vbTab & vbCrLf & "G140")
Set reg_Ex = Nothing
End Function
Private Sub Command1_Click()
Text1.Text = reg_replace_str(Text1.Text)
End Sub


  • Luosen56
  • 小吧主
    13
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
Private Sub 修改文件()
Dim n1%, n2%, WJ1$, WJ2$, cW1$, cW2$
WJ1 = "数据1.TXT" : n1 = FreeFile
Open WJ1 For Input As #n1
WJ2 = "数据2.TXT" : n2 = FreeFile
Open WJ2 For Output As #n2
cW1 = ""
Do While Not Eof(n1)
Line Input #n1, cW2 : cW2 = Trim(cW2)
If Mid(cW2, 1, 4) = "G140" Then
Print #n2, ""
Else
If Len(cW1) >= 1 Then
Print #n2, cW1
End If
End If
cW1 = cW2
Loop
Print #n2, cW1
Close
cW1 = "已经保存修改好的数据文件:" & WJ2
MsgBox WJ1, 0 + 64, "修改文件内容"
End Sub
调用这个子过程即可。


  • 满脸小忧伤
  • 递归爆栈
    7
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
这是雕刻机命令呀


  • arjay007
  • 啥也不懂
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
下面是Luosen56大神的实现效果
G21
G90
T84
C000
G141H000
G1 X10.Y20.
H001
G1 X20.Y25.:G1X13.Y29.
G1 X15.Y23.:G1X16.Y26.
G1 X12.Y18.:G1X22.Y24.
G1 X10.Y11.:G1X15.Y22.
1
2
3
4
G140H000
(FIG1 2nd)
T85
C902
G142H000
G1 X10.Y20.
H001
G1 X20.Y25.:G1X13.Y29.
G1 X15.Y23.:G1X16.Y26.
G1 X12.Y18.:G1X22.Y24.
G1 X10.Y11.:G1X15.Y22.
6
7
8
9
G140H000
(FIG1 3nd)
T85
C902
G142H000
G1 X10.Y20.
H001
G1 X20.Y25.:G1X13.Y29.
G1 X15.Y23.:G1X16.Y26.
G1 X12.Y18.:G1X22.Y24.
G1 X10.Y11.:G1X15.Y22.
11
12
13
14
G140H000
(FIG4 4nd)
T85
C902
G142H000
G1 X10.Y20.
H001
G1 X20.Y25.:G1X13.Y29.
G1 X15.Y23.:G1X16.Y26.
G1 X12.Y18.:G1X22.Y24.
G1 X10.Y11.:G1X15.Y22.
16
17
18
19
G140H000
M00
M02


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 20回复贴,共1页
<<返回vb吧
分享到:
©2026 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示