以下是一个示例代码,可以实现你所描述的功能:

Imports System.IO

Module Module1

    Sub Main()
        Dim filePath As String = "文件路径" ' 替换为你的PM文件路径
        Dim outputFilePath As String = "输出文件路径" ' 替换为你想要输出的文件路径

        ' 读取PM文件内容
        Dim lines As String() = File.ReadAllLines(filePath)

        ' 判断第一行是否为指定字符串
        If lines.Length > 0 AndAlso lines(0) = "HINTCAD5.83_PM_SHUJU_PM" Then
            ' 存储读取的数据
            Dim data As New List(Of Integer)

            ' 从第4行开始读取数据
            Dim startIndex As Integer = 3

            ' 每间隔3行读取一组数据
            While startIndex + 6 < lines.Length ' 至少还有7行数据
                Dim zeroCount As Integer = 0 ' 用于计算每组数据中0的个数

                ' 读取每一组数据
                For i As Integer = startIndex To startIndex + 6
                    Dim line As String = lines(i)
                    Dim value As Integer

                    ' 尝试将每行数据转换为整数
                    If Integer.TryParse(line, value) Then
                        data.Add(value)

                        ' 统计0的个数
                        If value = 0 Then
                            zeroCount += 1
                        End If
                    End If
                Next

                ' 如果一组数据中所有值都为0,则停止读取
                If zeroCount = 7 Then
                    Exit While
                End If

                startIndex += 9 ' 加9,跳过未读取的3行
            End While

            ' 将读取的数据写入文件
            File.WriteAllLines(outputFilePath, data.Select(Function(d) d.ToString()))
        Else
            Console.WriteLine("文件格式不正确")
        End If
    End Sub

End Module

请替换 "文件路径""输出文件路径" 为你的实际文件路径。这段代码首先读取指定路径的PM文件的内容,然后判断第一行是否为指定的字符串。如果是,则从第4行开始读取数据,每间隔3行读取一组,存入名为 data 的数组表。如果一组数据中所有值都为0,则停止读取,并将读取的数据写入到指定的输出文件中。如果第一行不是指定的字符串,则输出提示信息"文件格式不正确"。

请注意,这只是一个示例代码,具体实现还取决于你的PM文件的具体格式和要求。你可能需要根据实际情况进行适当的修改和调整

vbnet 读取PM文件判断第一行是否为HINTCAD583_PM_SHUJU_PM不是则提示文件格式不对。从第4行开始只读取7个数据空格不算存入数组表。从第4行开始每间隔3行读取一组。如果1行数据都为0时停止并将读取的数据写入文件

原文地址: http://www.cveoy.top/t/topic/h3ML 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录