Archive by Author

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

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

VBA中CallByName的使用示例

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

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

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

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

VBA实现的HSL与RGB颜色转换

RGB与HSL的颜色转换经常被用到,网上也有不少相应的实现,但VBA实现的相对难见到,因此水文工具集使用VBA实现RGB和HSL颜色转换代码,以供参考,具体源代码如下:
阅读全文 >

改进的基于进化阶段的自适应遗传算法

基于进化阶段的自适应遗传算法将整个进化阶段划分为3个阶段,基于不同阶段的进化特点及要求,采取不同的自适应策略,包括选择算子、交叉算子、变异算子的自适应策略。
阅读全文 >

VBA自定义函数在水文数据四舍六入中的应用

水文资料整编规范》SL247—1999自2000年1月1日起实施,标准中有关规定如下:水文资料整编成果中,各要素的取用精度位数后一位数字采用“四舍六入”法取舍,即取用精度位数后一位数字小于五者则舍,大于五者则入,等于五时若其后有非零尾数则入,无非零尾数则视取用的末位数字的奇偶取舍,为奇则进,为偶则舍。
阅读全文 >

洪水预报中不确定性来源分析

目前,国内外对洪水预报的理论与方法研究较多,但对其不确定性来源分析甚少。各种洪水预报中的不确定性是放在一起处理的,但这些不确定性非常值得研究,不能因为采用实时预报方法后精度提高就忽略了这些不确定性。实践证明,洪水预报中的不确定性主要来源于自然现象本身的随机性、资料的不确定性、模型参数与模型结构。
阅读全文 >