加载中…
正文 字体大小:

vb读取dxf文件源码

(2010-05-31 20:11:25)
标签:

vb

源码

读取

dxf

格式

含义

it

分类: 开发

以下是一个简单的 Visual Basic 程序样例,它读取 DXF 文件,并且从给定段的给定对象中提取特定代码和值。

' ReadDXF 从 DXF 文件中提取指定的代码/值对。
' 此函数需要四个字符串参数、一个有效的 DXF
' 文件名、一个 DXF 段名、该段中对象的
' 名称以及由逗号分隔的代码列表。
'
Function ReadDXF(ByVal dxfFile As String, ByVal strSection As String, _
        ByVal strObject As String, ByVal strCodeList As String)
    Dim tmpCode, lastObj As String
    Open dxfFile For Input As #1
    ' 获取第一个代码/值对
    codes = ReadCodes
    ' 遍历整个文件,直到“EOF”行
    While codes(1) <> "EOF"
        ' 如果组码为“0”,并且值为“SECTION”,则
        If codes(0) = "0" And codes(1) = "SECTION" Then
            ' 这必须是一个新的段,以便获取下一个
            ' 代码/值对。
            codes = ReadCodes()
            ' 如果此段是要获取的段,则
            If codes(1) = strSection Then
                ' 获取下一个代码/值对,并
                codes = ReadCodes
                ' 遍历此段,直到“ENDSEC”
                While codes(1) <> "ENDSEC"
                    ' 在某一段中,所有的“0”代码都表示
                    ' 对象。如果找到了“0”代码,则存储
                    ' 对象名称,供以后使用。
                    If codes(0) = "0" Then lastObj = codes(1)
                    ' 如果此对象是用户所需的对象,
                    If lastObj = strObject Then
                        ' 则在代码前后加上逗号
                        tmpCode = "," & codes(0) & ","
                        ' 如果此代码位于代码列表中,
                        If InStr(strCodeList, tmpCode) Then
                            ' 则附加返回值。
                            ReadDXF = ReadDXF & _
                                codes(0) & "=" & codes(1) & vbCrLf
                        End If
                    End If
                    ' 读取其他代码/值对
                    codes = ReadCodes
                Wend
            End If
        Else
            codes = ReadCodes
        End If
    Wend
    Close #1
End Function

' ReadCodes 从打开的文件中读取两行,并返回一个包含两个项目
' 的数组、一个组码及其组码值。只要一次读取 DXF 文件中的两行代码,
' 所有程序应该都能够顺利运行。但为了使代码
' 更可靠,应该添加一些进行错误检查和其他
' 检查的代码。
'
Function ReadCodes() As Variant
    Dim codeStr, valStr As String
    Line Input #1, codeStr
    Line Input #1, valStr
    ' 修剪代码中的前导空格和后续空格
    ReadCodes = Array(Trim(codeStr), valStr)
End Function

阅读 评论 收藏 转载 喜欢 打印举报
已投稿到:
  • 评论加载中,请稍候...
发评论

       

    验证码: 请点击后输入验证码 收听验证码

    发评论

    以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

      

    新浪BLOG意见反馈留言板 不良信息反馈 电话:4006900000 提示音后按1键(按当地市话标准计费) 欢迎批评指正

    新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 会员注册 | 产品答疑

    新浪公司 版权所有