我以前用CBuildr编过程序,VC也编过,C的基础一般,从编译器的树形结构中至少可以看出主体框架吧
看事件相应或者手写的函数,看功能块也至少了解吧,但是怎么换了VB我就一行一行的读代码了.
问一下各位前辈,有没有好的方法读VB代码.

解决方案 »

  1.   

    Option Explicit
    Private m_intComUsing As Integer '打开的串口号
    Private m_blnConnectStatus As Boolean '与串口通讯状态
    Private blnBusy As Boolean '串口忙碌的标记,若忙,不接收其他的指令
    Private strReceiver As String '从串口接收的字符
    Private strSender As String '给串口发送的字符
    Private blnReadComFinish As Boolean '判断从串口回来的字符是否已经完全读取完毕
    Private intComMode As Integer 'mscomm控件中Oncom事件中处理字符的模式'仪器参数'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Private intGratingDeskNO As Integer '光栅台台号
    Private m_lngSpecTotalSteps As Long '光谱台转动一圈,步进电机走动的总步数Private m_strSpecNo As String '光谱仪的编号
    Private m_intSpecGratingCounts As Integer '光谱仪可安装的光栅数'光栅参数
    Private dblGratingEmendationParameter(2) As Double  '光栅的校正系数
    Private lngGratingZeroPos(2) As Long   '光栅的零级位置
    Private m_intGratingLineCounts(2) As Integer   '光栅的刻线数
    Private m_lngGratingBlazeWaveL(2) As Double    '光栅的闪耀波长
    Private m_blnGratingStatus(2) As Boolean '安装的光栅状态,false表示没有安装,True表示已安装
    '开机定位位置以及切换位置
    Private m_intSpecStartAnchor As Integer '开机的定位方式,1代表指定位置,0代表上次关机的位置
    Private lngGratingChangePos(2) As Long '光栅的切换位置
    Private m_dblGratingChangeWaveL(2) As Double '光栅的切换波长
    Private lngSpecStartPos As Long '开机定位位置
    Private m_strSpecStartWaveL As String  '开机的定位波长,形式:1,234.46'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''滤光片轮参数-------------------------------------------------------------------
    Private m_intFilterStatus As Integer '滤光片轮的状态,2代表未设置,0代表关闭,1代表开启
    Private lngFilterTotalSteps As Long '滤光片轮的总步数
    Private lngFilterAnchorPos(8) As Long '各个滤光片的定位位置
    'Private lngFilterTopPos(2, 7) As Long '各个滤光片在每块光栅的工作上限位置
    'Private m_dblFilterTopWaveL(2, 7) As Double '各个滤光片在每块光栅的工作上限波长
    Private lngFilterTopPos(8) As Long  '各个滤光片在每块光栅的工作上限位置
    Private m_dblFilterTopWaveL(8) As Double  '各个滤光片在每块光栅的工作上限波长
    Private m_intFilterCounts As Integer '滤光片轮可安装的滤光片的数目
    Private m_intFilterCurrentCounts As Integer '当前实际使用的滤光片数目
    Private m_intFirstFilterAnchor As Integer '第一块滤光片的定位位置
    '---------------------------------------------------------------------------------
    '数据采集系统参数'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Private m_intDASStatus As Integer '0表示联接失败,1表示联接成功,2表示未设置参数
    Private m_intIntegrationCounts As Integer '积分次数1-32
    Private m_lngSamplingDelayTime As Long '采样延时时间1-65535,数值当量是微秒
    Private m_intLineFilter As Integer '工频抑制方式,0代表关闭,1代表60HZ,2代表50HZ
    Private m_intInputMode(1) As Integer '输入通道A和B的输入模式,等于0代表电压输入,等于1代表电流输入
    Private m_intSamplingInputChannel As Integer '0代表采样通道A,1代表采样通道B,2代表先采样通道A,再采样通道B,同理3。
    Private m_dblOutChannelVoltage(1) As Double '直流输出通道I和II的输出电压
    Private m_intChannelGain(1) As Integer '通道的增益值'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''反射镜参数'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Private m_lngMirrorPos              '反射镜当前位置
    Private m_intMirrorStatus           '反射镜当前状态 0:零出口 ,1:1出口 ,2:不在0或者1出口
    Private m_lngMirrorAnchor           '反射镜1出口定位位置
    Private m_dblMirrorSwitchWL         '反射镜自动切换波长
    '运行参数--------------------------------------------------------------------
    Private m_intRunSpeed As Integer '波长走动的速度,0-255
    Private lngCurrentPos As Long '当前的位置步数
    Private m_dblCurrentWaveL As Double '当前的波长位置
    Private m_intCurrentGrating As Integer
    '------------------------------------------------------------------------------
    '其他参数''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    'Private m_intSpecExitSlit As Integer '单色仪的出缝选择,1代表正面出射,2代表侧面出射
    Private blnCanntStopRun As Boolean '某些情况,比如切换光栅、重新定位时,不能有停止命令
    Private strArray() As String '从strReceiver里用split方法分离出的字符存在这个数组中
    Private m_strEdition As String
    Private Allowfilter As Boolean'**********************************************************************************************
    '**********************************************************************************************
    '**********************************************************************************************
    '缺省属性值:
    Const m_def_ID = 0
    'Const m_def_ID = "0"
    '属性变量:
    Dim m_ID As Long
    'Dim m_ID As String
      

  2.   

    无非就是声明一大串模块级变量罢了Private m_intComUsing As Integer '打开的串口号
    Private m_blnConnectStatus As Boolean '与串口通讯状态
    Private blnBusy As Boolean '串口忙碌的标记,若忙,不接收其他的指令
    Private strReceiver As String '从串口接收的字符
    Private strSender As String '给串口发送的字符
    Private blnReadComFinish As Boolean '判断从串口回来的字符是否已经完全读取完毕
    Private intComMode As Integer 'mscomm控件中Oncom事件中处理字符的模式
    ...int m_intComUsing;
    BOOL m_blnConnectStatus;
    BOOL blnBusy;
    LPSTR strReceiver;
    LPSTR strSender;
    BOOL blnReadComFinish;
    int intComMode;
    ...
      

  3.   

    多使用Ctrl+F功能,你会发现很多地方都很受用的
      

  4.   

    pigsanddogs(我爱吃猪肉,但是长不胖,为什么??) 
    真理掌握在你手里了。