⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mitab_vb_test.vb

📁 mitab,读取MapInfo的地图文件
💻 VB
📖 第 1 页 / 共 2 页
字号:
'/* -------------------------------------------------------------------- */
    feature = mitab_c_create_feature(dataset, TABFC_Polyline)

    x(0) = 100
    y(0) = 49
    x(1) = 101
    y(1) = 48
    
    Call mitab_c_set_points(feature, 0, 2, x(0), y(0))
    Call mitab_c_set_pen(feature, 1, 2, 255)
    Call mitab_c_write_feature(dataset, feature)
    Call mitab_c_destroy_feature(feature)

'/* -------------------------------------------------------------------- */
'/*      Write text.                                                     */
'/* -------------------------------------------------------------------- */
    feature = mitab_c_create_feature(dataset, TABFC_Text)

    x(0) = 101
    y(0) = 51
    
    Call mitab_c_set_points(feature, 0, 1, x(0), y(0))
    Call mitab_c_set_text(feature, "My text")
    Call mitab_c_set_font(feature, "Arial")
    Call mitab_c_set_text_display(feature, 45#, 1#, 7#, 255 * 65536, 0, -1, -1, -1)
    Call mitab_c_write_feature(dataset, feature)
    Call mitab_c_destroy_feature(feature)
    
'/* -------------------------------------------------------------------- */
'/*      Write region (polygon).                                         */
'/* -------------------------------------------------------------------- */
    feature = mitab_c_create_feature(dataset, TABFC_Region)

    x(0) = 101
    y(0) = 51
    x(1) = 100
    y(1) = 51
    x(2) = 100
    y(2) = 50
    x(3) = 101
    y(3) = 50
    x(4) = 101
    y(4) = 51
    
    Call mitab_c_set_points(feature, 0, 5, x(0), y(0))
    
    x(0) = 100.5
    y(0) = 50.5
    x(1) = 100.5
    y(1) = 50.7
    x(2) = 100.7
    y(2) = 50.7
    x(3) = 100.7
    y(3) = 50.5
    x(4) = 100.5
    y(4) = 50.5

    Call mitab_c_set_points(feature, 1, 5, x(0), y(0))

    Call mitab_c_set_brush(feature, 255, 0, 2, 0)
    Call mitab_c_set_pen(feature, 1, 2, 65535)
    Call mitab_c_write_feature(dataset, feature)
    Call mitab_c_destroy_feature(feature)
    
'/* -------------------------------------------------------------------- */
'/*      Write a second region with two polygon (polygon).               */
'/* -------------------------------------------------------------------- */
    feature = mitab_c_create_feature(dataset, TABFC_Region)

    x(0) = 101
    y(0) = 41
    x(1) = 100
    y(1) = 41
    x(2) = 100
    y(2) = 40
    x(3) = 101
    y(3) = 40
    x(4) = 101
    y(4) = 41
    
    Call mitab_c_set_points(feature, 0, 5, x(0), y(0))
    
    x(0) = 100.5
    y(0) = 40.5
    x(1) = 100.5
    y(1) = 40.7
    x(2) = 100.7
    y(2) = 40.7
    x(3) = 100.7
    y(3) = 40.5
    x(4) = 100.5
    y(4) = 40.5

    Call mitab_c_set_points(feature, 1, 5, x(0), y(0))
    
    x(0) = 100.2
    y(0) = 40.2
    x(1) = 100.2
    y(1) = 40.4
    x(2) = 100.4
    y(2) = 40.4
    x(3) = 100.4
    y(3) = 40.2
    x(4) = 100.2
    y(4) = 40.2

    Call mitab_c_set_points(feature, 2, 5, x(0), y(0))

    x(0) = 96
    y(0) = 46
    x(1) = 95
    y(1) = 46
    x(2) = 95
    y(2) = 45
    x(3) = 96
    y(3) = 45
    x(4) = 96
    y(4) = 46
    
    Call mitab_c_set_points(feature, 0, 5, x(0), y(0))
    
    x(0) = 95.5
    y(0) = 45.5
    x(1) = 95.5
    y(1) = 45.7
    x(2) = 95.7
    y(2) = 45.7
    x(3) = 95.7
    y(3) = 45.5
    x(4) = 95.5
    y(4) = 45.5

    Call mitab_c_set_points(feature, 4, 5, x(0), y(0))

    Call mitab_c_set_brush(feature, 255, 0, 2, 0)
    Call mitab_c_set_pen(feature, 1, 2, 65535)
    Call mitab_c_write_feature(dataset, feature)
    Call mitab_c_destroy_feature(feature)
    
'/* -------------------------------------------------------------------- */
'/*      Write multiple polyline (3 parts).                              */
'/* -------------------------------------------------------------------- */
    feature = mitab_c_create_feature(dataset, TABFC_Polyline)

    x(0) = 111
    y(0) = 57
    x(1) = 110
    y(1) = 57
    x(2) = 110
    y(2) = 56

    Call mitab_c_set_points(feature, 0, 3, x(0), y(0))

    x(0) = 108
    y(0) = 56
    x(1) = 109
    y(1) = 57
    
    Call mitab_c_set_points(feature, 1, 2, x(0), y(0))
    
    x(0) = 105
    y(0) = 55
    x(1) = 105
    y(1) = 57
    x(2) = 107
    y(2) = 57
    x(3) = 107
    y(3) = 55
    
    Call mitab_c_set_points(feature, 2, 4, x(0), y(0))
    Call mitab_c_write_feature(dataset, feature)
    Call mitab_c_destroy_feature(feature)

'/* -------------------------------------------------------------------- */
'/*      Write an arc                                                    */
'/* -------------------------------------------------------------------- */
    feature = mitab_c_create_feature(dataset, TABFC_Arc)

    Call mitab_c_set_arc(feature, 70, 75, 10, 5, 45, 270)
    Call mitab_c_set_field(feature, 0, "123")
    Call mitab_c_set_field(feature, 1, "456")
    Call mitab_c_set_field(feature, 2, "12345678901234567890")
    Call mitab_c_write_feature(dataset, feature)
    Call mitab_c_destroy_feature(feature)

'/* -------------------------------------------------------------------- */
'/*      Write an ellipse                                                */
'/* -------------------------------------------------------------------- */
    feature = mitab_c_create_feature(dataset, TABFC_Ellipse)

    Call mitab_c_set_arc(feature, 70, 75, 10, 5, 0, 0)
    Call mitab_c_set_field(feature, 0, "1")
    Call mitab_c_set_field(feature, 1, "2")
    Call mitab_c_set_field(feature, 2, "3")
    Call mitab_c_set_brush(feature, 255, 0, 2, 0)
    Call mitab_c_set_pen(feature, 1, 2, 65535)
    Call mitab_c_write_feature(dataset, feature)
    Call mitab_c_destroy_feature(feature)

'/* -------------------------------------------------------------------- */
'/*      Write rectangle.                                                */
'/*      The MBR of the array of points will be used for the             */
'/*      rectangle corners.                                              */
'/* -------------------------------------------------------------------- */
    feature = mitab_c_create_feature(dataset, TABFC_Rectangle)

    x(0) = 91
    y(0) = 61
    x(1) = 90
    y(1) = 61
    x(2) = 90
    y(2) = 60
    x(3) = 91
    y(3) = 60
    x(4) = 91
    y(4) = 61
    
    Call mitab_c_set_points(feature, 0, 5, x(0), y(0))
    
    Call mitab_c_set_brush(feature, 255, 0, 2, 0)
    Call mitab_c_set_pen(feature, 1, 2, 65535)
    Call mitab_c_write_feature(dataset, feature)
    Call mitab_c_destroy_feature(feature)

'/* -------------------------------------------------------------------- */
'/*      Cleanup                                                         */
'/* -------------------------------------------------------------------- */
    mitab_c_close (dataset)
    
    If (mitab_c_getlasterrorno() <> 0) Then
      sTmp = Space$(255)
      i1 = mitab_c_getlasterrormsg_vb(sTmp, 255)
      MsgBox "Last Error: " & Left$(sTmp, i1)
    End If

End Sub

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -