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

📄 samples.bas

📁 这个是grs源程序,mo在图象显示上很好,所以大家一定要下载
💻 BAS
📖 第 1 页 / 共 2 页
字号:
Attribute VB_Name = "Module1"
Option Explicit

' Function name:  ReturnDataPath
' Return type:    String
' Dependencies:   Uses InStrL function
'
' Description:    Returns the full path to the specified data directory.
'
' Args: dataDir - Data to return path for
'
Public Function ReturnDataPath(dataDir As String) As String
  Dim sPath As String
  Dim iLastPos As Integer
  sPath = App.Path
  iLastPos = InStrL(sPath, "\")
  ReturnDataPath = Left(sPath, iLastPos) + "..\Data\" + dataDir
End Function

' Function name:  InStrL
' Return type:    Integer
' Dependencies:   None
'
' Description:    Returns the character position of the last occurrence
'                 of srchString in inString. If there is no match, 0 is
'                 returned. This provides the same functionality that VB's
'                 InStr function provides, except that it searches backwards.
'
' Args: inString   - String to examine
'       srchString - String to search for
'
Public Function InStrL(inString As String, srchString As String) As Integer
  Dim iLastPos As Integer   'Set to 0 on initialization
  
  ' Check srchString -- a 0-length string will match every time
  If Len(srchString) Then
    ' Set iLastPos to the last matching position
    Dim iCurPos As Integer
    Do
      iLastPos = iCurPos
      iCurPos = InStr(iCurPos + 1, inString, srchString, vbTextCompare)
    Loop Until iCurPos = 0
  End If
  
  InStrL = iLastPos
End Function
' Function name:  ConnectErrorMsg
' Return type:    String
' Dependencies:   None
'
' Description:    Defines an appropriate error message for
'                 the Data Connection object, including
'                 errors from SDE (negative integers).
'
' Args: errNum   - Integer representing ConnectionErrorConstant
'                  returned from DataConnection.ConnectError
'
Public Function ConnectErrorMsg(errNum As Integer) As String
  Select Case errNum
     'Generic Error Messages
     Case moNoError:                            ConnectErrorMsg = "No Error"
     Case moUnknownError:                       ConnectErrorMsg = "Unknown error"
     Case moAccessDenied:                       ConnectErrorMsg = "Access denied"
     Case moInvalidUser:                        ConnectErrorMsg = "Invalid user"
     Case moNetworkTimeout:                     ConnectErrorMsg = "Network timeout"
     Case moInvalidDatabase:                    ConnectErrorMsg = "Invalid database"
     Case moTasksExceeded:                      ConnectErrorMsg = "Tasks exceeded"
     Case moFileNotFound:                       ConnectErrorMsg = "File not found"
     Case moInvalidDirectory:                   ConnectErrorMsg = "Invalid directory"
     Case moHostUnknown:                        ConnectErrorMsg = "Unknown host"
     
     'SDE Error Messages
     Case moSE_FAILURE:                         ConnectErrorMsg = "Unspecified SDE error."
     Case moSE_INVALID_LAYERINFO_OBJECT:        ConnectErrorMsg = "LAYERINFO pointer not initialized."
     Case moSE_NO_ANNOTATION:                   ConnectErrorMsg = "The given shape has no annotation"
     Case moSE_FINISHED:                        ConnectErrorMsg = "STREAM LOADING OF SHAPES FINISHED"
     Case moSE_SDE_NOT_STARTED:                 ConnectErrorMsg = "SDE NOT STARTED CANNOT PERFORM FUNCTION"
     Case moSE_UNCHANGED:                       ConnectErrorMsg = "THE SPECIFIED SHAPE WAS LEFT UNCHANGED"
     Case moSE_CONNECTIONS_EXCEEDED:            ConnectErrorMsg = "THE NUMBER OF SERVER CONNECTIONS IS @ MAXIMUM"
     Case moSE_LOGIN_NOT_ALLOWED:               ConnectErrorMsg = "IOMGR NOT ACCEPTING CONNECTION REQUESTS"
     Case moSE_INVALID_USER:                    ConnectErrorMsg = "CANNOT VALIDATE THE SPECIFIED USER AND PASSWORD"
     Case moSE_NET_FAILURE:                     ConnectErrorMsg = "NETWORK I/O OPERATION FAILED"
     Case moSE_NET_TIMEOUT:                     ConnectErrorMsg = "NETWORK I/O TIMEOUT"
     Case moSE_OUT_OF_SVMEM:                    ConnectErrorMsg = "SERVER TASK CANNOT ALLOCATE NEEDED MEMORY"
     Case moSE_OUT_OF_CLMEM:                    ConnectErrorMsg = "CLIENT TASK CANNOT ALLOCATE NEEDED MEMORY"
     Case moSE_OUT_OF_CONTEXT:                  ConnectErrorMsg = "FUNCTION CALL IS OUT OF CONTEXT"
     Case moSE_NO_ACCESS:                       ConnectErrorMsg = "NO ACCESS TO OBJECT"
     Case moSE_TOO_MANY_LAYERS:                 ConnectErrorMsg = "Exceeded max_layers in giomgr.defs."
     Case moSE_NO_LAYER_SPECIFIED:              ConnectErrorMsg = "MISSING LAYER SPECIFICATION"
     Case moSE_LAYER_LOCKED:                    ConnectErrorMsg = "SPECIFIED LAYER IS LOCKED"
     Case moSE_LAYER_EXISTS:                    ConnectErrorMsg = "SPECIFIED LAYER ALREADY EXISTS"
     Case moSE_LAYER_NOEXIST:                   ConnectErrorMsg = "SPECIFIED LAYER DOES NOT EXIST"
     Case moSE_LAYER_INUSE:                     ConnectErrorMsg = "SPECIFIED LAYER IS USE BY ANOTHER USER"
     Case moSE_FID_NOEXIST:                     ConnectErrorMsg = "SPECIFIED SHAPE (LAYER FID) DOESN'T EXIST"
     Case moSE_FID_EXISTS:                      ConnectErrorMsg = "SPECIFIED SHAPE (LAYER FID) EXISTS"
     Case moSE_LAYER_MISMATCH:                  ConnectErrorMsg = "Both layers must be the same for this"
     Case moSE_NO_PERMISSIONS:                  ConnectErrorMsg = "NO PERMISSION TO PERFORM OPERATION"
     Case moSE_INVALID_NOT_NULL:                ConnectErrorMsg = "COLUMN HAS NOT NULL CONSTRAINT."
     Case moSE_INVALID_SHAPE:                   ConnectErrorMsg = "INVALID SHAPE CANNOT BE VERIFIED"
     Case moSE_INVALID_LAYER_NUMBER:            ConnectErrorMsg = "MAP LAYER NUMBER OUT OF RANGE"
     Case moSE_INVALID_ENTITY_TYPE:             ConnectErrorMsg = "INVALID ENTITY TYPE"
     Case moSE_INVALID_SEARCH_METHOD:           ConnectErrorMsg = "INVALID SEARCH METHOD"
     Case moSE_INVALID_ETYPE_MASK:              ConnectErrorMsg = "INVALID ENTITY TYPE MASK"
     Case moSE_BIND_CONFLICT:                   ConnectErrorMsg = "BIND/SET/GET MIS-MATCH"
     Case moSE_INVALID_GRIDSIZE:                ConnectErrorMsg = "INVALID GRID SIZE"
     Case moSE_INVALID_LOCK_MODE:               ConnectErrorMsg = "INVALID LOCK MODE"
     Case moSE_ETYPE_NOT_ALLOWED:               ConnectErrorMsg = "ENTITY TYPE OF SHAPE IS NOT ALLOWED IN LAYER"
     Case moSE_TOO_MANY_POINTS:                 ConnectErrorMsg = "Exceeded max points specified."
     Case moSE_TABLE_NOEXIST:                   ConnectErrorMsg = "DBMS TABLE DOES NOT EXIST"
     Case moSE_ATTR_NOEXIST:                    ConnectErrorMsg = "SPECIFIED ATTRIBUTE COLUMN DOESN'T EXIST"
     Case moSE_LICENSE_FAILURE:                 ConnectErrorMsg = "Underlying license manager problem."
     Case moSE_OUT_OF_LICENSES:                 ConnectErrorMsg = "No more SDE licenses available."
     Case moSE_INVALID_COLUMN_VALUE:            ConnectErrorMsg = "VALUE EXCEEDS VALID RANGE"
     Case moSE_INVALID_WHERE:                   ConnectErrorMsg = "USER SPECIFIED WHERE CLAUSE IS INVALID"
     Case moSE_INVALID_SQL:                     ConnectErrorMsg = "USER SPECIFIED SQL CLAUSE IS INVALID"
     Case moSE_LOG_NOEXIST:                     ConnectErrorMsg = "SPECIFIED LOG FILE DOES NOT EXIST"
     Case moSE_LOG_NOACCESS:                    ConnectErrorMsg = "UNABLE TO ACCESS SPECIFIED LOGFILE"
     Case moSE_LOG_NOTOPEN:                     ConnectErrorMsg = "SPECIFIED LOGFILE IS NOT OPEN FOR I/O"
     Case moSE_LOG_IO_ERROR:                    ConnectErrorMsg = "I/O ERROR USING LOGFILE"
     Case moSE_NO_SHAPES:                       ConnectErrorMsg = "NO SHAPES SELECTED OR USED IN OPERATION"
     Case moSE_NO_LOCKS:                        ConnectErrorMsg = "NO LOCKS DEFINED"
     Case moSE_LOCK_CONFLICT:                   ConnectErrorMsg = "LOCK REQUEST CONFLICTS W/ ANOTHER ESTABLISHED LOCK"
     Case moSE_OUT_OF_LOCKS:                    ConnectErrorMsg = "MAXIMUM LOCKS ALLOWED BY SYSTEM ARE IN USE"
     Case moSE_DB_IO_ERROR:                     ConnectErrorMsg = "DATABASE LEVEL I/O ERROR OCCURRED"
     Case moSE_STREAM_IN_PROGRESS:              ConnectErrorMsg = "SHAPE/FID STREAM NOT FINISHED CAN'T EXECUTE"
     Case moSE_INVALID_COLUMN_TYPE:             ConnectErrorMsg = "INVALID COLUMN DATA TYPE"
     Case moSE_TOPO_ERROR:                      ConnectErrorMsg = "TOPOLOGICAL INTEGRITY ERROR"

⌨️ 快捷键说明

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