- 博客(65)
- 资源 (15)
- 收藏
- 关注
原创 深度探索ChatGPT:如何进行专业提问以获取精确答案
在这篇文章中,我们将探讨如何充分利用ChatGPT进行专业交流。通过针对性的提问、使用专业术语、提供上下文背景以及利用结构化的提问方法,我们可以更好地与ChatGPT互动,并获得更深入、更专业的答案。如果你对提升与ChatGPT的交流能力感兴趣,不妨来阅读本篇博客,获取更多有用的策略和实用的案例!
2023-08-17 20:49:42
1350
1
原创 C# dictionary中键值对顺序问题
在项目中遇到一个BUG,发现是因为通过dictionary的Add方法,删除再添加键值对后,并不一定是添加到最后一个位置的,导致在遍历字典时,不能获取预期顺序的数据。当然,涉及到顺序问题使用dictionary是不友好的,最好是使用List;另外还有百度到的sorteddictionary可以使用,但是我的键(key)不合适.但是我代码已经基本完成,没时间进行大的修改了,如何处理呢?使用以下方法,新建一个字典对象,并将原有字典存储。然后需要用到的字典dic_Form重新new一下,重新逐个添加原有键
2022-04-06 17:26:58
2636
原创 VS2019中设计器不显示,只显示代码
在一次更新NUGET包后,Form设计器界面不显示了,只显示绿色的代码原来是因为我窗体有继承一个父窗体1.将父窗体类名字删除,保存。2.再重新将名字写上,保存。OK,设计器恢复使用不知道这是是不是VS2019的一个BUG。如果帮到了你,请点个赞吧...
2022-03-16 14:53:55
3274
原创 winform加载和关闭时事件执行顺序
一、以下是加载次序当 Windows Form 应用程序启动时,会以下列顺序引发主要表单的启动事件:System.Windows.Forms.Control.HandleCreatedSystem.Windows.Forms.Control.BindingContextChangedSystem.Windows.Forms.Form.LoadSystem.Windows.Forms.Control.VisibleChangedSystem.Windows.Forms.Form.Activated
2022-03-16 10:22:56
913
原创 winform多个子窗体参数保存以及重新加载的方法(C#)
背景:在winform设计中,会遇到一个主窗体对多个不同的子窗体的加载管理,其中一个要求是在重新打开软件加载原有的子窗体时,各个子窗体的用户参数能否重新加载。在网上没有找到成套的公开方案,于是自己做了一整套的方法。一、准备工作1.引用SettingsProviderNet或者直接安装其NUGET包2.创建窗体参数类FormPara,各个参数可以用不同的属性来表示,方便后续拓展。如果是多个类似的窗体,为方便拓展,也可以定义个接口,然后分别实现各个窗体子类二、获取各个子窗体参数1.在各个子窗体类中
2022-03-11 16:50:25
2910
原创 winform继承窗体后子窗体不能使用设计器显示的问题
winform继承窗体后子窗体不能使用设计器显示的问题针对这个问题:第一点:继承的父窗体类不能使用抽象类如果有抽象类即将抽象类改为普通类,需要实现的抽象方法改为虚方法第二点:屏蔽掉父窗体类的控件初始化方法,即//InitializeComponent();第三点:注意前两点修改完成后,关闭所有窗体,重新编译与网上百度到的跟平台有关系啊什么的毫无作用,目前使用的是VS2019如有疑问,欢迎留言讨论...
2022-03-02 17:40:09
1601
原创 winform控件tooltiptext不显示问题
注意使用的控件是否是toolstrip或者是menustrip等集合控件需要将整个控件的ShowItemsToolTips属性,设置为True,然后子控件才能显示对应的tooltip
2022-02-21 12:28:17
1353
原创 The designer cannot be shown because the document for it was never loaded.解决办法
VS工程打开后,打开UI设计界面时有时会出现这样的报错The designer cannot be shown because the document for it was never loaded自己很慌,以为代码丢了解决办法:1.关闭工程中打开的所有代码界面就是右上角这样的界面2.工程名称上方右键“clean”,我的界面英文的,中文应该是清理的意思3.工程名称右键“Build”一下4.重新打开UI界面,OK,问题解决啦!遇事不要慌,肯定有办法,如果这篇文章能帮到你给点个赞或者打赏一
2021-11-06 10:08:28
1907
1
原创 C#winform软件长时间运行后无响应问题解决
问题现象:软件长期运行后,再点击软件无响应,此时CPU占用率较高,只能通过任务管理器强行关闭解决过程:一、Dump文件存储1.首先保证C#工程版本编译后不要动,将生成的EXE拿去测试,复现问题;2.复现问题后,通过任务管理器右键存DUMP文件二、通过VS2019分析DUMP文件1.将DUMP文件放回到原来保存的工程中DEBUG目录下生成的EXE文件原有目录下(为了保证PDB文件和exe和dump同一目录)2.使用VS打开DUMP文件3.打开后直接点击右侧DEBUG后,关闭调试4.在solu
2021-10-27 11:23:44
7012
原创 使用stylecop 规范C#编码
可直接在VS操作完成,简单易懂第一步,打开VS第二步,安装软件第三步,规则修改第四步,规则生效stylecop 是代码静态检查分析的一大利器,可以自定义检查规则,安装操作使用方便,相信很多写C#的朋友都会使用的到下面详细介绍安装以及规则修改的使用步骤第一步,打开VS使用VS打开你所要检查的解决方案或者工程,我使用的是VS2019,打开后在右上角界面有个search输入框第二步,安装软件1.在search输入框中输入nuget,如下图所示选择manage nuget packges2.接着选择
2021-10-23 11:35:10
564
1
原创 如何在C#代码中找到高耗时的操作-UDP接收数据慢问题
办法:逐个屏蔽代码查找先屏蔽大的块,再逐步深入,我遇到的UDP接收不到数据的问题,不是因为接收部分产生了大的耗时,是因为上一次UDP收到后的写入文件操作耗时,导致影响到下一次切换到接收回调,现象就是,UDP收不到下一包数据,收不到下下包数据。。。。。...
2021-08-14 10:54:36
807
原创 面向对象堆栈理解
堆存对象,栈存变量如下图:1.对象有三个属性,地址,类型和值,对象存在堆(heap)中,2.变量存在栈中,不同变量可以指向同一个对象也可以指向多个不同对象
2021-04-24 19:04:45
221
原创 C#控件放置的顺序不对怎么办?
想把某个控件后放置,以改变该控件的大小等,可以直接将该控件剪切一下,然后重新粘贴,顺序就会是其他控件顺序之后了如果帮到你,请给点赞吧!!!
2021-03-23 16:07:53
416
原创 C#使用spitter控件分割左右两个panel并可拖动
C#用splitter分割窗口注意事项1、一定要按照顺序拖,即Z次序不能乱2、先拖panel1到from中,设置Dock为left3,拖splitter1到from中,注意千万不能拖到panel1上面,否则会失败!此时splitter1的Dock默认设置为left,设置BorderStyle为FixedSingle。4、拖panel2到from中,设置Dock为Fill即可一定要注意顺序,一定要注意添加的顺序!!!...
2021-02-25 12:31:23
2055
原创 C#限制Textbox文本框的输入内容
选择对应的textbox文本框在该textbox中,选择KeyPress 事件,双击创建一个事件对应的函数在函数中根据你的希望输入如下代码e.Handled = “0123456789ABCDEF\b”.IndexOf(char.ToUpper(e.KeyChar)) < 0;比如我希望要的是16进制的数字和删除按钮,其他的都不能输入你的问题解决了吗?解决了给我点个赞吧!...
2021-01-21 16:45:23
1410
原创 C#如何将textbox中的文本以16进制格式发送
首先认为textbox中的格式本身是HEX格式因为textbox的text属性本身是string类型,需要先将HEX转换成 string类型,传入到textbox.text当中,然后进行发送。假设我们要发送tbx1.Text中的数据转换代码: public static byte[] HexStr2Buf(string hexStr) { hexStr = hexStr.Replace(" ", ""); if ((hexStr.Length % 2)
2021-01-21 09:03:22
3214
原创 python 对列表实现山型排序
首先什么是山型排序,就是把一个列表做中间数值大,两边数值小的样子,假如这个序列如下:5, 1, 6, 2, 7, 14, 12, 19, 16, 30, 17, 27, 22, 26, 28, 31, 25如何排序呢,不多说,直接上代码,封装一个排序文件,定义好排序的类:class Bubble: #类标注 ''' 冒泡排序类 ''' def __init__(self): ''' 初始化函数 ''' pass def sort_from_big(self, lst):
2020-12-22 22:42:01
420
原创 print打印<class ‘__main__.CPU‘>
学习深拷贝浅拷贝相关内容时,想要将对象的地址都打印出来,查看拷贝后是否是同一个对象,代码如下:import copyclass MobilePhone: def __init__(self,cpu,screen): self.cpu = cpu self.screen = screenclass CPU: def caculate(self): print("算你个头") print("CPU对象:",self)c
2020-12-19 16:47:02
897
1
原创 打印__main__.Person object at 0x002CC550
在学习python特殊方法的重载时,遇到这个问题,就是想要打印的内容没打印出来,却打印出来了main.Person object at 0x002CC550 这么一串内容代码如下:class Person: def __init__(self,name): self.name = name def __add__(self, other): if isinstance(other,Person): print("{0}----{
2020-12-16 23:02:12
1210
1
原创 TypeError: __str__ returned non-string (type NoneType)
初学python以下代码报错标题中的错误:TypeError: str returned non-string (type NoneType)class Person: #基于object类 def __init__(self, name): self.name = name def __str__(self): print("名字是:{0}".format(self.name)) #str返回的用return,不能用print否则会报错s =
2020-12-15 23:07:42
2739
原创 python print打印时出现None
在学习python面向对象知识时,写了如下一行代码,发现在print时总是打印 None,找不出原因:class Employee: # def __init__(self, name, age): # self.name = name # self.age = age __company = "物联网" def __init__(self, name, age): self.name = name self.__a
2020-12-13 23:57:06
5994
2
原创 TypeError: object() takes no parameters解决方法
python学习中以下代码报错TypeError: object() takes no parameters这是初学者学习python时常犯的错误吧class Employee: def _init_(self, name, age): self.name = name self.age = agee = Employee("高老大", 28)print(e.name)print(e.age)就是init少了两个下划线,应该左边右边各两个下划线就能
2020-12-13 23:10:26
1075
原创 append 方法使用后返回 None
append 方法使用后返回 None如下代码:m = str1.append(str2)以上写法是错误的,应该直接写为:str1.append(str2)此时str1中已经增加了str2序列,不能赋值
2020-12-10 22:51:07
368
原创 TypeError: sort_from_big() missing 1 required positional argument: ‘list1‘
在学习python 类对象方面知识的时候,遇到以下错误:TypeError: sort_from_big() missing 1 required positional argument: ‘list1’class Bubble: def sort_from_big(self, list1): #从大到小排列,实例方法 return sorted(list1, reverse=True)m = Bubble()m.sort_from_big()以上代码,调用类的方法
2020-12-10 22:16:07
355
原创 python 函数注释出现 :expected an indented block
如下:def test01(n):‘’‘根据输入的n,打印多个字符 ‘’’print("*"*n)test01(10)help(test01.doc)第二行,函数在注释的时候,没有缩进,也会报错expected an indented block将函数文档字符串进行缩进后,不再报错,问题解决def test01(n):‘’‘根据输入的n,打印多个字符 ‘’’print("*"*n)...
2020-11-25 22:22:14
1669
原创 NOR FLASH 和 NAND FLASH异同
如上图,左边NAND FLASH ,右边 NOR FLASH1.共性A. 都是非易失存储介质。即掉电都不会丢失内容。B. 在写入前都需要擦除。实际上NOR Flash的一个bit可以从1变成0,而要从0变1就要擦除整块。NAND flash都需要擦除。2.特性特性是决定使用哪种Flash的根据,我这里总结出一张表:应用场景在PC和手机上我们都可以找到NOR和NAND Flash的身影。NOR FlashNOR Flash和普通的内存比较像的一点是他们都可以支持随机访问,这使它也具有.
2020-10-26 22:48:02
477
原创 C中如何打开stdio.h ? 如何找到printf的定义?
我是使用的Dev C++这个编译环境,然后写了如何代码#include <stdio.h>int CheckSystem(){ union check { int i; char ch; }c; c.i=1; return(c.ch==1);}int main(){ int a=0; a=CheckSystem(); printf("%d\n",a); return 0;}发现在以上代码块中选择printf函数,然后右键 goto定义,无法go
2020-10-25 23:20:20
2143
原创 C语言中逗号表达式的使用
转自某位大神c语言提供一种特殊的运算符,逗号运算符,优先级别最低,它将两式联接起来,如:(3+5,6+8)称为逗号表达式,其求解过程先表达式1,后表达式2,整个表达式值是表达式2的值,如:(3+5,6+8)的值是14,(a=35,a4)的值是60,原因在于赋值运算优先级高于逗号表达式。逗号表达式的要领:1.从左到右逐个计算;2.逗号表达式作为一个整体,它的值为最后一个表达式的值;逗号表达式的优先级别在所有运算符中最低。原文出处 https://blog.csdn.net/yqning123/
2020-10-25 10:46:46
2035
原创 C语言指针和数组a与&a,&a[0]等的区别
假如定义一个数组 int a[5]={1,2,3,4,5};a就代表这个数组变量需要记住的是 a等价于&a[0] 都是数组首个元素 a[0]的地址而&a是指的 a整个数组的首地址,虽然二者实际值一致但是代表含义是不同的a+1 表示的是 首个元素的地址加上一个元素的长度,一个元素的长度是一个int类型,也就是a+size of(int)&a+1表示的是整个数组的首地址,加上一个数组的长度,则是 &a+5*size of(int)假设定义一个int *类型的变量i
2020-10-25 10:25:18
1064
原创 C语言大小端模式判断函数
这是自己在DEV C++中编写的大小端模式判断函数,运行后a输出1,应该就是大端模式,但是具体判断原理不是很懂,还需要各位大佬指点迷津。今天是程序员节,祝所有的程序员们每天都有进步,早日住上大别墅,迎娶白富美!#include "stdio.h" int CheckSystem(){ union check { int i; char ch; }c; c.i=1; return(c.ch==1);}void main(){ int a=0; a=CheckSystem
2020-10-24 22:16:30
843
原创 char short int等类型变量在内存中占用字节数
如图,在DEV C++中直接编程,通过sizeof 关键字打印出各个变量类型所占用的字节数可以看到右侧输出结果与左侧代码的对应关系,即:char 1字节;short 2字节;int 4字节 ;long 4字节 ;float 4字节;double 8字节;以后忘记了可以在代码中直接通过sizeof关键字来查看...
2020-09-22 22:40:08
2964
1
原创 地址总线、数据总线、控制总线详细解释
摘自某位大神,共同学习三种总线的相关知识:其中地址总线通过CPU和内存的图示形式表示更方便理解记忆在地址总线和数据总线相同的前提下,32位CPU(数据总线为32位)的最大支持寻址空间为2^32,即最大支持4G内存。这样64位CPU理论最大支持的内存为(232)2 这样是个天文数字了...
2020-09-16 23:31:05
2251
原创 C运算符优先级记忆口诀
摘自网上某位大神,共同学习:初等单目一二级, // 初等运算符和单目运算符分别是第1、2优先级乘除求余加减移, // 这句里面的运算符全归为算术运算符,移表示移位关系等于不等于, // 关系运算符(< <= > >=)按位与来异或或, // 位运算符优先级顺序: & -> ^ -> |逻辑与或条件弱, // 逻辑运算符优先级顺序: && -> ||,后面跟着优先级比较低(弱)的条件运算符赋值逗号一点破。 // 赋值,逗号最低
2020-09-15 22:50:51
322
原创 存储容量与地址空间的计算
比如,告诉你某FLASH存储容量8MB,地址空间范围是m~0xFFFFFFFF,让求m先算出8M对应的16进制数,内存是按照字节编址的,8MB=810241024Byte=2^20*8=16^5 * 8;以上写成16进制数为 0x80 0000求mm=0xFFFFFFFF-0x800000+1=0xFFFFFFFF+1-0x800000=0xFF800000其他的题目,同以上一样的道理,可以算最高地址,也可以根据地址空间范围计算存储容量,还是相对简单的...
2020-09-07 22:38:42
11318
原创 Error: L6200E: Symbol keyflag multiply defined (by main.o and key.o).
Error: L6200E: Symbol keyflag multiply defined (by main.o and key.o).以上错误的主要原因很简单在key.h文件中定义了以下两个变量uint8_t keyflag=0;KEY_STATE keystate=KEY_DETECTED_STATE;并对这两个变量进行了初始化这是不允许的,应该在key.c中定义这两个变量并进行初始化,并在key.h中extern uint8_t keyflag;extern KEY_STATE k
2020-06-21 22:44:14
2873
原创 p[0]作为for循环的判断条件
有如下for循环的例子char s[]=“Hello”;char *p;for(p=s;p[0];++p){cout<<*p}关于上边一段代码,p[0]这个作为判断条件不是很理解大神给讲的是 for(初始操作;判断;判断后操作)其中第二个是判断条件,只要为真,for循环就要继续执行第一次,p=s赋值,则p[0]=s[0], p增长后,p[0]=s[1],后边继续p[0]=s[2],继续,当p[0]=s[6]的时候,此时碰到"\0" 则退出循环了当然p[0]=p=(
2020-06-03 22:25:47
494
原创 编码之前先保证你的硬件稳定连接!!!
最近调试代码时遇到很多坑而这些坑,大部分是硬件没有连接好,连接全等的因。因此给自己制定一条规则,在进行软件编码之前,先把硬件原理弄明白,并且保证硬件连接好,检查可靠,此时再进行编码调试有时因为硬件原因,代码反复调试,耽误非常多的时间,找到原因后又非常的懊悔!以上准则今日起实施时间就是金钱,各位同行请谨记!加油!...
2020-06-03 20:16:54
104
1
原创 SPI调试不成功很有可能是你线接错了!!
因为SPI接线错误,导致SPI调试一周不成功却找不到原因!正确的SPI接线如下:而我这边根据MOSI 和MISO英文意思潜意识认为MO接MI ,MI接MO ,线路接反,导致就是读不出来寄存器参数,各种找原因!!!最后找到原因后非常懊悔,白白浪费一周的时间总结:你潜意识里边认为是对的,不一定是对的,要多去检查,学习质疑自己默认就认为对的事情...
2020-05-18 08:36:29
2374
原创 STM32 SPI 读取数据不准确,只有第一次对,后边均不对
如题:SPI 读取数据不准确,只有第一次对,后边均不对后来发现是STM32 CubeMX把我坑了,我选择了SPI1 NSS功能,以后不能这么选,直接把NSS引脚设置为推挽输出,这样程序中好控制。因为我在CubeMX中把片选引脚初始化为SPI_NSS中了,后续我在代码中读写时对它进行拉高拉低操作不起作用,所以SPI仅在第一次读取数据时有效,其他时间均无效牢记,SPI初始化千万不要选CubeM...
2020-05-07 23:30:44
5355
5
原创 STM32 HAL库 SPI总是读出FF的问题解决!
使用STM32调试SPI时候,发现spi1读芯片总是读出FF1.排除硬件接线原因2.排除供电异常原因3.检查代码各种正确,找不到问题最后发现,原来是!在CubeMX当中,配置SPI时候,选择了NSS当时是这样选择上了,但是没有在SPI选项中使能硬件NSS!如上图,此处忘记使能选择下边这个,SPI引脚变为绿色,使能正常了,后来我发现,可能STM32CubeMX中显示绿色了才...
2020-04-28 23:10:40
8696
MQTT开源库 C#版本 MQTT服务器/客户端实现代码
2023-05-10
非常简单好用的C# TCP类库,强烈推荐
2023-05-07
C#设计模式例程大全,面向对象设计模式学习新手必备,超级有用
2023-05-07
类似于WIRESHAK的抓包软件,基于C#实现
2023-05-06
最快搭建MQTTBroker的软件
2022-06-30
C# 文档msdn.pdf
2021-10-20
HTTP协议.ppt
2020-01-22
GB-T17626.2-2006电磁兼容_试验和测量技术_静电放电抗扰度试验.pdf
2020-01-13
华为技术有限公司c语言编程规范.zip
2006-06-14
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人