Archive for '代码'

VBA实现的辛普森积分法源代码

辛普森积分法(Simpson Integration)是一类常用且有效的数值积分法中,这里水文工具集提供一个使用VBA实现的辛普森积分法,并且给出源代码,使用时注意要把代码里面的FUNC_STR_NAME替换成你所要求积的函数名称,具体代码如下:
阅读全文 >

产生Levy分布随机数LevyRand源代码

智能算法中除了经常用到正态分布柯西分布的随机数外,还会需要到另外一种分布随机数产生器,那就是Levy分布,Levy分布随机数兼具上面两种分布的特性,是两种分布的一种调和,在智能算法中引入Levy随机分布一般可以对算法起改进作用,已经有不少学者在进化策略中引入Levy分布随机数,实验表明对算法性能有改进。这里水文工具集提供一个产生Levy分布随机数的函数源代码,函数名为LevyRand,具体代码如下:
阅读全文 >

VBA实现多行数据合并为一列

今天收到一个水位流量关系曲线表,为了方便人工查表,这表格是一个水位级别为一行的方式排列的,也就是1分米分为10列进行填充。现在需要把数据导入到水文测报系统中,而导入的格式是要求流量以一列进行排列的,几百个数据就算用复制粘贴的方式也够整理的,而且有好几张表格,因此使用VBA实现多行数据合并为一列的功能,这一功能在日常数据处理工作也经常会用到,水文工具集提供的这一VBA函数为MultiRowsToOneColumn,具体源代码如下:
阅读全文 >

VBA实现多列数据合并为一列

水文数据处理中,经常会遇到将一个表格进行重新排列,实现把很多列的数据合并为一列,因此使用VBA实现多列数据合并为一列的功能,这一功能在日常工作也经常会用到,水文工具集提供的这一VBA函数为MultiColumnsToOneColumn,具体源代码如下:
阅读全文 >

VBA中检测键盘控制键(Shift Control Alt)状态

VBA编写的程序中,经常需要提供一些功能键或者快捷键或者是辅助键,比如Shift|Control|Alt,以方便用户更方便使用你的程序。VBA中并没有相关函数来完成检测键盘控制键状态的函数,因此,必须使用Windows API函数GetKeyState。GetKeyState函数会返回某个指定按键的状态(按下或者未按下)。水文工具集提供VBA编写的3个相关函数,可以方便你在代码中使用,用以完成相关功能。
阅读全文 >

VBA中CallByName的使用示例

VBA中CallByName函数是一个灵活性很强的函数,通过它可以实现通过字符串调用方法以及回调的功能,这里给出一个使用示例,具体应用具体分析并实现。

首先,定义一个类模块,并起名为CMyObject,类实现代码如下:
阅读全文 >

VBA运行时动态创建控件并添加事件处理代码

VBA编写的程序中,如果可以在运行时动态创建控件无疑是非常有用的,因为有些控件是无法预先得知的,这样就更必须在运行时动态创建然后设置相应控件属性。这里CnHUP给出一个示例,可供参考:
阅读全文 >