自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(35)
  • 资源 (9)
  • 问答 (2)
  • 收藏
  • 关注

原创 【网络通讯】【DotNetty实现(四)】

介绍使用DotNetty实现网络通讯。

2024-07-15 17:47:21 883

原创 【网络通讯】【SuperSocket实现(三)】

介绍使用SuperSocket实现网络通讯(作为客户端,使用FixedHeaderReceiveFilter协议实现)。

2024-07-15 10:40:57 946

原创 【网络通讯】【Socket实现(二)】

介绍使用Socket实现网络通讯。

2024-07-11 14:22:13 335

原创 【网络通讯】【通讯协议(一)】

这里协定通讯协议。在自动化设备开发的场景下,因为项目时间紧,很多时候我们都是随便列一些字符串表示不同意思,就当是通讯协议了,但其实这样不好,一个是后期不好维护、后人不好接手,在开发过程中的变化不好追溯,同事也增加了莫名其妙BUG出现的概率,提高调试、维护成本。后面章节我们从代码上具体实现。

2024-07-11 10:11:27 998

原创 分享WPF的UI开源库

分享WPF的UI开源库,让你的界面更美观,开发效率更快。不积硅步,何以至千里。

2024-07-10 17:13:46 2842

原创 通过委托执行多个函数

但好处还不止这个,我们再发散下思维,每一步都可能错误,假设是通讯丢包出错,那我们再执行一次是不是就可能成功了?其中每一个的执行都有可能是失败的(比如真空表值异常、通讯失败等原因),失败后就要报警等待人工检查处理而不应该继续往下执行。关闭破真空-关闭吸真空-打开吸真空-延时200ms-处理其他逻辑-关闭吸真空-打开破真空-延时200ms-关闭破真空。好了,本文章就到这里了,具体区别,需要自己细细体悟,具体用法,需要举一反三。这样看,很明显,结构化的代码可读性是不是更加强了。

2024-07-10 15:29:28 376

原创 Git提交权限不足

Git使用的经验。通过使用SourceTree进行Git提交远程,失败提示权限不足原因,是因为有两个文件记录的还是上任已离职同事的账号密码,不匹配新开的Git库权限,然后可能由于电脑加域,文件加密等原因(未证明的猜测),无法通过Sourcetree自身软件去成功修改(多次尝试均无效),只能使用蠢办法手动删除(成功生效)

2024-07-04 11:04:20 455

原创 VS插件系列

介绍好用的VS插件

2024-07-04 09:00:13 179

原创 开源库-LiceCharts

WPF下的图标控件

2023-06-25 22:19:09 254

原创 【WPF系列】【MVVM】Prism开源框架学习(一)

这里先简单介绍下Prism是什么,怎么去学习,资料怎么获取。Prism是一个用于构建WPF、UWP和Xamarin应用程序的开源框架,它提供了一套MVVM(Model-View-ViewModel)的架构模式,以及一组工具和库,帮助开发人员更容易地创建可扩展、可维护和可测试的应用程序。事件聚合器:Prism提供了一个事件聚合器,可以使不同的ViewModel之间通信变得更加简单。开发人员可以使用该聚合器来订阅和发布事件,以便在应用程序中传递信息和执行操作。

2023-04-04 16:28:02 2657

原创 C#调用C++的方法

供应商提供的SDK可能就是C++的库,因为效率问题需要在C++中处理数据(C++运行效率更高),在实际的工作中,总有这样的场景出现,那么如何在C#中调用C++的接口呢?

2023-03-22 15:52:59 858

原创 设置C#线程/进程的优先级

关于设置C#线程/进程的优先级。

2023-03-17 10:02:13 2435

原创 【C#进阶系列】【MEF框架(四)】

在(一)已经对MEF作了基本的介绍,这里针对MEF的延迟加载、元数据作介绍。依赖倒置原则:高层模板不应该依赖于底层模板,两者应该依赖于抽象,而抽象不应该依赖于细节。

2023-02-18 17:51:40 609

原创 【C#进阶系列】【MEF框架(三)】

在(一)已经对MEF作了基本的介绍,前面都是介绍如何导出类,这里针对MEF如何导出方法、属性作一些补充。依赖倒置原则:高层模板不应该依赖于底层模板,两者应该依赖于抽象,而抽象不应该依赖于细节。

2023-02-18 14:14:18 633

原创 【C#进阶系列】【MEF框架(二)】

在(一)已经对MEF作了基本的介绍,这里针对MEF的导出[Export]和导入[Import]作一些补充。

2023-02-18 11:34:26 957

原创 【C#进阶系列】【MEF框架(一)】

这里对MEF作了基本的介绍,包括使用了一个特定场景(搞自动化运控上位机开发的应该更容易代入场景了),一步一步地介绍了如果从常用的编程过渡到框架性的编程开发。MEF,全称Managed Extensibility Framework(托管可扩展框架)。MEF是专门致力于解决扩展性问题的框架。MSDN:Managed Extensibility Framework 或 MEF 是一个用于创建可扩展的轻型应用程序的库。应用程序开发人员可利用该库发现并使用扩展,而无需进行配置。

2023-02-17 17:26:05 5283 1

原创 【WPF系列】【Adorner】

关于WPF系列Adorner的学习笔记。Adorner在WPF中的界面设计中很常见,它可以用来实现更加美观的界面视觉效果,也可以设计事件动态效果等等。Adorner,抽象基类,所有具有装饰器的实现都从该类继承;Adorner,是一种特殊类型的FrameworkElement,用于向用户提供可视化提示;Adorner,简单地说,就是WPF装饰器,作用是给WPF的控件上一层装饰效果;Adorner,是WPF窗口中独立的一层,支持在界面元素之上执行独立的绘制及用户交互;

2023-02-13 16:48:44 2174

原创 WPF父容器根据內部控件的拖拽自动扩展大小

我们写运动控制上位机程序的时候,经常是要考虑如何实现一个流程,我们要考虑,完成当前步骤后,下一个步骤要实现什么,判断条件,满足后的步骤是什么,不满足条件的步骤又是什么,或者需要一直等待条件满足才开始下一个步骤,也要考虑超时都不满足条件需要走另一个步骤,根据条件也有可能会跳转回原来的步骤,这些逻辑通常都是很繁琐的(使用if-elseif、switch-case),而且写好后再次修改时,容易漏改忘改等造成逻辑不稳定问题;这里,我们介绍一种全新的实现逻辑的方式:通过流程图的原理去实现这些业务性的繁琐的逻辑,实现。

2023-02-02 17:06:19 793

原创 【WPF属性笔记】【DataTrigger】

关于WPF属性DataTrigger的学习笔记。WPF中,根据数据的值不同,UI的界面随之改变(显示控件、隐藏控件以及改变控件的其他属性),这时我们可以用DataTrigger。

2023-01-30 15:00:56 3978

原创 【WPF属性笔记】【IsHitTestVisible】

关于WPF属性IsHitTestVisible的学习笔记。UIElement.IsHitTestVisble属性:获取或设置一个值,该值声明此元素是否可以作为其呈现内容的某部分的命中测试结果返回。这是一个依赖属性。通过设置HitTestVisble属性值为false,可以使界面元素不响应鼠标,鼠标事件也不会被触发通过设置HitTestVisble属性值为false,可以禁止所有的鼠标交互,包括控件的点击、通过鼠标点击给控件设置输入焦点等等,都是不起作用的。

2023-01-29 16:30:59 2090

原创 【C#学习笔记】【Abstract】

关于C#中抽象类(abstract)详解。abstract修饰符可用于类、方法、属性、索引和事件。abstract修饰符用于简单地概括一个不完整的内容(摘要)。常用于基类,由派生类来继承实现基类的抽象属性和方法。抽象类是对具有相同行为和特征的抽象,抽象类中的成员不会指定具体细节,一般再其派生类中去实现具体内容。在普通类前加上abstract修饰符即可标注为抽象类。如果一个普通类中对其成员使用了abstract修饰符,则该类必须修饰为抽象类。

2023-01-18 21:18:15 713

原创 【C#学习笔记】【Virtual】

关于C#中虚方法(virtual)详解,与之关联的接口(interface)已经有介绍了,还有抽象类(abstract)和多态我们将在后面的文章中再作详细讲解。当有一个定义在类中的函数需要在继承类中实现时,可以使用虚方法(virtual);

2023-01-18 15:00:27 451

原创 【C#学习笔记】【GUID】

关于GUID的介绍。GUID(全局同意标识符)是指在一台机器上生成的数字,它保证对在同一时空中的所有机器都是唯一的。通常平台会提供生成GUID的API。生成算法很有意思,用到了以太网卡地址、纳米级时间、芯片ID码和许多可能的数字。GUID的唯一缺陷在于生成的结果串会比较大。一个GUID为一个128位的整数(16字节),总数量达2^128 (3.4X10^38)个,在使用唯一标识符的情况下,你可以在所有计算机和网咯之间使用这一整数。

2023-01-18 14:21:12 3658

原创 【C#学习笔记】【Interface】

在C#的编程中,类是我们每天都会接触到的,但是对于初学者来说,接口就比较陌生了,也许入门学习时有学过,但是经过工作实践,部分新人就会发现,基本不会去用到接口,但是看大神源码,又是处处都有影踪,那么接口到底是什么呢?接下来学习接口(Interface)的概念,接口是什么,怎么使用接口,重点是为什么要使用接口。

2023-01-17 23:54:16 306

原创 【C#学习笔记】【Attribute】

学习特性的使用,包括对.Net自带的三种预定义特性:Obsolete、Conditional、AttributeUsag的详细讲解,也列举了常用的特性,其中包括控件设计时要用到的一系列特性,最后介绍了如何进行自定义特性(仅以枚举作为示例)。

2023-01-16 15:50:48 274

原创 WPF下实现控件的拖拽功能

我们写运动控制上位机程序的时候,经常是要考虑如何实现一个流程,我们要考虑,完成当前步骤后,下一个步骤要实现什么,判断条件,满足后的步骤是什么,不满足条件的步骤又是什么,或者需要一直等待条件满足才开始下一个步骤,也要考虑超时都不满足条件需要走另一个步骤,根据条件也有可能会跳转回原来的步骤,这些逻辑通常都是很繁琐的(使用if-elseif、switch-case),而且写好后再次修改时,容易漏改忘改等造成逻辑不稳定问题;这里,我们介绍一种全新的实现逻辑的方式:通过流程图的原理去实现这些业务性的繁琐的逻辑。

2023-01-12 11:05:37 6704 2

原创 SMEMA标准协议

SMEMA标准协议

2023-01-06 18:00:59 17339

原创 WPF 学习笔记之图片加载问题

针对WPF无法加载图片的问题

2022-12-27 09:49:39 1775

原创 让工控机通过笔记本的Wifi实现上网

让工控机通过笔记本的Wifi实现上网在工业自动化行业中,设备中的工控机基本都是不配置无线网卡的,且设备放在车间,远离网络端口无法实现有线上网,这时候就需要通过笔记本的Wifi实现上网操作,当然实际应用场景不至于此,接下来本文就介绍了如何让工控机通过笔记本的Wifi实现上网的攻略,简单有用。

2022-12-20 18:05:29 5948 4

原创 Git删除已提交记录内容

Git删除已提交记录内容

2022-12-18 15:51:22 4826

原创 Git合并

记录Git合并时遇到的问题、如何解决的具体做法

2022-12-18 15:47:31 276

原创 Synergy配置说明

Synergy 这是一款能够让使用者仅用一套键盘鼠标,就同时操控多部计算机的免费工具软件。使用者能够在包括 Windows 、 Linux 、 Mac OS 等不同的系统上安装它,并且在设定好主从关系后,就能够通过一套键盘鼠标来进行多部计算机的操控

2022-12-18 14:55:29 2652 1

原创 【C#学习笔记】【StackTrace】

StackTrace的介绍和使用、追溯函数堆栈信息、文件信息、代码行数信息;内涵示例源码

2021-12-07 13:55:04 2249

原创 Markdown编辑器使用示例

欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I

2020-03-18 09:17:54 169 1

原创 Java学习笔记(一)安装JDK及第一个Java程序

Java学习笔记(一)安装JDK及第一个Java程序1.JDK的全称是Java Development Kit,即Java标准版开发包,其中包括Java编译器、Java运行环境(JRE)、Java类库等。JDK上网百度可找到。开始安装,进入如图所示窗口其中,开发工具包括编译Java程序必须的命令工具;源代码会安装Java所以核心类库的源代码;公共JRE无须安装,因为

2015-09-05 22:40:52 492

WPF实现的图表化控件

WPF实现的图表化控件(VS2022 Net6.0环境可直接编译运行)

2023-06-17

MEF插件框架学习展示(源代码)(一)

MEF(Managed Extensibility Framework),是轻量级的插件框架。使用简单,功能强大。 通过一个简单实际应用场景,一步一步教你过一遍整个流程,为什么要用MEF?怎么用MEF?用MEF的好处是什么? 在这里,全都获取体验! 具体请参考本博客文章!

2023-02-17

绝对编码器的读取(C#代码示例、文档说明)

适用于自动化设备上位机开发-控制轴的功能部分 包含汇川、禾川、松下三种品牌 有C#代码示例参考 (后续有其他的再更新)

2023-02-14

WPF中Adorner的各种应用实例

关于WPF系列Adorner的学习笔记。Adorner在WPF中的界面设计中很常见,它可以用来实现更加美观的界面视觉效果,也可以设计事件动态效果等等。 1.在界面元素上提供视觉效果,以提示用户当前元素处于特定状态。 2.从视觉上遮盖或重写UIElement的一部分或全部 3.向UIElement添加功能控点,使用户可以操作元素(调整大小、旋转、重新定位等) 4.作为控件的附加属性来控制控件外观显示的变化 具体请参考本博客文章!

2023-02-13

基于流程图实现无代码编程业务逻辑(2)

我们写运动控制上位机程序的时候,经常是要考虑如何实现一个流程,我们要考虑,完成当前步骤后,下一个步骤要实现什么,判断条件,满足后的步骤是什么,不满足条件的步骤又是什么,或者需要一直等待条件满足才开始下一个步骤,也要考虑超时都不满足条件需要走另一个步骤,根据条件也有可能会跳转回原来的步骤,这些逻辑通常都是很繁琐的(使用if-elseif、switch-case),而且写好后再次修改时,容易漏改忘改等造成逻辑不稳定问题;这里,我们介绍一种全新的实现逻辑的方式:通过流程图的原理去实现这些业务性的繁琐的逻辑,实现**逻辑可视化,编程拖拉拽**。 前面我们已经实现了第一步,完成了控件的拖拉拽,但还有以下问题点当时是没有优化的,也是为了突出强调"拖拉拽"功能的实现,接下来是完善以下功能的实现:控件只能放进指定的容器内,只能在容器内部移动,容器有默认的大小,超出大小容器要自动扩展; 具体请参考本博客文章!

2023-02-02

基于流程图实现无代码编程业务逻辑(1)

我们写运动控制上位机程序的时候,经常是要考虑如何实现一个流程,我们要考虑,完成当前步骤后,下一个步骤要实现什么,判断条件,满足后的步骤是什么,不满足条件的步骤又是什么,或者需要一直等待条件满足才开始下一个步骤,也要考虑超时都不满足条件需要走另一个步骤,根据条件也有可能会跳转回原来的步骤,这些逻辑通常都是很繁琐的(使用if-elseif、switch-case),而且写好后再次修改时,容易漏改忘改等造成逻辑不稳定问题;这里,我们介绍一种全新的实现逻辑的方式:通过流程图的原理去实现这些业务性的繁琐的逻辑,实现**逻辑可视化,编程拖拉拽**。 首先,我们先实现第一步,WPF中的控件,实现流程图样式,可拖拽流程图控件出来到画布上,在画布上可自由拉拽到新的位置,实现逻辑可视化排布。 具体请参考本博客文章!

2023-01-12

Synergy:在多台计算机上实现键盘鼠标共享

Synergy 这是一款能够让使用者仅用一套键盘鼠标,就同时操控多部计算机的免费工具软件。使用者能够在包括 Windows 、 Linux 、 Mac OS 等不同的系统上安装它,并且在设定好主从关系后,就能够通过一套键盘鼠标来进行多部计算机的操控;(内部包含安装包以及配置文档说明)

2022-12-18

TestForm.zip

StackTrace的使用

2021-12-07

C#中国象棋(源代码)

C#中国象棋, 使用C#语言开发的一款中国象棋游戏,压缩包是一个C#项目,可以用VS打开直接运行,仅供学习、参考使用

2017-12-08

C/C++ 函数库

C/C++ 函数库

2016-03-23

深度探索C++对象模型

深度探索C++对象模型 带书签目录高清版

2016-03-23

STL源码剖析

STL源码剖析 带目录书签高清版

2016-03-23

Effective C++中文 [ 第3版 ]

Effective C++中文 [ 第3版 ] 带目录书签高清版

2016-03-23

软件工程(原书第9版)高清完整PDF版

软件工程是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。它涉及程序设计语言、数据库、软件开发工具、系统平台、标准、设计模式等方面。 本书是软件工程领域的经典教材。全书由5篇16章构成,第1篇第1、2章讲述软件工程与软件过程;第2篇讲述传统方法学第3~5章,包括结构化分析、设计与实现;第3篇讲述面向对象方法学第6~10章,包括面向对象的概念、模型、分析、设计、实现,同时介绍了统一建模语言UML;第4篇讲述软件项目管理第11~14章,包括软件项目的计划、组织和控制,软件维护与软件文档;第5篇讲述软件工程的高级课题第15、16章,包括形式化方法和软件重用。    本书内容新颖、实例丰富,可以作为高等院校“软件工程”课程的教材或教学参考书,也可以供程序员、软件测试工程师、系统工程师以及软件项目经理等相关人员阅读参考。

2016-03-21

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

TA关注的人

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