<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[BlueStorm的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/BlueStorm</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; BlueStorm]]></copyright><item><title><![CDATA[[Delphi]一个功能完备的国密SM3(杂凑值，或称为哈希值、散列值、摘要)类(TSM3)]]></title><link>https://blog.youkuaiyun.com/BlueStorm/article/details/129949169</link><guid>https://blog.youkuaiyun.com/BlueStorm/article/details/129949169</guid><author>BlueStorm</author><pubDate>Tue, 04 Apr 2023 11:42:35 +0800</pubDate><description><![CDATA[国密SM3的Delphi实现和演示]]></description><category></category></item><item><title><![CDATA[[Delphi]一个功能完备的国密SM4类(TSM4)[20230413更新]]]></title><link>https://blog.youkuaiyun.com/BlueStorm/article/details/129709353</link><guid>https://blog.youkuaiyun.com/BlueStorm/article/details/129709353</guid><author>BlueStorm</author><pubDate>Wed, 22 Mar 2023 16:11:12 +0800</pubDate><description><![CDATA[本程序提供了一个功能完备的国家商用密码SM4的类, 让使用者轻松实现数据的加密和解密.]]></description><category></category></item><item><title><![CDATA[在Delphi程序中提取本身的DFM资源数据]]></title><link>https://blog.youkuaiyun.com/BlueStorm/article/details/129197231</link><guid>https://blog.youkuaiyun.com/BlueStorm/article/details/129197231</guid><author>BlueStorm</author><pubDate>Fri, 24 Feb 2023 11:35:17 +0800</pubDate><description><![CDATA[在Delphi程序运行时, 提取程序本身的DFM资源数据]]></description><category></category></item><item><title><![CDATA[【Delphi Frame 使用示范】]]></title><link>https://blog.youkuaiyun.com/BlueStorm/article/details/129091533</link><guid>https://blog.youkuaiyun.com/BlueStorm/article/details/129091533</guid><author>BlueStorm</author><pubDate>Fri, 17 Feb 2023 18:10:08 +0800</pubDate><description><![CDATA[帮助Delphi初学者学会使用Frame编程]]></description><category></category></item><item><title><![CDATA[[Julia语言]使用Chudnovsky 算法快速计算圆周率 Pi (π) 值]]></title><link>https://blog.youkuaiyun.com/BlueStorm/article/details/123358516</link><guid>https://blog.youkuaiyun.com/BlueStorm/article/details/123358516</guid><author>BlueStorm</author><pubDate>Tue, 08 Mar 2022 17:26:57 +0800</pubDate><description><![CDATA[计算1万位的Pi值，用Julia实现的Chudnovsky算法耗时0.16秒，作为比较，用Julia实现的另一个算法([Julia&amp;Delphi]快速计算圆周率 Pi (π) 值_BlueStorm的博客-优快云博客)耗时4.87秒, 相比起来性能提高了18倍。




function CalcPi_2()
    #Decimal.precision = this.digits + 2;
    decimalwidth = 10000;
    digitsPerIteration =...]]></description><category></category></item><item><title><![CDATA[[Julia&Delphi]快速计算圆周率 Pi (π) 值]]></title><link>https://blog.youkuaiyun.com/BlueStorm/article/details/123342743</link><guid>https://blog.youkuaiyun.com/BlueStorm/article/details/123342743</guid><author>BlueStorm</author><pubDate>Tue, 08 Mar 2022 00:01:08 +0800</pubDate><description><![CDATA[算法参考自：

    计算圆周率Pi(π)值，精确到小数点后10000位 - 圆周率10000位 - C++ 爱好者

分别以Julia和Delphi语言写的算法如下面所示。在一台10年的老电脑（CPU是E31230v2)测试，计算1万位的Pi值，Julia算法耗时4.87秒，Delphi算法耗时12.3秒。作为比较，原作者的C++Builder算法耗时8.6秒。


#Julia语言
function CalcPi()
    ARRSIZE = 10100
    DISPCNT = 100...]]></description><category></category></item><item><title><![CDATA[[Delphi]快速计算质数序列]]></title><link>https://blog.youkuaiyun.com/BlueStorm/article/details/123309142</link><guid>https://blog.youkuaiyun.com/BlueStorm/article/details/123309142</guid><author>BlueStorm</author><pubDate>Sun, 06 Mar 2022 15:53:10 +0800</pubDate><description><![CDATA[本程序(uPrimes)的算法是从Julia语言的Primes软件包算法转换过来，能实现1秒内找出0到1亿范围内的所有质数，这是编译为64bit的测试结果， 如果编译为32bit的话稍慢些。

   常用的找质数的方法如uPrimesSimple单元所示，方法很简单，但0到1亿范围内找出所有的质数要超过7秒，性能上与前者相比，有7倍差距。


unit uPrimes;

interface

uses SysUtils, Math;

type
  TIntArray  = arra...]]></description><category></category></item><item><title><![CDATA[用Delphi快速计算斐波那契(Fibonacci)数列中的第n个数]]></title><link>https://blog.youkuaiyun.com/BlueStorm/article/details/123109754</link><guid>https://blog.youkuaiyun.com/BlueStorm/article/details/123109754</guid><author>BlueStorm</author><pubDate>Thu, 24 Feb 2022 13:45:36 +0800</pubDate><description><![CDATA[unit uMain;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants,
  System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs,
  Vcl.StdCtrls, Vcl.ComCtrls;

type
  TForm1 = class(TForm)
    RichEditResult: ...]]></description><category></category></item><item><title><![CDATA[用Julia语言快速计算斐波那契(Fibonacci)数列中的第n个数]]></title><link>https://blog.youkuaiyun.com/BlueStorm/article/details/123101710</link><guid>https://blog.youkuaiyun.com/BlueStorm/article/details/123101710</guid><author>BlueStorm</author><pubDate>Wed, 23 Feb 2022 23:52:03 +0800</pubDate><description><![CDATA[using BenchmarkTools

function docalc(n)
    if n &lt;= 1 return BigInt(n) end
    a = BigInt[[1,1] [1,0]]
    r = a^n;
    return r[1,2]
end

运行@btime docalc(100)：
14.100 μs (272 allocations: 5.52 KiB)
返回值：354224848179261915075


运行@btime docalc(1000000).]]></description><category></category></item><item><title><![CDATA[高速公路为什么会塞车？]]></title><link>https://blog.youkuaiyun.com/BlueStorm/article/details/120722439</link><guid>https://blog.youkuaiyun.com/BlueStorm/article/details/120722439</guid><author>BlueStorm</author><pubDate>Tue, 12 Oct 2021 15:40:26 +0800</pubDate><description><![CDATA[【下面的车流量，指的是在单位时间里高速公路的单向车流量，如5.3辆/秒等】

V1是进入堵塞区的车流量；V2是离开堵塞区的车流量

T1是各种原因导致堵塞出现的时间点(假定车无法继续前进)；T2是堵塞原因解除交通恢复的时间点

Tx是某车进入堵塞区的时间点；Ty是该车离开堵塞区的时间点；Tz是堵塞区清空的时间点



下面，我们来计算一下3个东西：堵塞区在某个时间点有几辆车？该车脱离堵塞区需要多长时间？堵塞区清空需要多长的时间？



（1）交通开始恢复后，在某个时间点T堵塞区内车辆数

车辆数 = V1*]]></description><category></category></item><item><title><![CDATA[[Delphi]海康威视视频监控录像机布防报警的示例代码]]></title><link>https://blog.youkuaiyun.com/BlueStorm/article/details/120510162</link><guid>https://blog.youkuaiyun.com/BlueStorm/article/details/120510162</guid><author>BlueStorm</author><pubDate>Mon, 27 Sep 2021 15:55:34 +0800</pubDate><description><![CDATA[HCNetSDK.pas由于太大，无法在这里粘贴，请到​​​​​​下列地址下载盒子论坛 v2.1http://bbs.2ccc.com/topic.asp?topicid=606222


unit uMain;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants,
  System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, ...]]></description><category></category></item><item><title><![CDATA[[Delphi]检查上网线路的DNS性能]]></title><link>https://blog.youkuaiyun.com/BlueStorm/article/details/119609028</link><guid>https://blog.youkuaiyun.com/BlueStorm/article/details/119609028</guid><author>BlueStorm</author><pubDate>Wed, 11 Aug 2021 16:25:31 +0800</pubDate><description><![CDATA[说明：近期发现某个电信运营商上网宽带的DNS服务的一个问题：DNS查询频率有限制。如果只是在家庭里面使用上网宽带，应该没有问题，但如果在单位里面使用，使用人数较多时，DNS查询频率会大于限制的频率，造成上网卡顿的问题。但遇到上网卡顿，但Ping又正常时，可以用此程序检查上网线路的DNS性能。需用上网线路所用的DNS服务器的ip地址替换上图中的DNS服务器ip地址。让查询次数达到1万次以上，看看有没有超时的现象。如果超时较多，就应该联系运营商解决了。

uMain.pas:


unit uMai...]]></description><category></category></item><item><title><![CDATA[【Delphi】用播放wav格式数据实现的Beep声音]]></title><link>https://blog.youkuaiyun.com/BlueStorm/article/details/118024346</link><guid>https://blog.youkuaiyun.com/BlueStorm/article/details/118024346</guid><author>BlueStorm</author><pubDate>Fri, 18 Jun 2021 13:36:12 +0800</pubDate><description><![CDATA[以前播放报警声，我都是使用Windows.Beep(Freq, Duration)，但这个Beep比较死板，播放声音时程序时停止的，知道声音播放完毕；另外两个连续的Beep，实际上属于
]]></description><category></category></item><item><title><![CDATA[达到群体免疫所需要的疫苗接种率的计算方法]]></title><link>https://blog.youkuaiyun.com/BlueStorm/article/details/117409336</link><guid>https://blog.youkuaiyun.com/BlueStorm/article/details/117409336</guid><author>BlueStorm</author><pubDate>Mon, 31 May 2021 09:32:48 +0800</pubDate><description><![CDATA[R0R0叫基本再生数，是指一个带病毒的人能够传染多少人。新冠病毒的R0测算有高有低，平均大概是3，就是一个人能传3个人左右
]]></description><category></category></item><item><title><![CDATA[【Delphi】 获取硬盘ID]]></title><link>https://blog.youkuaiyun.com/BlueStorm/article/details/115676898</link><guid>https://blog.youkuaiyun.com/BlueStorm/article/details/115676898</guid><author>BlueStorm</author><pubDate>Tue, 13 Apr 2021 19:55:50 +0800</pubDate><description><![CDATA[function GetHardDiskID: String;
const
  wbemFlagForwardOnly = $00000020;
var
  iValue: LongWord;
  oEnum : IEnumvariant;
  FWbemObject   : OLEVariant;
  FWbemObjectSet: OLEVariant;
  FWMIService   : OLEVariant;
  FSWbemLocator : OLEVariant;
begin;
  Resul.]]></description><category></category></item><item><title><![CDATA[【Delphi】使用Winapi.Security.Cryptography单元做3DES加解密的示例]]></title><link>https://blog.youkuaiyun.com/BlueStorm/article/details/115335254</link><guid>https://blog.youkuaiyun.com/BlueStorm/article/details/115335254</guid><author>BlueStorm</author><pubDate>Tue, 30 Mar 2021 20:38:51 +0800</pubDate><description><![CDATA[较新版本的Delphi提供了Winapi.Security.Cryptography单元。




unit Unit1;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants,
  System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs,
  Vcl.StdCtrls, Vcl.ComCtrls, Winapi.S]]></description><category></category></item><item><title><![CDATA[【Delphi】以高性能方式把线程信息显示在界面上的一个通用小框架【2023-08-05更新】]]></title><link>https://blog.youkuaiyun.com/BlueStorm/article/details/113107746</link><guid>https://blog.youkuaiyun.com/BlueStorm/article/details/113107746</guid><author>BlueStorm</author><pubDate>Mon, 25 Jan 2021 12:33:17 +0800</pubDate><description><![CDATA[Delphi通常使用TThread.Synclonize把线程信息显示到界面上，但由于此方法需与主界面同步，会拖慢线程的运行，如果显示的信息比较多或更新很快，对程序的性能会有比较大的影响。此框架使用PostMessage异步方式，最大程度地提高了程序的性能，并保证了信息显示的顺序]]></description><category></category></item><item><title><![CDATA[【Delphi】用indy写的Telnet客户端]]></title><link>https://blog.youkuaiyun.com/BlueStorm/article/details/112631991</link><guid>https://blog.youkuaiyun.com/BlueStorm/article/details/112631991</guid><author>BlueStorm</author><pubDate>Thu, 14 Jan 2021 19:47:52 +0800</pubDate><description><![CDATA[Unit1.pas：


unit Unit1;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants,
  System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs,
  Vcl.StdCtrls, Vcl.ComCtrls;

type
  TForm1 = class(TForm)
    Memo1: T...]]></description><category></category></item><item><title><![CDATA[【Delphi】运行程序时自动检查程序是否已经有一个实例在运行]]></title><link>https://blog.youkuaiyun.com/BlueStorm/article/details/112182368</link><guid>https://blog.youkuaiyun.com/BlueStorm/article/details/112182368</guid><author>BlueStorm</author><pubDate>Mon, 04 Jan 2021 15:58:42 +0800</pubDate><description><![CDATA[//uCheckAppRunning.pas：


unit uCheckAppRunning; //检查程序是否已经在运行，不允许运行多个实例

interface

uses
  System.SysUtils, System.Classes, Winapi.Windows, Vcl.Forms, Winapi.Messages,
  Vcl.ExtCtrls, Vcl.Menus, Vcl.Dialogs, Winapi.TlHelp32, Winapi.PsAPI;

type
  TShow...]]></description><category></category></item><item><title><![CDATA[【Delphi】实现程序关闭时自动先关闭线程【20210125更新】]]></title><link>https://blog.youkuaiyun.com/BlueStorm/article/details/110921061</link><guid>https://blog.youkuaiyun.com/BlueStorm/article/details/110921061</guid><author>BlueStorm</author><pubDate>Wed, 09 Dec 2020 13:50:50 +0800</pubDate><description><![CDATA[unit Unit1; //测试用

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants,
  System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs,
  uGernericThread;

type
//改为TTestThread = class(TThread)会报内存泄漏，证明线程没有自动释放
  TTes.]]></description><category></category></item></channel></rss>