09 2021 档案

摘要:如果在安装 PhpStudy 环境之前本地已经配置过一次 MySQL 的话,本地的 MySQL 会和 PhpStudy 环境中的 MySQL 冲突,导致 PhpStudy 环境中 MySQL 不能启动。以下是我的解决办法。 (一) 进入 MySQL 环境路径,这里进入 PhpStudy 路径下的吧。 阅读全文
posted @ 2021-09-29 08:48 double64 阅读(602) 评论(0) 推荐(0) 编辑
摘要:WPF 中好像没有 OpenFileDialog 的控件,只能借用其他的了。 SaveFileDialog 应该也是类似的。 ▲ 测试界面 <Grid> <StackPanel Orientation="Vertical" > <TextBox Height="50" Margin="10" Bor 阅读全文
posted @ 2021-09-29 08:44 double64 阅读(703) 评论(0) 推荐(0) 编辑
摘要:附加属性本质也是依赖属性,依赖属性的宿主位置不一样。 XAML: <Window x:Class="WpfApp1.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http: 阅读全文
posted @ 2021-09-29 08:43 double64 阅读(205) 评论(0) 推荐(0) 编辑
摘要:依赖属性,它是注册到 Hastable 里面去了。依赖属性默认属性变更通知功能。 ▲ 点击按钮 Traget 显示 XAML: <Window x:Class="WPF_P128.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/x 阅读全文
posted @ 2021-09-29 08:40 double64 阅读(67) 评论(0) 推荐(0) 编辑
摘要:路由事件的宿主是那些有 UI 显示功能的界面元素,而附加事件是那些没有 UI 显示功能的元素,其本质还是路由事件,只是路由事件的宿主不一样。附加事件只是路由事件的一种用法而已。 XAML: <Window x:Class="WpfApp1.MainWindow" xmlns="http://sche 阅读全文
posted @ 2021-09-29 08:37 double64 阅读(126) 评论(0) 推荐(0) 编辑
摘要:路由事件和依赖属性一样,都是注册到了 Hastable 里面去了。 路由事件的好处:不再受直接事件那种,需要一层一层往外传递的麻烦,能直接"飞来飞去"。 ▲ 运行结果 XAML 代码: <Window x:Class="WpfApp1.MainWindow" xmlns="http://schema 阅读全文
posted @ 2021-09-29 08:35 double64 阅读(119) 评论(0) 推荐(0) 编辑
摘要:WPF 中如何用最直接的手段将 CLR 对象作为绑定的 Source 源? ▲ 简单界面 XAML代码: <Window <!--省略一些必要的命名空间--> <StackPanel Orientation="Vertical"> <TextBlock Text="姓名:" Width="150" 阅读全文
posted @ 2021-09-29 08:32 double64 阅读(107) 评论(0) 推荐(0) 编辑
摘要:Demo 代码如下: read_image (Image, '1') *打开图像窗口 dev_open_window (0, 0, 512, 512, 'black', WindowHandle) dev_display (Image) get_image_size (Image, Width, H 阅读全文
posted @ 2021-09-29 08:29 double64 阅读(2104) 评论(0) 推荐(1) 编辑
摘要:ListView 控件简单使用。 ▲ 简单样式 listView控件名:listView_SerailNum。 this.listView_SerailNum.FullRowSelect = true; ColumnHeader cameraName = new ColumnHeader(); ca 阅读全文
posted @ 2021-09-29 08:28 double64 阅读(667) 评论(0) 推荐(0) 编辑
摘要:测试一下XElement类和XDocument的一些属性和方法。自己多注意看下重载。 ▲ 查询 Xml 的方法 一个Test.xml文档如下: <?xml version="1.0" encoding="utf-8"?> <Person> <Name>孙悟空</Name> <Age>500</Age 阅读全文
posted @ 2021-09-29 08:26 double64 阅读(767) 评论(0) 推荐(0) 编辑
摘要:可以用来做条件编译。 开始定义#define DEBUG,然后在方法前面使用特性[Conditional("DEBUG")]。 #define DEBUG // 这里 define 了 DEBUG。 using System; using System.Diagnostics; public cla 阅读全文
posted @ 2021-09-29 08:24 double64 阅读(360) 评论(0) 推荐(0) 编辑
摘要:基础语法而已。 #include <iostream> using namespace std; class Demo { public: Demo() { x = 0; cout << "Demo 的默认构造函数!" << x << endl; } Demo(int i) { x = i; cou 阅读全文
posted @ 2021-09-29 08:23 double64 阅读(825) 评论(0) 推荐(0) 编辑
摘要:基础语法 等 号: := 不等号: # 注释符: * 字符串赋值: str:=’halcon’ 等于比较符: if(X=10) 与: if(A>1 and A<30) 或: if(A>1 or A<30) 求反: if(not(A=10)) For 循环: for I := 0 to NumBall 阅读全文
posted @ 2021-09-29 08:21 double64 阅读(4215) 评论(0) 推荐(2) 编辑
摘要:▲ 效果 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using Sy 阅读全文
posted @ 2021-09-29 08:18 double64 阅读(660) 评论(0) 推荐(0) 编辑
摘要:上一篇https://www.cnblogs.com/huvjie/p/15351027.html可以在原有的 xml 文档里添加一个序列化对象的元素节点。接的的 Name 名字默认的是对象类型名,如何更改这个名字呢?另外将一个 XElement 节点返序列化成一个对象。 直接对 XElement 阅读全文
posted @ 2021-09-29 08:16 double64 阅读(454) 评论(0) 推荐(0) 编辑
摘要:在原有的xml基础上添加一个序列化类。 public class Person { public string Name { get; set; } public int Age { get; set; } public string Sex { get; set; } [XmlElement("D 阅读全文
posted @ 2021-09-29 08:14 double64 阅读(151) 评论(0) 推荐(0) 编辑
摘要:结构体和类都能进行 xml 的序列化和反序列化。 必须包含的命名空间: using System.IO; using System.Text; using System.Xml; using System.Xml.Serialization; 基本的序列化 这里以结构体类型为例 : public s 阅读全文
posted @ 2021-09-28 17:34 double64 阅读(176) 评论(0) 推荐(0) 编辑
摘要:之前的这篇https://www.cnblogs.com/huvjie/p/15346185.html,是不是也是匿名类?对这个知识点还没有什么认识,初识一下。 static void Main() { var Student = new { Name = "XiaoFang", Age = 10 阅读全文
posted @ 2021-09-28 17:29 double64 阅读(44) 评论(0) 推荐(0) 编辑
摘要:wchar_t输出用wcout。 #include <iostream> using namespace std; int main() { setlocale(LC_ALL, "chs"); wchar_t wc[] = L"中国"; wcout << wc << endl; getchar(); 阅读全文
posted @ 2021-09-28 17:27 double64 阅读(217) 评论(0) 推荐(0) 编辑
摘要:catch块内为空程序不会崩溃, 只是代表它没有进行任何的处理而已。 using System; using System.Windows.Forms; namespace ConsoleApp2 { public partial class Form1 : Form { public Form1( 阅读全文
posted @ 2021-09-28 17:26 double64 阅读(431) 评论(0) 推荐(1) 编辑
摘要:这里只针对引用参数来说(非string类型)。我们能限制的只是引用的指向不能更改,而引用指向的内存值是可以修改的。 这里是之前的思考:https://www.cnblogs.com/huvjie/p/14907336.html using System; namespace ConsoleApp1 阅读全文
posted @ 2021-09-28 17:22 double64 阅读(72) 评论(0) 推荐(0) 编辑
摘要:发现 C# 还要和 C++ 一样的::运算符,来测试一下。 命名空间被赋值别名以后,可以隐藏掉原有的命名空间。想要访问需要完整路径。如果不用,可以用::运算法,它的优先级被高。 看下下面的例子: using System; namespace ConsoleApp1 { // 同名的别名空间 usi 阅读全文
posted @ 2021-09-28 17:19 double64 阅读(1056) 评论(0) 推荐(1) 编辑
摘要:制作圆形的显示 label 当做双色球,效果如下: ▲ 圆形双色球效果 一、找两个圆形底色为白色的图片 ▲ 底图 二、label 标签设置 拖入label标签; AutoSize属性置为false; Width和Height属性设置相等且适当尺寸; Image属性导入底图; Text属性先默认设置成 阅读全文
posted @ 2021-09-28 08:25 double64 阅读(1088) 评论(0) 推荐(0) 编辑
摘要:C# 版本一直在更新,之前看到一个这样的精简。这个是不是匿名类? ▲ 精简语法 VS 提示 class B { private A aa = new A() { Name = "Good" }; // 精简语法 private A a = new A { Name = "Nice" }; } cla 阅读全文
posted @ 2021-09-28 08:22 double64 阅读(61) 评论(0) 推荐(0) 编辑
摘要:强大的Lambda表达式,简洁到你懵逼。我们知道没有Lambda表达式之前是delegate匿名表达式。 注意看下下面代码的注释,明了一下整个省略过程。这里还有之前的一篇笔记https://www.cnblogs.com/huvjie/p/15321191.html。可以结合起来一起看一下。 usi 阅读全文
posted @ 2021-09-28 08:19 double64 阅读(100) 评论(0) 推荐(0) 编辑
摘要:像winform一样,事件,赋值,硬编码的方式实现。 // 传说,WPF 有五种绑定方式。 ▲ 效果 <Window x:Class="WpfApp1.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentati 阅读全文
posted @ 2021-09-28 08:16 double64 阅读(143) 评论(0) 推荐(0) 编辑
摘要:先看看一般类的实例化构建顺序 无继承的情况 静态字段 静态构造方法 实例字段 实例构造方法 有继承的情况 子类(派生类)的静态字段 子类(派生类)的静态构造方法 子类(派生类)的实例字段 父类(基类)的静态字段 父类(基类)的静态构造方法 父类(基类)的实例字段 父类(基类)的实例构造方法 子类(派 阅读全文
posted @ 2021-09-28 08:13 double64 阅读(245) 评论(0) 推荐(0) 编辑
摘要:类内的只读属性不能更改的是他的指向,例如,容器类List,如果是只内部可写,外部可读,只有类内部可以更改 List 字段的指向赋值,外部不能。而类外get到它的指向值后,是可以对它进行Add等操作的,因为没有更改它的指向。 有点绕,估计没讲清我想要说什么。O(∩_∩)O using System; 阅读全文
posted @ 2021-09-28 08:10 double64 阅读(266) 评论(0) 推荐(0) 编辑
摘要:什么是接口 个人理解,接口有点像 C 语言的前置申明。I开头命名,默认为 public, 分号结束,没有实现体。继承它的类必须全部实现接口成员。 public interface IComparable { int CompareT0(object obj); } 实现接口 接口放在基类后面,类可以 阅读全文
posted @ 2021-09-27 18:02 double64 阅读(425) 评论(0) 推荐(0) 编辑
摘要:控制台输出 Console.WriteLine("{0:F2}", 10.2658749); 输出: 10.26 // 可见其是直接将后面的小数位舍弃了。 《C# 图解教程》 P19 页对格式化输出有详细的介绍。 Math.Round函数进行四舍五入 double a = 1.223467; a = 阅读全文
posted @ 2021-09-27 17:27 double64 阅读(574) 评论(0) 推荐(0) 编辑
摘要:接上一篇,不调用 API 的方式。 ▲ 样式效果 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using S 阅读全文
posted @ 2021-09-27 15:59 double64 阅读(286) 评论(0) 推荐(0) 编辑
摘要:这里调用系统 API 的方式。 ▲ 样式效果 先准备好鼠标样式cur文件。 ▲ 鼠标样式文件 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using S 阅读全文
posted @ 2021-09-27 15:55 double64 阅读(616) 评论(0) 推荐(0) 编辑
摘要:委托: 委托是一种各类型,像类和结构一样。一般放在namespace里,当然也可以放在类里面,就像类里面也可以放类一样。 事件 事件是类或结构的成员,像属性和方法一样。事件更像是委托变量。 有两点注意: 事件不能放在可执行代码段里面声明。也就是,只能做字段,不能做本地变量; 必须声明在类或结构中,做 阅读全文
posted @ 2021-09-27 13:58 double64 阅读(1153) 评论(0) 推荐(0) 编辑
摘要:大家都建议不要用goto语句。我测试下goto语句怎么用。 goto语句执行是,跳转到标签位置后,又开始从标签位置往下执行。 class Program { static void Main(string[] args) { int i = 0; aMark: int a = 10; Console 阅读全文
posted @ 2021-09-27 13:55 double64 阅读(41) 评论(0) 推荐(0) 编辑
摘要:OpenCV3 + Visual studio 2017 社区版,以及 OpenCV3 + Qt Creator。Windows 7,64bit。 OpenCV && VS 什么下载安装就不说了。主要配置四个地方: OpenCV 的path环境变量: 。。。\opencv\build\x64\vc1 阅读全文
posted @ 2021-09-27 13:48 double64 阅读(127) 评论(0) 推荐(0) 编辑
摘要:C# Linq 真的很强大啊!简单的测试下。 创建 XDocument xDoc = new XDocument( new XDeclaration("1.0", "utf-8", null), new XElement("test", new XElement("person", new XEle 阅读全文
posted @ 2021-09-27 13:46 double64 阅读(73) 评论(0) 推荐(0) 编辑
摘要:string.ToLower() 更改大小写返回的是副本,原来的字符串还是原来的。ToUper()应该也是一样的吧; ToLower()只改变字母大小写,其他的字符不改变; 读取(系统)环境变量时,自己新建的环境变量后,需要重启电脑,才能读取到。 using System; namespace Co 阅读全文
posted @ 2021-09-27 13:44 double64 阅读(92) 评论(0) 推荐(0) 编辑
摘要:C#跨线程访问控件,我们一般 new 一个线程,多线程来操作。今天本以为是这样操作的,可还是卡死程序了。记录一下碰到的这些疑难杂症。 一、怀疑多界面问题 其实,与嵌套多少个控件没关系。 ▲ 我是在一个主窗体放了一个panel,然后,在panel里面加载menu1,menu1通过按钮加载menu2;再 阅读全文
posted @ 2021-09-27 13:42 double64 阅读(393) 评论(0) 推荐(0) 编辑
摘要:首先,属性是引用类型。引用类型之间赋值传递后,他们访问的应该是同一块内存区。 来测试一下: using System; namespace ConsoleApp1 { class Program { static void Main() { A aa = new A(); aa.aaa(); Con 阅读全文
posted @ 2021-09-27 08:28 double64 阅读(342) 评论(0) 推荐(0) 编辑
摘要:数组定义 A:=[] *空数组 A:=[1] *[1] A:=[A,1] *[1,1] A:=[A,[1,2,3]] *[1,1,1,2,3] B:= A + 1 *[2,2,2,3,4] // 每一个数加 1 Halcon 中的变量是不需要声明的,直接用。 数组相加 数组相加(前提是两个数组元素个 阅读全文
posted @ 2021-09-27 08:27 double64 阅读(2363) 评论(0) 推荐(0) 编辑
摘要:如何交换两个变量的值?一般我们是这样做的: int a = 10; int b = 20; int temp = a; a = b; b = temp; 这样借助于第三个临时变量,清晰易懂。如何不借助于第三个临时变量来实现两个数值的交换? #include <stdio.h> int main() 阅读全文
posted @ 2021-09-27 08:24 double64 阅读(183) 评论(0) 推荐(0) 编辑
摘要:我们知道 C# winform 跨窗体传值,子父窗体交互一般用委托来实现。之前都是子窗体和父窗体两级交互,如果子窗体再生一个子子窗体,然后子子窗体调用父窗体函数,这样该如何操作?我想到的实现方式还是用委托变量一级一级的往下传。下面是实现的效果: ▲ Form1 加载 Uc1,在 Uc1 下加载 Uc 阅读全文
posted @ 2021-09-27 08:23 double64 阅读(546) 评论(0) 推荐(0) 编辑
摘要:C# == 和 Equals的比较。==比较的是引用,Equals比较的是内容。所以对值类型两者是一样的,对于引用类型就不一样了。但对于string类型的比较,内部重写了==操作符,内部调用的还是Equals。Equals是Object中的一个虚方法,必要的时候可以进行重写。 参考: 1.link- 阅读全文
posted @ 2021-09-27 08:21 double64 阅读(123) 评论(0) 推荐(0) 编辑
摘要:不同类实现一个接口的事例。 interface ILiveBird { string BabyCalled(); } class Animal { } class Cat: Animal, ILiveBird { string ILiveBird.BabyCalled() { return "Kit 阅读全文
posted @ 2021-09-27 08:20 double64 阅读(294) 评论(0) 推荐(0) 编辑
摘要:C 语言用数字替代true和false。 #define _CRT_SECURE_NO_WARNINGS // VS 中, C 语言警告 #include <stdio.h> int main(void) { int a[] = { -10, -2, 0, 1, 6, 5, 7, 10, 100, 阅读全文
posted @ 2021-09-27 08:18 double64 阅读(241) 评论(0) 推荐(0) 编辑
摘要:C# enum 枚举类的问题。 enum TrafficLight { Green = 10, Yellow = 15, Red = 15, } class Program { static void Main(string[] args) { TrafficLight t1 = TrafficLi 阅读全文
posted @ 2021-09-27 08:16 double64 阅读(86) 评论(0) 推荐(0) 编辑
摘要:C#.Net 的扩展类的基本使用。可以用来扩展密封类或者外部导入的dll。 class Program { static void Main(string[] args) { MyData md = new MyData(1, 2); Console.WriteLine("总合:{0}", md.S 阅读全文
posted @ 2021-09-27 08:15 double64 阅读(147) 评论(0) 推荐(0) 编辑
摘要:索引器和属性差不多,属性是一对一,而索引器是一对多而已。 (一) int 索引 class Program { static void Main(string[] args) { MyClass mc = new MyClass(); mc[0] = "胡文杰"; mc[1] = "杨佳"; Con 阅读全文
posted @ 2021-09-27 08:13 double64 阅读(125) 评论(0) 推荐(0) 编辑
摘要:先弄个实体类: class Student { public string Name { get; set; } public string Gender { get; set; } public int Age { get; set; } } 序列化 用JsonConvert.SerializeO 阅读全文
posted @ 2021-09-26 18:32 double64 阅读(147) 评论(0) 推荐(0) 编辑
摘要:C语言指针常见错误,主要有两种情况: 1).指针未初始化; 2).避免使用scanf给指针赋值; 3).赋值指针为NULL。 指针未初始化 这种情况: int i = 10, *p; *p = i; printf("*i=%d\n", *p); 指针变量p是没有初始化的,就是你还没有给他里面赋值地址 阅读全文
posted @ 2021-09-26 18:29 double64 阅读(900) 评论(0) 推荐(0) 编辑
摘要:尝试用 C# 和 C/C++ 混合编程玩下,主要看看如何传参。 传基本的数据类型 像int,double这类的基本类型直接传参好像问题不大。 C++: extern "C" __declspec(dllexport) double cppFun(int a, double b) { return a 阅读全文
posted @ 2021-09-26 18:27 double64 阅读(121) 评论(0) 推荐(0) 编辑
摘要:C#.Net 判断窗体是否创建,如果已创建,激活窗体。 方法一 private Form2 frm2; private void button1_Click(object sender, EventArgs e) { if (frm2 == null) { frm2 = new Form2(); f 阅读全文
posted @ 2021-09-26 18:24 double64 阅读(1001) 评论(0) 推荐(0) 编辑
摘要:做几道简单的C语言题。 (1) 求出 1! + 2! + 3! +...+n!; #include <stdio.h> int nF (int n); int plus_nF(int n); int main(void) { printf("%d\n", plus_nF(10)); return 0 阅读全文
posted @ 2021-09-26 18:22 double64 阅读(330) 评论(0) 推荐(0) 编辑
摘要:首先添加头文件using System.Xml; 然后,主要是几个步骤: 创建 XML 文档操作对象; 加载 XML 文档到文档对象中; 获取 XML 文档根目录; 遍历匹配节点信息,将对象信息放置 list 集合中。 Student.cs: using System; using System.C 阅读全文
posted @ 2021-09-26 18:20 double64 阅读(1776) 评论(0) 推荐(0) 编辑
摘要:直接用明文文本的方式保存对象信息不是非常科学,现在用二进制序列化的方式来保存。 这里要先增加命名空间:using System.Runtime.Serialization.Formatters.Binary;,还要给实体类增加序列化标识特性。 通过分层设计来实现: 实体类 Student.cs: u 阅读全文
posted @ 2021-09-26 13:45 double64 阅读(403) 评论(0) 推荐(0) 编辑
摘要:可以对象的信息保存到文本中,一行一行的保存,然后读取的时候一行一行的读取。缺点:如果行数错乱了,那读出来也是错乱的。这里只是一种思路。 只做练习,很多异常情况没有处理。 using System; using System.Collections.Generic; using System.Comp 阅读全文
posted @ 2021-09-26 13:43 double64 阅读(249) 评论(0) 推荐(0) 编辑
摘要:文件流,文件夹的基本操作。有一些异常的判断没有加,实际中可以加一些异常的判断。 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.D 阅读全文
posted @ 2021-09-26 13:37 double64 阅读(302) 评论(0) 推荐(0) 编辑
摘要:可见BackGroundWorker有三个事件,事件间通过EventArgs实现参数传递。有用到CancellationPending属性判断取消。EvnentArgs 有很多属性:Cancel、Argument、Result、ProgressPercentage、UserState属性等。 usi 阅读全文
posted @ 2021-09-26 08:24 double64 阅读(320) 评论(0) 推荐(0) 编辑
摘要:多个线程对同一资源的争夺,有可能出现线程不安全的现象。用lock这种最简单的方式实现下。 一 直观的看下这种情况: using System; using System.Collections.Generic; using System.Linq; using System.Threading.Ta 阅读全文
posted @ 2021-09-26 08:22 double64 阅读(894) 评论(0) 推荐(0) 编辑
摘要:首相要加入using System.Diagnostics;命名空间。 GetProcesses()、Modules属性。一些进程的属性信息: Id // 进程唯一标识符 (Id) Handle //关联进程的本机句柄 (Handle) HandleCount //打开句柄数 (HandleCoun 阅读全文
posted @ 2021-09-26 08:21 double64 阅读(707) 评论(0) 推荐(0) 编辑
摘要:跨线程的小运用。DataSet 和 DataGradeView DataTable 的数据填充。 ▲ 实现效果,同时还可以拖动窗口。 Note: 一些和数据库的交互操作都封装在 SQLHelper 类中,练习时候自行添加。 阅读全文
posted @ 2021-09-26 08:19 double64 阅读(326) 评论(0) 推荐(0) 编辑
摘要:跨线程访问控件,主要用到控件的属性判断InvokeRequired是否为true,为true则为其他线程创建。 using System; using System.Windows.Forms; using System.Threading; namespace 跨线程控件访问 { public p 阅读全文
posted @ 2021-09-26 08:17 double64 阅读(1511) 评论(0) 推荐(0) 编辑
摘要:回调函数的基本用法。 using System; using System.Threading; namespace AsyncBasic { class Program { [STAThread] static void Main(string[] args) { new Program().Ex 阅读全文
posted @ 2021-09-26 08:15 double64 阅读(690) 评论(0) 推荐(0) 编辑
摘要:这应该是一种传统的方式吧。 一般顺序: 定义一个委托。 根据委托实现方法。 异步调用。 using System; using System.Threading; namespace AsyncBasic { class Program { [STAThread] static void Main( 阅读全文
posted @ 2021-09-26 08:14 double64 阅读(39) 评论(0) 推荐(0) 编辑
摘要:扩展方法的 3 个要求: 声明扩展方法的类必须声明为 static; 扩展方法本身必须声明为static; 扩展方法第一个参数类型前一定要包含关键字 this。 using System; namespace ExtensionMethods { sealed public class MyMeth 阅读全文
posted @ 2021-09-26 08:13 double64 阅读(199) 评论(0) 推荐(0) 编辑
摘要:不同窗体处于不同线程,相互之间需要通信时,需要用到委托或事件。 一 Form1.cs: using System.Windows.Forms; namespace SelfLianXiDelegate { public partial class Form1 : Form { public Form 阅读全文
posted @ 2021-09-24 08:27 double64 阅读(838) 评论(0) 推荐(0) 编辑
摘要:模块封装dll然后通过引用的方式来实现这个简易计算器练习。 界面 ▲ 界面 添加类库 右键 → 解决方案(注意是解决方案) → 添加 → 新建项目 → 类库 → CalDLL → …… 编好代码以后 → 生成解决方案 → 对应文件夹下面生成一个 CalDll.dll 文件。 引用 ▲ 右键 -> 引 阅读全文
posted @ 2021-09-24 08:21 double64 阅读(173) 评论(0) 推荐(0) 编辑
摘要:SQLServer 数据库一些基本操作的脚本。 use master go create database TestDB on primary ( name='TestDB_data', filename='F:\DB\TestDB_log.mdf',--绝对路径 size=10MB,--数据库初始 阅读全文
posted @ 2021-09-24 08:16 double64 阅读(202) 评论(0) 推荐(0) 编辑
摘要:三相异步电动机的Y-△(星-三角)启动控制程序。 ▲ 星-三角电机端子的接法 器件选型 三相异步电机、接触器、继电器、FX2N-32MR 等。 接线图设计 I/O分配 ▲ I/O 分配表 程序编写 Y0 := (Y0 AND X1) OR X0;(*X1为急停开关,常闭*) IF Y0 THEN O 阅读全文
posted @ 2021-09-23 13:40 double64 阅读(2316) 评论(0) 推荐(0) 编辑
摘要:将普通日期格式:“2011年6月4日” 转换成汉字日期格式:“二零一一年六月四日”。暂时不考虑10日、13日、23日等“带十”的问题。 用到switch方法,char[] num = msg.ToCharArray();字符串转字符数组, return new string(num);数组字符转字符 阅读全文
posted @ 2021-09-23 08:25 double64 阅读(72) 评论(0) 推荐(0) 编辑
摘要:用到List<>泛型集合,string.Empty空字符串,ToLower小写转换,Add添加集合元素,IndexOf集合元素中包含元素的索引位置。 List<string> names = new List<string>(); List<string> wangNames = new List< 阅读全文
posted @ 2021-09-23 08:23 double64 阅读(372) 评论(0) 推荐(0) 编辑
摘要:将字符串" hello world,你 好 世界 ! "两端空格去掉,并且将其中的所有其他空格都替换成一个空格,输出结果为:"hello world,你 好 世界 !"。 用Split方法,有很多的重载;然后用Join方法进行连接成新字符串。 string msgTrim = msg.Trim(); 阅读全文
posted @ 2021-09-22 19:02 double64 阅读(695) 评论(0) 推荐(0) 编辑
摘要:有如下字符串:【"患者:“大夫,我咳嗽得很重。” 大夫:“你多大年记?” 患者:“七十五岁。” 大夫:“二十岁咳嗽吗”患者:“不咳嗽。” 大夫:“四十岁时咳嗽吗?” 患者:“也不咳嗽。” 大夫:“那现在不咳嗽,还要等到什么时咳嗽?”"】。需求: ①请统计出该字符中“咳嗽”二字的出现次数,以及每次“咳 阅读全文
posted @ 2021-09-22 19:00 double64 阅读(2466) 评论(0) 推荐(0) 编辑
摘要:冒泡排序。相临的两个比较,大的往后挪。 static void Main(string[] args) { int[] arr = { 1, 3, 5, 7, 90, 2, 4, 6, 8, 10 ,0}; //Array.Sort(arr); ArrUp(arr); foreach (var it 阅读全文
posted @ 2021-09-22 18:57 double64 阅读(119) 评论(0) 推荐(0) 编辑
摘要:用Math类中的Round方法,然后格式化输出{0:F2}。 static void Main(string[] args) { int[] arr = { 1, 3, 5, 7, 90, 2, 4, 6, 8, 10 }; Console.WriteLine("平均值:{0:F2}", Avera 阅读全文
posted @ 2021-09-22 18:55 double64 阅读(223) 评论(0) 推荐(0) 编辑
摘要:声明两个变量:int n1 = 10, n2 = 20;要求将两个变量交换,最后输出n1为20,n2为10。扩展(*):不使用第三个变量如何交换? int n1 = 10; int n2 = 20; int temp; temp = n1; n1 = n2; n2 = temp; ▲ 借用中间量 i 阅读全文
posted @ 2021-09-22 18:53 double64 阅读(472) 评论(0) 推荐(0) 编辑
摘要:--> play一般用在——游戏、乐器、运动、小孩的玩耍;其他情况一般很少用play。 I like to use Douyin. 我喜欢玩抖音。// 不能用 play I like to go on Douyin. I want to play with you. // 男女朋友之间比较暧昧的一种 阅读全文
posted @ 2021-09-22 18:50 double64 阅读(1126) 评论(0) 推荐(0) 编辑
摘要:XML(可扩展标记语言) XML:eXtensible Markup Language 什么是标记语言?什么是标记? 标记(markup):文档中任何不想被打印输出的部分(不是真正的文档的内容,联想读书时做的“读书笔记”,在旁边写的注解等。)注解是注解,实际内容是实际内容。 标记的作用:传递了关于文 阅读全文
posted @ 2021-09-22 18:47 double64 阅读(65) 评论(0) 推荐(0) 编辑
摘要:自定义泛型委托 自定义泛型委托: using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; using System.Windows.Forms; namespac 阅读全文
posted @ 2021-09-22 18:42 double64 阅读(288) 评论(0) 推荐(0) 编辑
摘要:做事的思想应是先整体后局部,总分总。这篇博文有很好的写程序的思路,值得学习。 using System; namespace LianXi_事件和委托 { class Program { public delegate void RaiseEventHandler(string hand); pub 阅读全文
posted @ 2021-09-22 18:40 double64 阅读(86) 评论(0) 推荐(0) 编辑
摘要:接口 什么是接口? 接口就是一种规范,协议(*),约定好遵守某种规范就可以写通用的代码。 定义了一组具有各种功能的方法。(只是一种能力,没有具体实现,像抽象方法一样,“光说不做”) 接口存在的意义:多态。多态的意义:程序可扩展性。最终一让程序变的更灵活,节省成本,提高效率。 接口解决了类的多继承的问 阅读全文
posted @ 2021-09-22 08:21 double64 阅读(501) 评论(0) 推荐(0) 编辑
摘要:委托复习 委托是一种数据类型,像类一样的一种数据类型。一般都是直接在命名空间中定义。 定义委托时,需要指明返回值类型、委托名与参数列表,这样就能确定该类型的委托能存储什么样的方法。 使用委托: 声明委托变量。 委托是一个引用类型,就像类一样,所以当声明委托变量后,如果不赋值则该委托变量为 null。 阅读全文
posted @ 2021-09-22 08:14 double64 阅读(125) 评论(0) 推荐(0) 编辑
摘要:数组的长度声明后就是固定的,且都是存的同一种类型的数据。 集合的长度是不固定的(主要特征),可以存不同类型的元素;但泛型集合必须是同一种类型的集合。 集合内部的原理用的还是数组,都是依赖于数组的,内部存数据都是存到了数组中。 集合的命名空间 using System.Collections;(非泛型 阅读全文
posted @ 2021-09-18 08:25 double64 阅读(563) 评论(0) 推荐(0) 编辑
摘要:--> 你能明白我的意思吗?千万不要说,Can you understand me?,这句话一般用于比自己地位低的人,否则不太礼貌,虽然语法没有错误。有一点,表达别人的理解能力有点问题的意思。 也不要说,Do you know my meaning? 中式英语。 应该说: Do you get wh 阅读全文
posted @ 2021-09-18 08:21 double64 阅读(1152) 评论(0) 推荐(0) 编辑
摘要:StopWatch 在 using System.Diagnostics 命名空间,需先引用。 using System; using System.Diagnostics; namespace StopWatch计时 { static class Program { static void Mai 阅读全文
posted @ 2021-09-17 13:34 double64 阅读(1338) 评论(0) 推荐(0) 编辑
摘要:利用 Windows API 读写配置文件。 using System; using System.Runtime.InteropServices; using System.Text; using System.Windows.Forms; using System.IO; namespace C 阅读全文
posted @ 2021-09-17 13:29 double64 阅读(930) 评论(0) 推荐(0) 编辑
摘要:匿名只是用一次。以后用的都是 lambda 表达式,一般很少会用匿名方法。 给委托赋值的时候才会用到它。有委托变量时才会用。 匿名方法不能直接在类中定义,而是在给委托变量赋值的时候,需要赋值一个方法,此时可以“现做现卖”,定义一个匿名方法传递给该委托。 ProcessWordDelegate p = 阅读全文
posted @ 2021-09-17 08:26 double64 阅读(184) 评论(0) 推荐(0) 编辑
摘要:一维数组 一 static void Main(string[] args) { int[] arr1 = new int[5]; // 默认初始化为 0 for (int i = 0; i < arr1.Length; i++) { arr1[i] = i; } foreach (int a in 阅读全文
posted @ 2021-09-17 08:25 double64 阅读(5176) 评论(0) 推荐(0) 编辑
摘要:继承 继承一个类时,类成员的可访问性是一个重要的问题。子类(派生类)不能访问基类的私有成员,但是可以访问其公共成员。这就是说,只要使用public声明类成员,就可以让一个类成员被基类和子类(派生类)同时访问,同时也可以被外部的代码访问。 为了解决基类成员访问问题,C# 还提供了另外一种可访问性:pr 阅读全文
posted @ 2021-09-17 08:23 double64 阅读(245) 评论(0) 推荐(0) 编辑
摘要:switch([表达式]) { case[常量表达式]: [语句块] break; case[常量表达式]: [语句块] break; ...... case[常量表达式]: [语句块] default: [语句块] break; } 【表达式】:的类型必须是sbyte、byte、short、ush 阅读全文
posted @ 2021-09-17 08:21 double64 阅读(830) 评论(0) 推荐(0) 编辑
摘要:枚举类型是一种独特的值类型,它用于声明一组具有相同性质的常量。 **说明:**在定义枚举类型时,如果不对其进行赋值,默认情况下,第一个枚举数的值为0,后面每个枚举数的值依次递增1。 enum 枚举名 { list1=value1, list2=value2, list3=value3, // ... 阅读全文
posted @ 2021-09-17 08:19 double64 阅读(1699) 评论(0) 推荐(0) 编辑
摘要:C 语言的转义字符 ▲ Reference C# 转义字符 常用转义字符及含义 符号 含义 \n 换行 \r 回车 \t 制表符 \f 换页符 \b 退格 \a 响铃 \e escape(ASCII中的escape 字符) \007 任何八进制值(这里是,007=bell(响铃)) \x7f 任何十 阅读全文
posted @ 2021-09-16 13:37 double64 阅读(5498) 评论(0) 推荐(0) 编辑
摘要:public DerivedClass(): this (100){} // 像这样的构造函数。 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Th 阅读全文
posted @ 2021-09-16 08:12 double64 阅读(70) 评论(0) 推荐(0) 编辑
摘要:base.TestInfo(); // 调用基类的方法。像这样调用基类的方法。 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.T 阅读全文
posted @ 2021-09-16 08:09 double64 阅读(361) 评论(0) 推荐(0) 编辑
摘要:1)在实例方法中,通过base关键字可以显示的访问子类对象中的非私有的父类成员。 2)调用父类的构造函数。在子类的构造函数的后面的base代表调用父类的构造函数。 https://www.cnblogs.com/chenweifeng/p/4753421.html using System; usi 阅读全文
posted @ 2021-09-15 08:37 double64 阅读(588) 评论(0) 推荐(0) 编辑
摘要:访问修饰符 数据类型 属性名 { get { return 变量名; } set { 变量名 = value; } } 访问修饰符用来确定属性的可用范围,下面介绍常用的几个访问修饰符。 public:不限制对该属性的访问。 protected:只能从其所在类和所在类的子类(派生类)进行访问。 int 阅读全文
posted @ 2021-09-15 08:33 double64 阅读(89) 评论(0) 推荐(0) 编辑
摘要:创建一个控制台应用程序,建立一个命名空间 N1,在命名空间 N1 中有一个类 A,在项目中使用 using 指令引入命名空间 N1,然后在命名空间 LianXi 中即可实例化命名空间 N1 中的类,此类中的 Myls 方法,代码如下。 using System; using System.Colle 阅读全文
posted @ 2021-09-15 08:30 double64 阅读(172) 评论(0) 推荐(0) 编辑
摘要:汉语的时态大多是通过副词来表达的,而英语的时态是靠动词的变化和时间状语来表达的。英语中的时态共有十六种,但是常考的或较常用的只有 9 种,而且重点测试完成时态。要掌握英语的时态和语态,必须掌握好英语中的助动词(do, be, have)和时间状语这两个核心问题。 一般现在时 主要用来表示人、事物的现 阅读全文
posted @ 2021-09-15 08:28 double64 阅读(1290) 评论(0) 推荐(0) 编辑
摘要:初中英语8大时态总结: 一般现在时 1.概念:经常、反复发生的动作或行为及现在的某种状况。 2.基本结构:①is/am/are;②do/does 否定形式:①am/is/are + not; ②此时态的谓语动词若为行为动词,则在其前加don‘t,如主语为第三人称单数,则用doesn’t,同时还原行为 阅读全文
posted @ 2021-09-15 08:26 double64 阅读(1268) 评论(0) 推荐(0) 编辑
摘要:家用空调常用塑料材料及用途: --> 常用原材料 使用此原材料的常用零件 备注 ABS 分体机:面板体;导风板;扫风叶片;螺钉盖;接水盘;面板;装饰圈;显示器盒;盖板;护板;显示器盖;底壳;方孔叶片;电机左卡板;液晶安装架;液晶盒底板 柜机:导流圈;中间连杆;中间夹板;导风叶片;后盖板;控制器面板; 阅读全文
posted @ 2021-09-15 08:22 double64 阅读(1755) 评论(0) 推荐(0) 编辑
摘要:之前这篇博文WPF 做一个指示灯,用 True 和 False两种情况来进行判断,其实也可以用 int 类型进行多个条件的判断。 XAML: <Window.DataContext> <local:TestVM/> </Window.DataContext> <Grid> <StackPanel O 阅读全文
posted @ 2021-09-13 23:09 double64 阅读(369) 评论(0) 推荐(0) 编辑
摘要:接近开关接线 【例2-4】有一台 FX3U-32MR,输入端有一只三线 NPN 接近开关和一只二线 NPN 式接近开关,应如何接线? 【解】对于 FX3U-32MR,公共端是 0V 端子。而对于三线NPN接近开关,只要将其棕线与 24V 端子、蓝线与 0V 端子相连,将信号线与 PLC 的 "X1" 阅读全文
posted @ 2021-09-11 23:40 double64 阅读(4337) 评论(0) 推荐(0) 编辑
摘要:塑料的定义 塑料是指以树脂(或在加工过程中用单体直接聚合)为主要成分,以增塑剂、填充剂、润滑剂,着色剂等添加剂为辅助成分,在加工过程中能流动成型的材料。 塑料主要有以下特性: ① 大多数塑料质轻,化学稳定性好,不会锈蚀; ② 耐冲击性好; ③ 具有较好的透明性和耐磨耗性; ④ 绝缘性好,导热性低; 阅读全文
posted @ 2021-09-08 17:26 double64 阅读(1904) 评论(0) 推荐(0) 编辑
摘要:在讲解 FX3U 系列 PLC 基本模块前,先要熟悉基本模块的接线端子。FX 系列的接线端子(以 FX3U-32MR 为例)一般由上下两排交错分布,如图2-13所示,这样排列方便接线,接线时一般先接下面一排(对于输入端,先接 X0.X2、X4.X6… 接线端子,后接 X1.X3.X5.X7… 接线端 阅读全文
posted @ 2021-09-03 08:29 double64 阅读(20359) 评论(0) 推荐(1) 编辑
摘要:FX2N PLC 输入输出接线图: 在前面分别讲述了FX2N系列PLC的输入端或者输出端的接线图,如图2-10所示,是FX2N-32MT完整的输入输出接线图。 ▲ 图2-10 FX2N系列PLC的接线 参考:《FX 系列完全精通》 向晓汉 P14 阅读全文
posted @ 2021-09-03 08:20 double64 阅读(7895) 评论(0) 推荐(0) 编辑
摘要:【例2-3】有一台FX2N-32M,控制两台步进电动机和一台三相异步电动机的启停,三相电动机的启停由一只接触器控制,接触器的线圈电压为220V AC,输出端应如何接线(步进电动机部分的接线可以省略) ? 【解】 因为要控制两台步进电动机,所以要选用晶体管输出的PLC,而且必须用Y0和Y1作为输出高速 阅读全文
posted @ 2021-09-03 08:18 double64 阅读(1265) 评论(0) 推荐(0) 编辑
摘要:【例 2-2】有一台 FX2N-32MR,控制一只线圈电压 24V DC 的电磁阀和一只线圈电压 220V AC 电磁阀,输出端应该如何接线? 【解】因为两个电磁阀的线圈电压不同,而且有直流和交流两种电压,所以如果不经过转换,只能用继电器输出的 PLC,而且两个电磁阀分别在两个组中。其接线方式如下图 阅读全文
posted @ 2021-09-03 08:14 double64 阅读(1506) 评论(0) 推荐(0) 编辑
摘要:▲ 新建页面,中英文模板夹杂 解决方法是: 一、将~\NX 10.0\LOCALIZATION下的: ugs_cae_templates_simpl_chinese.pax(仿真) ugs_drawing_templates_simpl_chinese.pax(制图) ugs_inspection_ 阅读全文
posted @ 2021-09-02 13:34 double64 阅读(947) 评论(0) 推荐(0) 编辑
摘要:FX2N系列PLC的输出形式有三种:继电器输出、晶体管输出和晶闸管输出。继电器型输出用得比较多,输出端可以连接直流或者交流电源,无极性之分,但交流电源不超过 220V,FX2N 系列 PLC 的继电器型输出端的接线示例如图2-5所示。 晶体管输出只有NPN输出一种形式,也就是低电平输出(西门子PLC 阅读全文
posted @ 2021-09-01 08:08 double64 阅读(3462) 评论(0) 推荐(0) 编辑
摘要:三菱 PLC 输入端接近开关接线: 【例2-1】有一台FX2N-32MR,输入端有一只三线NPN接近开关和一只二线NPN式接近开关,应如何接线? 【解】对于FX2N-32MR,公共端接电源的负极。而对于三线NPN接近开关,只要将其正负极分别与电源的正负极相连,将信号线与PLC的 "X1" 相连即可; 阅读全文
posted @ 2021-09-01 08:02 double64 阅读(1721) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示