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

📄 拓扑关系.mb

📁 mabasic 经典使用案例。主要关于菜单建立
💻 MB
字号:
include "MapBasic.def"
include "ICONS.def"
include "MENU.def"
declare sub main 
Declare SUB 对话框
Declare SUB 记录数
dim W0$,W1$,D1$(1200),D2$(1200),M1$,ZC$,O$,DH$,O1$ as string
Dim R,R0,R1,R2,R3,I,J,N,N1 as smallint
Dim X1 AS FLOAT
SUB main
ZC$="注册表"
OPEN TABLE "D:\地理信息\水资源\其他图层\徐州市乡镇信息"
Commit Table 徐州市乡镇信息 As W0$+ZC$+".TAB" TYPE NATIVE Charset "WindowsSimpChinese"
OPEN TABLE ZC$ 
Call 记录数 
fetch rec 1 from ZC$ R2=2       'R2为一级菜单的所在列
D1$(1)=注册表.COL(R2)  
R=1 
FOR I=1 TO N  
    fetch rec I from ZC$ 
    O$=注册表.COL(R2)
    FOR J=1 TO R  
       IF O$=D1$(J) THEN GOTO b05 END IF 
    NEXT 
    R=R+1 
    D1$(R)=O$ 
b05:NEXT
    M1$="" 
    FOR I=1 TO R 
        M1$=M1$+";"+D1$(I) 
    NEXT N1=R
    R=LEN (M1$) 
    M1$=MID$(M1$,2,R-1) 
    Call 对话框
    IF R0=0 THEN EXIT SUB END IF 
    Note D1$(R0)
    FOR I=1 TO N 
        D2$(I)="" 
    NEXT 
    R1=1 
    FOR I=1 TO N 
       fetch rec I from ZC$ 
       O$=注册表.COL(R2)  
       if o$=D1$(R0) then 
          D2$(R1)=注册表.COL(R2-1) 
          R1=R1+1 
       end if 
NEXT
Note D2$(R1) 
END SUB
SUB 记录数
SELECT COUNT(*) FROM ZC$ INTO LIT_QUERY fetch rec 1 from LIT_QUERY N=LIT_QUERY.col(1)
END SUB
SUB 对话框 R0=0 IF N1>=18 THEN X1=18*9 END IF IF N1<18 THEN X1=N1*9 END IF
dialog
title DH$+O1$+"  本次有"+N1+"个对象供您选择" position 380,340
control listbox title M1$ width 170 height X1 
position 5,5 into R0
control okbutton title "确定" control cancelbutton title "取消"
IF R0=0 THEN 'Call R00  Close All Interactive 
EXIT SUB END IF
END SUB

⌨️ 快捷键说明

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