- 博客(16)
- 资源 (8)
- 收藏
- 关注
原创 C++简单写日志
void WriteLog(char * szLog){ SYSTEMTIME st; GetLocalTime(&st); FILE *fp; fp=fopen("D:\\log.txt","at"); fprintf(fp,"MyLogInfo: %d:%d:%d:%d ",st.wHour,st.wMinute,st.wS.
2021-08-12 13:11:38
246
原创 C# 延时执行方式
Thread.Sleep的调用阻塞了UI线程。所以需要异步等待。//方法1:使用DispatcherTimertbkLabel.Text = "two seconds delay";var timer = new DispatcherTimer { Interval = TimeSpan.FromSeconds(2) };timer.Start();timer.Tick += (sender, args) => { timer.Stop();
2021-05-15 10:03:43
5701
原创 C# 程序代码指定引用DLL目录(winform,wpf)
WPF:在App.xaml.cs文件中加入,如下代码即可指定引用Libs文件下的dll: public App() { AppDomain.CurrentDomain.SetData("PRIVATE_BINPATH", "Libs;"); AppDomain.CurrentDomain.SetData("BINPATH_PROBE_ONLY", "Libs;"); var method =...
2021-03-25 11:04:14
3207
1
原创 模拟量的输入和输出问题及选型
1.选择模块时应注意模拟量有电压和电流之分。有一个项目中用到了一个室温测量的小程序。看手册选择了S7-224 XP CPU,本体带两路模拟量输入,满足要求。采购变送器时没做要求,厂家发货全是0-20MA电流型的。接线时才发现本体上的模拟量输入是0-10V电压型的。要么并电阻,要么换货,最后换货了。2.模拟采集也需要考虑速度。做一个碰撞压力采集的项目。要求在物体碰撞时检测最大压力值,并将其记录。有了一定的经验了,选型时注意了信号类型。但却忽视了一个问题:PLC模拟量的采集频率是与程序扫描周期有关的,也就
2021-01-05 10:09:53
4835
原创 WPF TemplateBinding与Binding区别
WPF Template TemplateBinding与Binding区别1:TemplateBinding只是单方向的数据绑定2:TemplateBinding不会自动转换数据类型Binding与Binding区别<Trigger Property="IsMouseOver" Value="True"> <Setter TargetName="img" Property="Source" Value="{Binding RelativeSource={Relati..
2021-01-04 11:03:20
1271
2
原创 C# BitArray转换成int类型几种方式
通过位运算解决:public static int BitToIntOne(BitArray bit){ int res = 0; for (int i = bit.Count - 1; i >= 0; i--) { res = bit[i] ? res + (1 << i) : res; } return res;}public static int BitArra
2020-11-24 09:12:26
1667
原创 C# CAN信号解析算法
CAN信号值解析本文提供一种可以解析CAN信号各信号值的一种方法并进行说明。一般情况下,高端一点的设备会计算每一个信号的值,但是接受到CAN信号的报文实际上有各种情况,如何通过设定的起始位和数据长度来获取某一信号的值,详情请参考,本文方法比较笨拙,如有更好的办法,欢迎指教。假设,我们获取到的数据长度为8byte,即DLC为8。CAN Matrix表格如下:我们约定,一种表示信号的方式如下:lsb起始位 数据长度按照上面的图来说,该信号起始位为40,长度为10。所以,该信号表示
2020-11-17 09:21:33
4499
1
原创 c# Double、float类型
float是单精度类型,精度是6位有效数字,取值范围是10的-38次方到10的38次方,float占用4个字节的存储空间 double是双精度类型,精度是15位有效数字,取值范围是10的-308次方到10的308次方,double占用8个字节的存储空间 当你不声明的时候,默认小数都用double来表示,所以如果要用float的话,则应该在其后加上f 例如:float a=1.3; 则会提示不能将double转化成float 这成为窄型转化 如果要用float来修饰的话,则应该使用float a.
2020-11-02 09:16:16
3450
转载 C#高精度定时器实现(转摘)
C#高精度定时器实现(转摘)1 背景.NET Framework 提供了四种定时器,然而其精度都不高(一般情况下 15ms 左右),难以满足一些场景下的需求。在进行媒体播放、绘制动画、性能分析以及和硬件交互时,可能需要 10ms 以下精度的定时器。这里不讨论这种需求是否合理,它是确实存在的问题,也有相当多的地方在讨论,说明这是一个切实的需求。然而,实现它并不是一件轻松的事情。这里并不涉及内核驱动层面的定时器,只分析在 .NET 托管环境下应用层面的高精度定时器实现。Windows 不是实
2020-09-17 14:26:20
4378
原创 WPF DataTemplate 数据模板例子及注意使用
DataTemplate 就是数据模板,用来指定数据的表现形式。如下:主控件:ScrollViewer.HorizontalScrollBarVisibility="Disabled" item可实现自动换行 <ListBox ScrollViewer.HorizontalScrollBarVisibility="Disabled" Margin="10,0,10,10" Grid.Row="1" ItemTemplate="{DynamicResource I..
2020-08-20 14:46:54
1222
原创 bootstrap-table 实现表格增删改查,增加行操作
bootstrap、bootstrap-table官网:http://bootstrap-table.wenzhixin.net.cn/documentation/分页、增删改查<!DOCTYPE html><%@ page language="java" pageEncoding="utf-8" %><% String path = requ...
2020-08-20 14:35:15
3955
原创 WPF 虚拟键盘
WPF 虚拟键盘效果:键盘,放大缩小,键位大小及字体自适应大小背景 Windows 提供了一个模拟键盘 API 函数 Keybd_event(),使用该函数可以相应的屏蔽键盘的动作。Keybd_event()函数能触发一个按键事件,也就是说会产生一个 WM_KEYDOWN 或 WM_KEYUP 消息。public static partial class KeyHelper { [DllImport("user32.dll", EntryPoi...
2020-08-20 08:31:59
1620
原创 VisionPro视觉检测_软件安装使用
(1)建议安装网上的8.2版本,可以获取紧急密钥使用的,这里不提供下载(首次获取密钥,请备份密钥,5次以后再次还原即可使用)(2)8.3以后的版本,不支持USB相机,且只有使用加密狗才能使用,据说网上存在8.3可使用的版本,用后台工具,改网卡地址实现;(3)7.0版本是可以获取密钥时更改系统时间进行长期使用,不用反复点激活仅限个人学习,商用最好不用...
2019-08-29 15:22:54
3225
拧紧枪 OP协议控制 OpenProtocol 开放式协议
2022-01-28
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人