模式匹配多个.frm文件的处理

时间:2011-11-21 06:37:00

标签: vb6 pattern-matching file-processing

我有多个VB6 .frm文件。见下面的例子。我想从代码中删除函数和subs,只留下表单设计。

我需要做的是找到以“属性”开头的最后一行,因为在此行之后,应该删除所有内容。

使用模式匹配或类似的东西,我如何处理.frm文件,以便删除最后一个属性行之后的所有内容?如果我遍历文件,我怎么知道最后一个属性行在哪里?

.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 

1 个答案:

答案 0 :(得分:0)

您只需要2条规则:

1)如果行以'Attribute'开头,则不要删除。 2)如果行以'Attribute'开头,则设置一个标志以开始删除所有后续行。

规则#1将阻止您删除后续属性行,并且在您遇到的第一个属性之后不应该保留任何内容,除非它是属性。