📄 declare.bas
字号:
Attribute VB_Name = "Declare"
'**********************************************************
' File Name : declare.bas
' Author : endlessfree
' Last updated : 10.04.2002
' Compiler : Visucal Basic 6.0
' Description : ExhCAD0.99.1的全局变量定义,
' Windows API 函数声明,常数声明
'**********************************************************
'创建自定义窗体
Public Declare Function CreateRectRgn Lib "gdi32" ( _
ByVal x1 As Long, ByVal y1 As Long, _
ByVal X2 As Long, ByVal Y2 As Long) As Long
Public Declare Function CombineRgn Lib "gdi32" ( _
ByVal hDestRgn As Long, _
ByVal hSrcRgn1 As Long, _
ByVal hSrcRgn2 As Long, _
ByVal nCombineMode As Long) As Long
Public Declare Function SetWindowRgn Lib "user32" ( _
ByVal hwnd As Long, _
ByVal hRgn As Long, _
ByVal bRedraw As Boolean) As Long
Public Declare Function GetCursorPos Lib "user32" ( _
lpPoint As POINTAPI) As Long
Public Declare Function DeleteObject Lib "gdi32" ( _
ByVal hObject As Long) As Long
'系统关于
Public Declare Function ShellAbout Lib "shell32.dll" Alias "ShellAboutA" ( _
ByVal hwnd As Long, _
ByVal szApp As String, _
ByVal szOtherStuff As String, _
ByVal hIcon As Long) As Long
'读写注册表
Public Declare Function RegCreateKey Lib "advapi32.dll" Alias "RegCreateKeyA" ( _
ByVal hKey As Long, _
ByVal lpSubKey As String, _
phkResult As Long) As Long
Public Declare Function RegSetValue Lib "advapi32.dll" Alias "RegSetValueA" ( _
ByVal hKey As Long, _
ByVal lpSubKey As String, _
ByVal dwType As Long, _
ByVal lpData As String, _
ByVal cbData As Long) As Long
Public Declare Function RegOpenKeyEx Lib "advapi32.dll" Alias "RegOpenKeyExA" ( _
ByVal hKey As Long, _
ByVal lpSubKey As String, _
ByVal ulOptions As Long, _
ByVal samDesired As Long, _
phkResult As Long) As Long
Public Declare Function RegQueryValueEx Lib "advapi32.dll" Alias "RegQueryValueExA" ( _
ByVal hKey As Long, _
ByVal lpValueName As String, _
ByVal lpReserved As Long, _
lpType As Long, _
lpData As Any, _
lpcbData As Long) As Long
Public Declare Function RegCloseKey Lib "advapi32.dll" ( _
ByVal hKey As Long) As Long
Public Declare Function SetWindowPos Lib "user32" ( _
ByVal hwnd As Long, ByVal hWndInsertAfter As Long, _
ByVal x As Long, ByVal y As Long, ByVal cx As Long, _
ByVal cy As Long, ByVal wFlags As Long) As Long
'读写INI文件
Public Declare Function WritePrivateProfileString Lib _
"kernel32" Alias "WritePrivateProfileStringA" ( _
ByVal lpApplicationName As String, _
ByVal lpKeyName As Any, _
ByVal lpString As Any, _
ByVal lpFileName As String) As Long
Public Declare Function GetPrivateProfileString Lib "kernel32" Alias "GetPrivateProfileStringA" ( _
ByVal lpApplicationName As String, _
ByVal lpKeyName As Any, _
ByVal lpDefault As String, _
ByVal lpReturnedString As String, _
ByVal nSize As Long, _
ByVal lpFileName As String) As Long
Public Declare Function GetPrivateProfileInt Lib _
"kernel32" Alias "GetPrivateProfileIntA" ( _
ByVal lpApplicationName As String, _
ByVal lpKeyName As String, _
ByVal nDefault As Long, _
ByVal lpFileName As String) As Long
Public Declare Function CopyFile Lib "kernel32" _
Alias "CopyFileA" ( _
ByVal lpExistingFileName As String, _
ByVal lpNewFileName As String, _
ByVal bFailIfExists As Long) As Long
Public Declare Function DeleteFile Lib "kernel32" _
Alias "DeleteFileA" (ByVal lpFileName As String) As Long
Public Declare Function sndPlaySound Lib "winmm.dll" Alias _
"sndPlaySoundA" (ByVal lpszSoundName As String, _
ByVal uFlags As Long) As Long
Public Const SND_ASYNC = &H1
Public Declare Function mciSendString Lib "winmm.dll" _
Alias "mciSendStringA" ( _
ByVal lpstrCommand As String, _
ByVal lpstrReturnString As String, _
ByVal uReturnLength As Long, _
ByVal hwndCallback As Long) As Long
'ExhCAD0.99.0.1计算
Public Declare Sub ComputeFun Lib "compute.dll" ( _
RecordSetup As ExhCADSetup, _
RecordCompute As ExhCADCompute, _
RecordDraw As ExhCADDraw, _
RecordData As ExhCADData)
'注册表返回错误码
Public Const ERROR_SUCCESS = 0&
Public Const ERROR_BADDB = 1&
Public Const ERROR_BADKEY = 2&
Public Const ERROR_CANTOPEN = 3&
Public Const ERROR_CANTREAD = 4&
Public Const ERROR_CANTWRITE = 5&
Public Const ERROR_OUTOFMEMORY = 6&
Public Const ERROR_INVALID_PARAMETER = 7&
Public Const ERROR_ACCESS_DENIED = 8&
Public Const HKEY_CLASSES_ROOT = &H80000000
Public Const HKEY_LOCAL_MACHINE = &H80000002
Public Const MAX_PATH = 256&
Public Const REG_SZ = 1
Public Const READ_CONTROL = &H20000
Public Const STANDARD_RIGHTS_READ = (READ_CONTROL)
Public Const STANDARD_RIGHTS_WRITE = (READ_CONTROL)
Public Const KEY_QUERY_VALUE = &H1
Public Const KEY_SET_VALUE = &H2
Public Const KEY_CREATE_SUB_KEY = &H4
Public Const KEY_ENUMERATE_SUB_KEYS = &H8
Public Const KEY_NOTIFY = &H10
Public Const KEY_CREATE_LINK = &H20
Public Const SYNCHRONIZE = &H100000
Public Const STANDARD_RIGHTS_ALL = &H1F0000
Public Const KEY_READ = ((STANDARD_RIGHTS_READ Or _
KEY_QUERY_VALUE Or KEY_ENUMERATE_SUB_KEYS Or KEY_NOTIFY) _
And (Not SYNCHRONIZE))
Public Const KEY_WRITE = ((STANDARD_RIGHTS_WRITE Or _
KEY_SET_VALUE Or KEY_CREATE_SUB_KEY) And (Not SYNCHRONIZE))
Public Const KEY_ALL_ACCESS = ((STANDARD_RIGHTS_ALL Or _
KEY_QUERY_VALUE Or KEY_SET_VALUE Or KEY_CREATE_SUB_KEY _
Or KEY_ENUMERATE_SUB_KEYS Or KEY_NOTIFY Or KEY_CREATE_LINK) _
And (Not SYNCHRONIZE))
Public Const KEY_EXECUTE = ((KEY_READ) And (Not SYNCHRONIZE))
Public Const MF_BYPOSITION = &H400&
Public Const SWP_NOMOVE = &H2
Public Const SWP_NOSIZE = &H1
Public Const SWP_HIDEWINDOW = &H80
Public Const SWP_SHOWWINDOW = &H40
Public Const HWND_TOPMOST = -1
Public Const FLAGE = SWP_NOMOVE Or SWP_NOSIZE
'常数
Public Const AirPhysicsFile = "\data\airphy.dat" '空气物性数据文件
Public Const FumePhysicsFile = "\data\fumephy.dat" '烟气物性数据文件
Public Const PipeLenFile = "\data\piplen.dat" '管长修正数据文件
Public Const PipeRowFile = "\data\piprow.dat" '管排修正数据文件
Public Const ExhCADIniFile = "\data\exhcad.ini" 'INI文件
Public Const ExhCADInputFile = "\data\exhcad.hi" '输入数据文件
Public Const ExhCADPerferenceFile = "\data\exhcad.hp" '参数设置数据文件
Public Const ExhCADOutputFile = "\data\exhcad.ho" '输出数据文件
Public Const ExhCADFaceFile = "\data\exhcad.hf" '资源文件
Public Const ExhCADFormFile = "\data\exhcad.dat" '界面数据文件
Public Const ExhCADTxtFile = "\exhcad.txt" '系统说明文件
Public Const ExhCADWavFile = "\data\exhcad.wav"
Public Const BGSoundFile = "\data\Bgsound.mid"
Public Const AcsFile = "\data\ExhCAD.acs"
Public Const ExhCADrxFile = "\data\acad.rx"
Public Const ExhCADArxFile = "\arx\exhcad.arx"
Public Const TechDemandArxFile = "\arx\TechDemand.arx"
Public Const AutoCADrxFile = "\acad.rx"
Public Const AutoCADmnuFile = "\support\exhcad.mnu"
Public Const AutoCADmnlFile = "\support\exhcad.mnl"
Public Const AutoCADlspFile = "\support\exhcad.lsp"
Public Const ExhCADmnuFile = "\data\exhcad.mnu"
Public Const ExhCADmnlFile = "\data\exhcad.mnl"
Public Const ExhCADlspFile = "\data\exhcad.lsp"
Public Const ExhCADAcadlspFile = "\data\ac_exhcad.lsp"
Public Const AcadlspFile = "\support\acadr14.lsp"
Public Const ExhCADAcadmnlFile = "\data\ac_exhcad.mnl"
Public Const AcadmnlFile = "\support\acad.mnl"
Public Const IsInstallExhCAD = "ExhCAD0.99"
Public Const ExhCADSettingsIco = "\img\settings.ico" '图像数据文件
Public Const ExhCADComputeIco = "\img\compute.ico"
Public Const ExhCADDrawIco = "\img\draw.ico"
Public Const ExhCADExhcadJpg = "\img\exhcad.jpg"
Public Const ExhCADExhcadIco = "\img\exhcad.ico"
Public Const ExhCADLastIco = "\img\last.ico"
Public Const ExhCADNextIco = "\img\next.ico"
Public Const ExhCADPerferenceIco = "\img\perference.ico"
Public Const ExhCADDesignIco = "\img\design.ico"
Public Const ExhCADOpenIco = "\img\open.ico"
Public Const ExhCADHelpIco = "\img\help.ico"
Public Const ExhCADExitIco = "\img\exit.ico"
Public Const ExhCADLoadJpg = "\img\load.jpg"
Public Const ExhCADBltJpg = "\img\blt.jpg"
Public Const ExhCADExhcadSwf = "\img\exhcad.swf"
Public Const ExhCADPitureNumber = 10
'鼠标移动坐标
Public Type POINTAPI
x As Long
y As Long
End Type
'自定义窗体数据
Public Type Dat
sx As Integer 'x方向开始颜色
ex As Integer 'x方向结束颜色
sy As Integer 'y方向开始颜色
ey As Integer 'y方向结束颜色
End Type
Public mX As Integer
Public mY As Integer
'设计步
Public ExhCADDesign As Integer
'参数设置数据
Public Type ExhCADSetup
FumeElement(2) As Double '烟气成分
CannulationArrange As Integer '管子排列方式
CannulationRough As Integer '管壁粗糙度
MediumDirection As Integer '介质流向
ExperienceConstant(2) As Double '经验常数
InsertShape As Integer
Material As Integer
InsertSize(1) As Double
UnitWeight As Double
'CollectionBox(2) As Double '集箱
'WindPipe(1) As Double '风管
'Steel As Double '钢板
End Type
'输入数据
Public Type ExhCADCompute
Air(3) As Double '空气
Fume(2) As Double '烟气
Pipe(4) As Double '管子
End Type
'输出数据
Public Type ExhCADDraw
Heater(2) As Double '换热器结构参数
Performer(3) As Double '换热性能
Assistance(1) As Double '阻力损失
Other(3) As Double '其他参数
End Type
'物性数据
Type Physics
t As Double '温度
p As Double '密度
cp As Double '比热
r As Double '导热系数
u As Double '运动粘度
v As Double '动力粘度
pr As Double '普朗特数
End Type
'管长修正系数
Type PipeLen
ld As Double '管长与管径的比值
cl As Double '修正值
End Type
'管排修正系数
Type PipeRow
rn As Integer ' 管排数
cn(1) As Double 'cn(0),错排修正值,cn(1),顺排修正值
End Type
'ExhCAD0.99.0.1数据
Type ExhCADData
AirPhysics(24) As Physics '空气物性数据
FumePhysics(11) As Physics '烟气物性数据
LenModify(13) As PipeLen '管长修正数据
RowModify(9) As PipeRow '管排修正数据
End Type
'图像数据文件枚举
Public Enum ExhCADPictureFile
PictureExhCADIco
PictureLastIco
PictureNextIco
PictureExhcadJpg
PicturePerferenceIco
PictureDesignIco
PictureOpenIco
PictureHelpIco
PictureExitIco
PictureBltJpg
PictureLoadJpg
End Enum
'组合框中输入数据类型
Public Enum ExhCADInputComboType
InputArrange
InputFlat
InputFlow
InputInsertShape
InputMaterial
End Enum
Public arg As String '命令行参数
Public RecordSetup As ExhCADSetup '参数设置数据
Public RecordCompute As ExhCADCompute '输入数据
Public RecordDraw As ExhCADDraw '输出数据
Public RecordData As ExhCADData 'ExhCAD0.99.0.1数据
Public RecordInit() As String 'ExhCAD0.99.0.1界面数据
Public PictureFile(10) As Variant '图像数据
Public InputComboTypeFlag As Integer '
Public Const PipeMdbFile = "\data\pipe.mdb"
Public Const Common = 0
Public Const LowPress = 1
Public Const StainlessSteel = 2
Public Const HighPress = 3
'工作表文件数据
Public ExhCADTitles(2) As String '工作表名
Public ExhCADFields(2) As String '字段名
Public SetupValues(10, 2) As String '参数设置
Public ComputeValues(11, 2) As String '输入数据
Public DrawValues(12, 2) As String '输出数据
Public m_RecordSetup(0) As Integer
Public m_RecordCompute(4) As Double
Public m_RecordDraw(2) As Double
Public Const Step = 220
Public ExhCADAcs As IAgentCtlCharacter
Public ExhCADRequest As IAgentCtlRequest
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -