📄 frmmathexcute.frm
字号:
VERSION 5.00
Object = "{831FDD16-0C5C-11D2-A9FC-0000F8754DA1}#2.0#0"; "MSCOMCTL.OCX"
Begin VB.Form frmMathExcute
BorderStyle = 3 'Fixed Dialog
Caption = "栅格代数表达式运算"
ClientHeight = 4500
ClientLeft = 45
ClientTop = 330
ClientWidth = 6000
Icon = "frmMathExcute.frx":0000
LinkTopic = "Form1"
MaxButton = 0 'False
MinButton = 0 'False
ScaleHeight = 4500
ScaleWidth = 6000
ShowInTaskbar = 0 'False
StartUpPosition = 1 'CenterOwner
Begin VB.Frame Frame4
Caption = "结果数据集保存"
Height = 1140
Left = 2175
TabIndex = 8
Top = 2730
Width = 3765
Begin VB.ComboBox cmbDsListResult
Height = 315
ItemData = "frmMathExcute.frx":000C
Left = 1095
List = "frmMathExcute.frx":000E
Style = 2 'Dropdown List
TabIndex = 10
Top = 285
Width = 2595
End
Begin VB.TextBox txtDataset
Height = 315
Left = 1095
TabIndex = 9
Text = "Raster"
Top = 660
Width = 2565
End
Begin VB.Label Label1
AutoSize = -1 'True
Caption = "数据源:"
Height = 195
Index = 6
Left = 340
TabIndex = 12
Top = 330
Width = 720
End
Begin VB.Label Label1
AutoSize = -1 'True
Caption = "数据集:"
Height = 195
Index = 7
Left = 340
TabIndex = 11
Top = 705
Width = 720
End
End
Begin VB.CommandButton cmdOk
Caption = "确定"
Height = 435
Left = 1920
TabIndex = 7
Top = 4020
Width = 945
End
Begin VB.CommandButton cmdCancel
Caption = "取消"
Height = 435
Left = 3120
TabIndex = 6
Top = 4020
Width = 945
End
Begin MSComctlLib.TreeView tvwSourceDS
Height = 2205
Left = 0
TabIndex = 5
Top = 1245
Width = 2115
_ExtentX = 3731
_ExtentY = 3889
_Version = 393217
Style = 7
Appearance = 1
End
Begin VB.TextBox txtExpression
Height = 1455
Left = 2160
TabIndex = 4
Top = 1245
Width = 3780
End
Begin VB.CommandButton cmdPlus
Caption = "+"
Height = 375
Left = 30
TabIndex = 3
Top = 3510
Width = 510
End
Begin VB.CommandButton cmdMinus
Caption = "-"
Height = 375
Left = 555
TabIndex = 2
Top = 3510
Width = 510
End
Begin VB.CommandButton cmdTimes
Caption = "X"
Height = 375
Left = 1080
TabIndex = 1
Top = 3510
Width = 510
End
Begin VB.CommandButton cmdDivide
Caption = "/"
Height = 375
Left = 1605
TabIndex = 0
Top = 3510
Width = 510
End
Begin VB.Line Line1
BorderColor = &H80000005&
Index = 1
X1 = 15
X2 = 6540
Y1 = 3960
Y2 = 3960
End
Begin VB.Image Image1
Appearance = 0 'Flat
BorderStyle = 1 'Fixed Single
Height = 1185
Left = 30
Picture = "frmMathExcute.frx":0010
Stretch = -1 'True
Top = 15
Width = 5910
End
Begin VB.Line Line1
Index = 0
X1 = 60
X2 = 6585
Y1 = 3945
Y2 = 3945
End
End
Attribute VB_Name = "frmMathExcute"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Option Explicit
Private Sub cmdCancel_Click()
Unload Me
End Sub
Private Sub cmdDivide_Click()
txtExpression.Text = txtExpression.Text & " / "
End Sub
Private Sub cmdMinus_Click()
txtExpression.Text = txtExpression.Text & " - "
End Sub
Private Sub cmdOk_Click()
Dim objDestDS As soDataSource
Dim objDestDatasetR As soDatasetRaster
Dim strTmp As String
Dim objMathOperator As soMathOperator
Set objMathOperator = frmMain.SuperAnalyst.GridAnalyst.Math
If objMathOperator Is Nothing Then
MsgBox "soMathOperator对象为空!", vbInformation
Set objDestDS = Nothing
Exit Sub
End If
Set objDestDS = frmMain.SuperWorkspace.Datasources(cmbDsListResult.Text)
If objDestDS Is Nothing Then
MsgBox "目标数据源为空!", vbInformation
Exit Sub
End If
strTmp = DataSetName(objDestDS, txtDataset.Text)
Set objDestDatasetR = objMathOperator.Excute(txtExpression, objDestDS, strTmp)
If objDestDatasetR Is Nothing Then
MsgBox "计算失败!", vbInformation
Else
MsgBox "计算成功!", vbInformation
End If
frmMain.SuperWkspManager.Refresh
Set objDestDatasetR = Nothing
Set objDestDS = Nothing
Set objMathOperator = Nothing
Unload Me
End Sub
Private Sub cmdPlus_Click()
txtExpression.Text = txtExpression.Text & " + "
End Sub
Private Sub cmdTimes_Click()
txtExpression.Text = txtExpression.Text & " * "
End Sub
Private Sub Form_Load()
Dim i As Integer
tvwSourceDS.Nodes.Add , , frmMain.SuperWorkspace.Datasources(1).Alias, frmMain.SuperWorkspace.Datasources(1).Alias
For i = 1 To frmMain.SuperWorkspace.Datasources(1).Datasets.Count
If frmMain.SuperWorkspace.Datasources(1).Datasets(i).Type = scdDEM _
Or frmMain.SuperWorkspace.Datasources(1).Datasets(i).Type = scdGrid Then
tvwSourceDS.Nodes.Add frmMain.SuperWorkspace.Datasources(1).Alias, tvwChild, _
frmMain.SuperWorkspace.Datasources(1).Datasets(i).Name, frmMain.SuperWorkspace.Datasources(1).Datasets(i).Name
End If
Next
tvwSourceDS.Nodes(1).Expanded = True
End Sub
Private Sub tvwSourceDS_DblClick()
If tvwSourceDS.SelectedItem.Text = frmMain.SuperWorkspace.Datasources(1).Alias Then Exit Sub
txtExpression.Text = txtExpression.Text & "[" & tvwSourceDS.SelectedItem.Parent.Text & "." & _
tvwSourceDS.SelectedItem.Text & "]"
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -