//根据字符串,拆分字符串,相当于vb中的split函数 function SplitString(const Source,ch:string):TStringList; var temp:String; i:Integer; begin Result:=TStringList.Create; //如果是空自符串则返回空列表 if Source='' then exit; temp:=Source; i:=pos(ch,Source); wh...[ 查看全文 ]
经常见到cint和clng的溢出出错,如果有检测函数就不会出这个问题,下面这两个函数是应朋友要求写的,看一下吧 '检测字符串是否是整数 function Is_Int(a_str) if not isnumeric(a_str) or len(str) 5 then Is_Int = false exit function elseif len(str) < 5 then ...[ 查看全文 ]
在用Delphi30开发软件时,出现了硬件驱动程序 (DLL)中的函数和过程不能正常调用的问题,该硬件由英国Schlumberger公司生产,驱动程序用汇编语言编写的。其《编程指南》给出的 Microsoft C的示范程序均能正常运行。但运行此软件时现出的错误提示为: Access violation at address ×××××××× in module…… 经仔细分析,才发现问题出现在函数调用模式上。 Delphi30支持五种调...[ 查看全文 ]
运算符重载是C++的重要组成部分,它可以让程序更加的简单易懂,简单的运算符使用可以使复杂函数的理解更直观。 对于普通对象来说我们很自然的会频繁使用算数运算符让他们参与计算,但是对于自定义类的对象来说,我们是无论如何也不能阻止写出像下面的代码一样的程序来的。 例子如下: C++ 代码 class Test { ...[ 查看全文 ]
近日在和朋友讨论 MaskMatch 时偶得2个不错的算法。 函数1 只支持'*','?'模糊匹配。速度比采用递归算法的快近2倍,比TMask方法快很多。 函数2 完全支持正规表达式。速度于之前的相同。(不会正规表达式的朋友慎用) // =========================== // Function 1 // =========================== // Check if the string can match the wildcard. It can be use...[ 查看全文 ]