Tạo Point với MapBasic – Bài 1

Loạt bài viết về lập trình MapBasic với Point từ cơ bản đến nâng cao, bao gồm các bài sau:

  • Bài 1: Tạo Point bằng cách nhập tọa độ X, Y của từng điểm
  • Bài 2: Tạo Point từ danh sách tọa độ X, Y trong tệp *.TXT
  • Bài 3: Tạo Point từ danh sách tọa độ X, Y trong bảng *.TAB
  • Bài 4: Tạo Point từ danh sách tọa độ X, Y trong tệp *.XML
  • Bài 5: Chương trình tổng hợp đọc và tạo Point từ các số liệu của máy định vị GPS

Nhập đoạn mã lệnh dưới đây trong trình soạn thảo MapBasic và lưu lại với tên TaoPointBai01.mb:

 Include "MapBasic.def"
 Declare Sub Main
 Declare Sub TaoDialogBai01
 Declare Sub TaoPoint
 Declare Sub Thoat

 Sub Main()
     If Not NumWindows() Then
         Note "Chua mo ban do, khong the tiep tuc."
         Exit Sub
     End If
 Create Menu "Tao Point" As
     "Bai 01" Calling TaoDialogBai01,
     "(-",      "Thoat" Calling Thoat
 Alter Menu Bar Add "Tao Point"
 End Sub
 Sub TaoDialogBai01
     Dialog
         Title "Tao Point"
         Width 126 Height 97
 Control StaticText
     Position 9, 8
     Width 37 Height 8
     Title "Toa do X:"
 Control EditText
     Id 1
     Position 55, 8
     Width 60 Height 12
 Control StaticText
     Position 9, 27
     Width 37 Height 8
     Title "Toa do Y:"
 Control EditText
     Id 2
     Position 55, 25
     Width 60 Height 12
 Control StaticText
     Position 9, 49
     Width 39 Height 8
     Title "Kieu Point:"
 Control SymbolPicker
     Id 3
     Position 55, 43
     Width 22 Height 20
 Control Button
     Title "Tao Point"
     Position 9, 74
     Width 51 Height 14
     Calling TaoPoint
 Control CancelButton
     Title "Dong"
     Position 64, 74
     Width 51 Height 14
 End Sub

 Sub TaoPoint
     Dim fX As Float
     Dim fY As Float
     Dim objNewPoint As Object
 fX = Val(DeformatNumber$(ReadControlValue(1)))
 fY = Val(DeformatNumber$(ReadControlValue(2)))
 Create Point Into Variable objNewPoint (fX, fY) Symbol ReadControlValue(3)
 Insert Into TaoPointBai01(obj) Values (objNewPoint)
 Commit Table TaoPointBai01 Interactive
 End Sub

 Sub Thoat
     If Ask("Ban co chac chan muon thoat khong ?", "Co", "Khong") Then
         End Program
     End If
 End Sub

Giải thích sơ qua về mục đích các lệnh ở trên bằng hình ảnh dưới đây:

Trước khi chạy chương trình MapBasic này, cần tạo 1 bảng có tên TaoPointBai01.tab trong Mapinfo.

Những thắc mắc, trao đổi, góp ý,… vui lòng bình luận dưới bài viết, nhóm PXTmap.com chúng tôi sẽ giải đáp tất cả.

Bình luận bằng Facebook Comments