多个.frm文件的模式匹配处理 [英] pattern match processing of multiple .frm files
问题描述
我有多个VB6 .frm
文件.请参见下面的示例.我想从代码中删除功能和子代码,只保留表单设计.
I have multiple VB6 .frm
files. See example below. I want to strip away the functions and subs from the code and leave only the form design.
我需要做的是找到以属性"开头的最后一行,因为在此行之后,所有其他内容都应删除.
What I need to do is find the last line starting with "Attribute" because after this line everything further should be deleted.
使用模式匹配或类似的方法,如何处理.frm
文件,以便删除最后一个属性行之后的所有内容?如果遍历文件,如何知道最后一个属性行在哪里?
Using pattern matching or something similar, how can I process the .frm
files so that everything after the last Attribute line is deleted? If I am traversing through a file, how can I tell where the last Attribute line is?
.frm
文件的示例:
VERSION 5.00
Begin VB.Form Form1
Caption = "Form1"
ClientHeight = 3195
ClientLeft = 60
ClientTop = 345
ClientWidth = 4680
LinkTopic = "Form1"
ScaleHeight = 3195
ScaleWidth = 4680
StartUpPosition = 3 'Windows Default
Begin VB.CommandButton Command1
Caption = "Command1"
Height = 495
Left = 1800
TabIndex = 1
Top = 1320
Width = 1215
End
Begin VB.TextBox Text1
Height = 495
Left = 360
TabIndex = 0
Text = "Text1"
Top = 240
Width = 1215
End
End
Attribute VB_Name = "Form1"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Private Sub Command1_Click()
Text1.Text = "Hello World"
End Sub
Private Sub Form_Load()
Text1.BackColor = vbBlue
End
推荐答案
您只需要2条规则:
1)如果行以属性"开头,则不要删除. 2)如果行以属性"开头,则设置一个标志以开始删除所有后续行.
1) If line starts with 'Attribute' then don't delete. 2) If line starts with 'Attribute' set a flag to start deleting all subsequent lines.
第1条规则将阻止您删除后续的属性行,除非遇到的第一个属性是属性,否则您不希望保留任何内容.
Rule #1 will prevent you from deleting subsequent Attribute lines, and there should be nothing you want to keep after the first Attribute you encounter unless it's an Attribute.
这篇关于多个.frm文件的模式匹配处理的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!