Excel VBA(七)过程与函数

前面讲过,VBA代码有两种组织形式,一种就是过程(前面的示例中都在使用),另一种就是函数。其实过程和函数有很多相同之处,除了使用的关键字不同之外,还有不同的是:

  • 函数有返回值,过程没有
  • 函数可以在Excel表格中像一般的Excel函数那样使用,但过程不可以
  • 过程可以指定给Excel表格中的按钮或者图片等对象,但是函数不可以
  • 函数只能在被调用时执行,比如在过程中调用,或者在另一个函数中调用,或者在Excel表格中调用。但不能直接执行,而过程是可以的

阅读更多

Excel VBA(六)数组和字典

数组和字典也是VBA的常用到数据类型之一。但是我翻了有四五本VBA教程相关的书,里面都没有介绍到字典,数组到是在介绍数据类型时有介绍,而并没有提到字典。
事实上,字典不是VBA内置的类型,它是Windows脚本语言的。但其实字典在VBA中也是非常重要的,它非常适用于需要进行非重复性数据的操作。我多次需要使用到字典,但很少用到数组。

阅读更多

Excel VBA(五)数据类型

与其它的编程语言一样,VBA也有它自己的数据类型。讲到数据类型,就离不开“变量”与“常量”这两个概念,变量与常量,都是用于保存数据的。顾名思义,“变量”是会变的,即它的值是可以改变的;而常量,则它的值通常是固定不变的。

定义数据类型的优点有2个:

  • 便于内存管理
  • 便于程序进行计算(数值型)和其它使用(非数值型)

VBA中的基本数据类型有多种,但常用到的只有其中一半左右。

阅读更多

Excel VBA(一)打开VBE

VBA(visual basic application)是visual basic的一种宏语言,是依附于Microsoft Office系列软件的自动化语言。Excel是作为Microsoft Office系列软件中最常用的程序,被广泛应用于数据存储和处理。

宏是一系列可执行的VBA程序的集合,它可以帮助执行一项或者多项操作。

阅读更多

图像超分辨率

又是一篇简单的记录。图像超分辨率大致分为以下几类:单张LR->单张HR,这类基本依靠先验或者训练学习,实际运用上等同于猜。多张LR->多张HR,基本上是视频的超分辨率,多张LR->单张HR,这种就是典型的堆栈超分。堆栈超分是建立在亚像素配准和多帧融合的策略上,通过多帧图像采集不同的相位。亚像素配准又可以使用块匹配、光流、sift,融合策略五花八门,Google HDR做了不少这方面的工作,单帧超分的RAISR、多帧超分的Handheld Multi-frame SR等,可多多研究。

阅读更多

量子计算(二)量子计算

量子计算依靠量子计算机,但是当前我们可以看到的未来,量子计算机并不能取代经典计算机。量子计算不能解决经典计算机不能解决的数学难题,并且量子计算能解决的问题是有局限性的,经典问题不一定能利用量子计算机解决(如本博客上一篇所属,其优势在于依靠状态叠加来穷举)。量子计算固然速度快,但是如果把这些数据存入导出是严峻的问题。并且量子计算存在噪声影响,所以可纠错的量子计算机才具有商用价值(换句话说,量子计算机在未来相当长的一段时间内都没有商用价值)。与量子计算配套的算法和软件都需要重新设计,会是崭新的方向。博主摘抄一篇文章,看完之后会对量子计算的现状和未来有大致的了解和认知。

阅读更多

量子计算(一)RSA加密算法

密码学的发展分为三个阶段:加密算法的保密(古典密码学),密钥的保密(对称加密),私钥的保密(非对称加密)。在对称加密的情况下,如果文件的接收方需要解密文件,就必须要拿到密码,文件发送者不得不对每个文件都设置一个密码,管理困难并且密码的保存和传输的安全性直接关系到加密算法本身。那么非对称加密就应运而生了。1977年,三维在MIT工作的R\S\A提出了RSA算法,并延用至今,加密用的密码(私钥)和解密用的密码(公钥)分离开来,我们公布公钥就可以保证传输安全了。根据公钥推导私钥就成为了密码学的攻防的焦点。

阅读更多

CMake使用NDK独立工具链进行交叉编译

在交叉编译中,NDK是一个很好的工具。windows、linux、android、32bit、64bit,能够处理绝大部分程序的交叉编译。而CMake组织程序又使得程序具有良好的跨平台编译。NDK下载好之后,工具链无法直接被cmake使用,需要通过一个脚本生成独立的工具链。这篇博客介绍CMake使用NDK的独立工具链。

阅读更多