自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 资源 (45)
  • 收藏
  • 关注

原创 C#表达式求值算法(干货)

在讲述算法之前,我们需要先学习几个概念。中缀表示法中缀表示法就是我们人书写表达式的方法,如8/4+3*(6-2)。后缀表示法后缀表示法是从中缀表示法转化过来的,它满足以下条件:(1)操作数的顺序与中缀表达式一致。(2)没有括号。(3)操作符没有优先级之分。例如上面的表达式,其后缀形式是:84/362-*+后缀表达式的特点对计算机计算非常有利。二元运算符需...

2019-06-27 15:07:43 4001 3

原创 工控软件装机常规设置

一般在工控机上安装软件之后,我们需要对工控机进行一些设置,例如是开机启动、禁用睡眠等。如果我们每台工控机都重复这些动作,难免会比较繁琐,有时也会忘记。最好,我们把这些设置动作,放在软件初次启动的代码里,或是在安装的过程中。设置开机启动设置开机启动需要修改注册表,代码如下:RegistryKey root = Registry.CurrentUser;RegistryKey run ...

2019-06-27 08:45:57 1559

原创 坐标轴刻度取值算法

我们在用代码绘制图表的时候,需要绘制坐标轴,而坐标轴上是有刻度的。假如数据最小值是0.32,最大值是0.65,我们想坐标轴上有11个刻度左右,那是不是每个刻度的间隔就是(0.65-0.32)/10=0.033呢?这样做出来的刻度是这样的:0.32 0.353 0.386 0.419 0.452 0.485 0.518 0.551 0.584 0.617 0.65Oh my god! 这样的...

2019-06-13 16:35:33 6988 2

原创 绘制等高线图的算法

假设我们在一个矩形范围内,有一些离散的高度数据,形如(x,y,height)这样的数据集,然后我们要得到一张这样的等高线图:我们描述一下生成等高线图的算法。一、图形概述实际地图上实用的单位是米,但我们显示时使用的单位是像素,这里面有一个转换的关系。而且,显示的图形有可能需要缩放。所以我们收集的数据,x和y统一使用相对值。我们把总长和总宽都定为1,实际的坐标相对于单位1来定。例如地图...

2019-06-12 11:14:52 17628 17

原创 创建同时基于.NET Framework、.NET Core、.NET Standard项目的方法

如果我们开发Windows用户程序(WPF、Winform),我们会用到.NET Framework。如果我们要做跨平台的应用,我们会用到.NET Core。既然是跨平台,是不是.NET Core的项目可以用在WPF上呢?并不可以,.NET Core没有Windows的特性,不能直接用在WPF上。但实际上,我们开发的一些类库,并不涉及到Windows特性,例如我们只是实现某些算法,纯数学的...

2019-06-06 10:34:08 5383

原创 机器码、序列号、认证码、注册码的生成算法(五)

生成注册码(对称加密)非对称加密自然是要更安全的,因为软件里没有私钥。但该方法最大的缺点就是密钥太长,注册码太长,无法手抄。鉴于我们假设破解者是无法对软件反编译的,使用对称加密也未尝不可。流程跟上一节提到的基本一致。加密方法可以使用DES,密钥最短是64位,也就是16个字符。明文信息最长是7个字节,我们用4个字节存放机器码(相当于一个int),然后剩下的三个字节存放过期信息。下面是实现...

2019-06-06 08:56:43 8704

原创 机器码、序列号、认证码、注册码的生成算法(四)

生成注册码(非对称加解密)我们再列出几种生成注册码的情况:(1)软件生成一个机器码,交给开发者,开发者提供一个注册码。(2)把用户名交给开发者,开发者提供一个注册码。(3)直接向开发者索取一个注册码。在算法上,这几种情况并无太大区别。如果我们有一个原始的码(机器码或用户名),我们把它设为x,那么注册码就是x的一个函数y=f(x)。如果是第三种情况,那么x可能是一个随机数(也可能...

2019-06-06 08:44:32 11242

转载 C#多线程编程:使用并发集合

原文链接:https://www.cnblogs.com/wyt007/p/9486752.html编程需要对基本的数据结构和算法有所了解。程序员为并发情况选择最合适的数据结构,那就需要知道很多事情,例如算法运行时间、空间复杂度,以及大写0标记法等。在不同的广为人知的场景中,我们总知道哪种数据结构更高效。对于并行计算,我们需要使用适当的数据结构。这些数据结构具备可伸缩性,尽可能地避免锁,同时...

2019-06-05 19:37:39 4318

转载 C#多线程编程:使用C#5.0

原文链接:https://www.cnblogs.com/wyt007/p/9486752.html到现在为止,我们学习了任务并行库,这是微软提供的最新的异步编程基础设施。它允许我们以模块化的方式设计程序,来组合不同的异步操作。遗憾的是,当阅读此类程序时仍然非常难理解程序的实际执行顺序。在大型程序中将会有许多相互依赖的任务和后续操作,用于运行其他后续操作的后续操作,处理异常的后续操作,并且它...

2019-06-05 19:27:19 450

转载 C#多线程编程:使用任务并行库

原文链接:https://www.cnblogs.com/wyt007/p/9486752.html我们在之前的章节中学习了什么是线程,如何使用线程,以及为什么需要线程池。使用线程池可以使我们在减少并行度花销时节省操作系统资源。我们可以认为线程池是一个抽象层,其向程序员隐藏了使用线程的细节,使我们专心处理程序逻辑,而不是各种线程,问题。然而使用线程池也相当复杂。从线程池的工作线程中获取结果并...

2019-06-05 19:09:05 640

转载 C#多线程编程:使用线程池

原文链接:https://www.cnblogs.com/wyt007/p/9486752.html在之前的章节中我们讨论了创建线程和线程协作的几种方式。现在考虑另一种情况,即只花费极少的时间来完成创建很多异步操作。创建线程是昂贵的操作,所以为每个短暂的异步操作创建线程会产生显著的开销。为了解决该问题,有一个常用的方式叫做池( pooling),线程池可以成功地适应于任何需要大量短暂的开销大...

2019-06-05 18:51:24 664

转载 C#多线程编程:线程同步

原文链接:https://www.cnblogs.com/wyt007/p/9486752.html正如前面所看到的一样,多个线程同时使用共享对象会造成很多问题。同步这些线程使得对共享对象的操作能够以正确的顺序执行是非常重要的。在使用C#中的lock关键字,我们遇到了一个叫作竞争条件的问题。导致这问题的原因是多线程的执行并没有正确同步。当一个线程执行递增和递减操作时,其他线程需要依次等待。这种...

2019-06-05 18:35:58 4070 1

转载 C#多线程编程:线程基础

原文链接:https://www.cnblogs.com/wyt007/p/9486752.html创建线程static void Main(string[] args){ Thread t = new Thread(PrintNumbers); t.Start();//线程开始执行 PrintNumbers(); Console.ReadKey();...

2019-06-05 17:38:48 968

原创 机器码、序列号、认证码、注册码的生成算法(三)

机器码生成如果我们希望注册码只能在一台电脑上使用,那就需要生成一个机器码。把机器码交给开发者,开发者经过一系列的运算之后,返回一个注册码。这个注册码已经包含了机器信息,只能用在一台电脑上。机器码可以从很多硬件信息上得到,例如是MAC地址、磁盘ID、CUP序列号等。但这些信息有几个问题:(1)不一定唯一,很多同个型号的电脑,硬件信息都是一样的。(2)不一定存在。例如没有网卡,MAC地...

2019-06-05 15:44:32 14131

原创 机器码、序列号、认证码、注册码的生成算法(二)

设备动态密码设计我们再把需求列出来:(1)密码只能是阿拉伯数字,而且不能太长,一般要求10位以下,否则记不住,或让人感觉厌烦。(2)密码包含用户信息,系统能知道是谁对设备进行了操作。(3)密码是动态的,每次都不一样。(4)密码能够防止恶意篡改。说白了,就是密码里包含用户信息、时间信息,校验信息,但只能有8个阿拉伯数字。这是可以做到的,为什么?因为我最后做出来了。好,我们...

2019-06-05 15:26:22 7343

原创 机器码、序列号、认证码、注册码的生成算法(一)

虽然标题列出了很多种“码”,但其实有些是一个意思,只是叫法不一样而已。我所介绍的算法也不是说绝对严谨、不能破解的,它们只是适用于某些场合而已。举个例子,我现在想设计一个长度是24个字符的注册码,但如果你用比较安全的RSA算法来做的话,可能你要用到1024个字节,转成Base64也有170个字符。又比如,认证码的用户都是体力劳动者,但你非要做得顶级黑客都无法攻破,感觉就没有意义了。以下所说的几种认证...

2019-06-05 15:05:32 23216

云图(等高线图)绘制算法源码

介绍三种绘制云图或等高线图的算法。点距离反比插值、双线性插值和面距离反比+双线性插值。

2019-04-26

WPF MVVM完整示例(登录窗口)

包含了在MVVM模式下的数据绑定、命令和事件、PasswordBox的绑定、RadioButton等一对多控件的绑定、关闭窗口和打开新窗口和数据验证等内容。

2019-03-29

C#实现4种经典迷宫生成算法和迷宫寻路算法

C#实现4种经典迷宫生成算法和迷宫寻路算法,4种经典的迷宫生成算法是:(1)使用并查集算法生成,(2)使用深度优先算法生成,(3)使用随机算法生成,(4)使用递归切割算法,而迷宫寻路使用A*算法。

2018-12-05

象棋五子棋AI源代码(C#)

象棋和五子棋的AI源代码,用C#写的,可运行。战力还可以。

2018-11-26

用HTML5写的五子棋游戏

比较简单地实现了五子棋游戏,两人轮流下,判断胜负。

2018-10-11

用HTML5写的俄罗斯方块游戏

用HTML5写的俄罗斯方块游戏,支持键盘上下左右移动和旋转。

2018-10-11

工控机网络通信工具类

工控机网络通信工具类,包括跟平台连接、跟仪器连接。

2018-09-06

C#表达式运算类

能进行以下运算:四则运算、乘方开方、三角函数、逻辑运算。

2018-09-05

WPF报表控件(表格和图表)

用WPF做的报表控件,小巧但实用。能够自定义表头,导出Excel表格和打印。

2018-09-05

应用程序守护程序

监测需要保护的程序,保证程序在运行状态,如果程序退出,则会自动启动程序。有源代码。

2018-09-05

WPF带水印的输入框

WPF做的带有水印的TextBox。内容为空时出现浅灰色文字。有源代码。

2018-09-05

WPF日期时间控件

WPF日期时间控件,可选择日期和时间。日期时间格式自定义,用yyyy-MM-dd HH:mm:ss这样的字符串定义格式。有源代码。

2018-09-05

Visual C++编程的语音合成程序

使用Visaul C++编程,使用Speech SDK中的语音合成技术,有源代码

2009-01-03

Visual C++编写的屏幕捕抓程序

使用Visual C++编写,可以捕抓屏幕并保存到剪贴板,有源代码

2009-01-03

Visual C++编写的播放动画程序

使用Visual C++编写,有源代码,播放AVI动画

2009-01-03

Visual C++编写的CD播放器

使用Visual C++编写,有源代码,播放光驱中CD中的歌曲

2009-01-03

Visual C++编写的万年历

用Visual C++编写,有源代码,使用方便,可查询史后的所用日期。

2009-01-02

使用Visual C++编写的备忘录

可以设置每天提示自己一些事情,用Visual C++编写,有源代码。其中包含了一些时间的获取方法。

2009-01-02

基于Visual C++的黑白棋游戏源代码

基于Visual C++ MFC,有网络功能、人机对战功能,使用方便,较智能

2008-12-21

基于Visual C++的象棋游戏源代码

使用Visual C++ MFC编写,有源代码,使用方便,并且有网络功能,人机对战功能

2008-12-21

组态软件开发脚本功能Demo

在组态软件中开发脚本功能,使用C#(WPF)语言开发,脚本语言也是C#。实现了读取外部数据以及改变可视化元素。

2023-06-07

汉字拼音对照表(6700字)

几乎包含所有可能会用到的汉字。拼音有声调。多音字列出了所有拼音。

2023-05-06

方程求解源代码,一元二次方程,一元三次方程,一元四次方程

方程求解源代码,包括一元二次方程,一元三次方程,一元四次方程。使用求根公式进行求解,解为复数解,二次方程总是有两个解,三次方程总是有三个解,四次方程总是有四个解。如果只需要实数解,可判断虚部是否为0。

2022-08-09

格式化html文本转svg文本源代码

格式化的HTML文本转换成SVG文本源代码。利用contenteditable属性,div标签里的文本将可以编辑。借助execCommand,div标签的字体样式可以动态调整。源代码中包含了计算HTML文本结构、判断换行等功能,生成跟HTML所见一模一样的SVG文本。

2022-07-28

C#绘制三维云图源代码和测试项目

C#绘制三维(3D)云图,包含完整VS项目工程、源代码和测试数据,可直接运行看效果。

2022-06-27

编译原理(紫龙书)中文第2版习题答案

编译原理(紫龙书)中文第2版习题答案。覆盖和解析都比较全面。

2022-06-06

C#实现的一元四次方程求解源代码

C#实现的一元四次方程求解源代码,对一元四次方程ax^4+bx^3+cx^2+dx+e=0进行求解。

2022-06-02

C#实现的树形图控件源码

C#实现的树形图算法,能够定制大量树形结构的图。包含WPF示例程序,能够直接运行。算法大致为,指定每个元素的宽高,元素与元素的间距、层与层的间距,然后计算出每个元素的位置。

2022-06-02

C#实现的云图算法(源代码、示例程序)

使用C#语言实现的云图算法(源代码),包含使用WPF写的示例程序,可直接运行看效果。

2022-06-02

热力图算法实现(C#、包含源码、示例)

使用C#语言实现的热力图算法,有WPF示例程序,可直接运行看效果。

2022-06-02

虚拟Modbus协议设备软件

类似于Modbus Slave但更强大的虚拟设备软件。 1、支持Modbus-RTU、Modbus-TCP协议。 2、支持串口、TCP、UDP等连接方式。 3、数据可以随机变化。 4、支持自定义设备通信协议,也就是不一定是Modbus协议。 5、支持多设备共用串口,任意从机地址都能回复。 运行软件需要先安装.NET6。

2022-06-02

BP神经网络基本架构实现(源代码)

实现了BP神经网络的基本结构,是学习神经网络很好的示例程序,包括以下内容: 1、输入层、输出层、隐含层。 2、可以解决分类问题和回归问题两大问题。 3、多种激活函数、输出函数和损失函数可供选择。 4、实现了梯度下降方法。

2022-06-02

DLMS通信协议OBIS编码和DL645编码

包含两部分内容: 1、DLMS通信协议OBIS编码 2、DL645电能表通信协议编码

2022-05-27

OpenCvSharp测试程序DEMO

OpenCvSharp是一个C#对OpenCV的封装。本测试程序是一个WPF项目,提供众多数字图像处理的示例代码,包括图像平滑、边缘检测、二值化、区域分割、滤波等。

2020-05-06

.NET Core WebSocket示例

ASP.NET Core Web应用程序,包含服务端和客户端的示例代码(js)。

2019-09-29

最小圆覆盖算法(C#)

C#实现的最小圆覆盖算法。给定一个点(x,y)的列表,返回圆心坐标和半径。

2019-07-09

坐标轴刻度取值算法完整代码

坐标轴刻度取值算法完整代码,生成比较优雅和人性化的刻度。

2019-06-13

等高线图算法完整代码(C#)

使用C#对等高线图算法(Marching squares)的完整实现代码。

2019-06-12

C#编写的矩阵类,包含矩阵一般的操作

用C#写的矩阵类,包含矩阵的四则运算、叉乘、转置、行列式、逆矩阵、卷积等。

2019-06-06

WPF高性能绘图的方法

WPF高性能绘图的方法,使用WriteableBitmap对象,介绍使用GDI+绘制图形和操作像素的两种方法。

2019-05-06

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除