
上位机开发
文章平均质量分 79
所有上位机项目相关的学习、开发过程记录
角落工程师
工程师是一个很了不起的称号,需要不停学习和创作
展开
-
一个有符号数引发的大案
做了这么多年软件开发,我发现一直没有搞懂有符号数,不知道你懂不懂? 问题是这样的,下位机程序往上位机发数据,发的是有符号数,上位机这边用字节流接收之后就按每两个字节转化为一个double类型的数据处理了,没有考虑符号位,也就是直接按无符号数处理了,导致发的和收的数据不一样。 趁此问题,肯定要好好研究一下有符号数和无符号数,以后再遇到此类问题就能避免不知不觉掉进坑里。 基本概念 想理解有符号数、无符号数就需要先了解机器数、真值、原码、补码、反码这几个概念: 机器数:一个数在计算机的存储形式是二进制数,我们称原创 2022-05-18 09:56:50 · 356 阅读 · 0 评论 -
懂点前端——对CSS中的Padding、Border、Margin属性的理解
作为一个志在AIot(实际在写上位机程序、嵌入式代码)的工程师,怎么又关心起前端来了呢?怎么说呢,前端的应用范围广啊,从高大上的算法、富有科技感的物联网应用到无处不在的Web应用,只要是需要和终端用户交互的,不都得要用到前端,所以懂点前端是能防身的。 今天就研究一下CSS中的content、padding、border、margin这几个概念。 CSS是网页的样式文件,它让网页的布局和样式变得美观和丰富多彩,而使用CSS进行布局与设计要用到一个叫做Box Model的模型,这是W3C提出的,W3C说Box原创 2022-05-17 08:51:13 · 4940 阅读 · 2 评论 -
利用委托实现winform多个窗体间的传值
最近用C#做上位机程序开发,要实现这样一个功能: 父窗体创建了两个子窗体——子窗体1和子窗体2,子窗体1产生的数据要在子窗体2中显示出来。 因为这两个子窗体本身之间并没有直接关联,他们都是由父窗体new出来的,所以就想着1的数据先发给父窗体,父窗体再发给2。这样结构上比较清晰,也符合松耦合的模式。结构如下: 窗体间数据传递的方法有多种,这里我们直接选择最被推荐的方法:委托(delegate)和事件(event)。 子窗体1发送消息给父窗体 在子窗体1中定义一个委托 public delegate void原创 2022-05-14 09:11:42 · 1416 阅读 · 1 评论 -
从GitHub.com放弃使用jQuery说起
从GitHub.com放弃使用jQuery说起原创 2022-05-09 21:27:53 · 388 阅读 · 0 评论 -
python学习总结1_项目结构及文件基础
1.python项目基本结构 我先根据前段时间广为流传的一份python脚本学习了一下python的基本项目结构,如下图: 和其他项目差不多,有异常处理、工具类、业务逻辑模块、配置文件、程序入口文件等。 清晰明了的项目结构是以后做项目第一要做的事。 展开各个文件夹,会看到每个文件夹下都有一个__init__.py文件,如下图: 而且这个文件除了一些注释没有其他内容,我查资料了解了一下这个文件的作用: __init__.py文件的作用是将文件夹变为一个Python模块,Python 中的每个模块的包中,都原创 2021-02-27 15:17:48 · 1415 阅读 · 0 评论 -
python学习总结2_多线程的实现
本文参照文章:python多线程实现 在理解的基础上手敲了一遍原文中的代码并运行。将局部内容做了些许修改使阅读起来更通顺。感谢原作者,用简易平实的描述讲清楚了多线程的基本原理和使用! 1.threading模块 # !/usr/bin/env python # -*- coding: gbk -*- import threading import time def test(name): print("线程运行",name) time.sleep(1) print("线程结束",原创 2021-02-27 15:32:01 · 112 阅读 · 0 评论