当前位置: 首页 > news >正文

win32汇编环境,窗口程序中对多行编辑框的操作

;运行效果

;win32汇编环境,窗口程序中对多行编辑框的操作
;比如生成多行编辑框,显示文本、获取文本、设置滚动条、捕获超出文本长度消息等。
;直接抄进RadAsm可编译运行。重点部分加备注。
;下面为asm文件
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
.386 
.model flat,stdcall 
option casemap:none 
include      windows.inc 
include      user32.inc 
include      kernel32.inc
include      gdi32.inc

includelib   user32.lib           
includelib   gdi32.lib 
includelib   kernel32.lib 
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
WinMain proto :DWORD,:DWORD,:DWORD,:DWORD       
                                                
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
.DATA                                   
ClassName   db "SimpleWinClass",0        
AppName     db "窗口程序的模版",0  
      
szButtonClassName   db "button",0              ;按钮类名
szEditClassName     db "edit",0                ;编辑框类名

szTitle             db "提示",0 
szEditTitle01       db "我只能输入数字的",0 

szCheshi_Format01   db "文本的长度是 %d",0
szCheshi_Format02   db "超过允许输入的文本长度了",0

szButtonTitle01     db "得到第1个编辑框的文字",0 
szButtonTitle02     db "得到第1个编辑框的文字长度",0 
.DATA?                                  
hInstance HINSTANCE  ?                
CommandLine LPSTR    ?  

hID_EDIT01  dd ?        ;编辑框控件句柄

hIDB01      dd ?        ;按钮控件句柄
hIDB02      dd ?  
          
.const
; Equ 等值定义;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
ID_EDIT01  equ 11        ;编辑框控件标识符
IDB01      equ 21        ;按钮控件标识符
IDB02      equ 22  
  
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
.CODE                      

start:                      
invoke GetModuleHandle, NULL                                                    
mov hInstance,eax 
invoke GetCommandLine                                                                                       
mov CommandLine,eax 
invoke WinMain, hInstance,NULL,CommandLine, SW_SHOWDEFAULT        
invoke ExitProcess, eax                                          
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
WinMain proc hInst:HINSTANCE,hPrevInst:HINSTANCE,CmdLine:LPSTR,CmdShow:DWORD 
        LOCAL wc:WNDCLASSEX                                          
        LOCAL msg:MSG 
        LOCAL hwnd:HWND 

        mov   wc.cbSize,SIZEOF WNDCLASSEX                            
        mov   wc.style, CS_HREDRAW or CS_VREDRAW                     
        mov   wc.lpfnWndProc, OFFSET WndProc                        
        mov   wc.cbClsExtra,NULL 
        mov   wc.cbWndExtra,NULL 
        push  hInstance 
        pop   wc.hInstance 
        mov   wc.hbrBackground,COLOR_WINDOW+1 
        mov   wc.lpszMenuName,NULL 
        mov   wc.lpszClassName,OFFSET ClassName 
        invoke LoadIcon,NULL,IDI_APPLICATION                          
        mov   wc.hIcon,eax 
        mov   wc.hIconSm,eax 
        invoke LoadCursor,NULL,IDC_ARROW                              
        mov   wc.hCursor,eax 
        invoke RegisterClassEx, addr wc                              
        invoke CreateWindowEx,NULL, ADDR ClassName,ADDR AppName,WS_CAPTION or WS_SYSMENU or WS_MINIMIZEBOX,100,100,300,320, NULL,NULL,hInst, NULL 
        mov   hwnd,eax 
        invoke ShowWindow, hwnd,CmdShow                              
         invoke UpdateWindow, hwnd                                    

        .while TRUE                                                   
                invoke GetMessage, ADDR msg,NULL,0,0 
                .break .if (!eax) 
                invoke TranslateMessage, ADDR msg 
                invoke DispatchMessage, ADDR msg 
        .endw 
        mov     eax,msg.wParam                                         
        ret 
WinMain endp 
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
WndProc proc hWnd:HWND, uMsg:UINT, wParam:WPARAM, lParam:LPARAM 
        LOCAL   @DEFAULT_GUI_FONT,@OLD_DEFAULT_GUI_FONT
        LOCAL   @szBuffer[1024]:byte
        LOCAL   @szBuffer01[1024]:byte
        
        .if uMsg == WM_CREATE
                 invoke CreateWindowEx,NULL,ADDR szEditClassName,ADDR szEditTitle01, WS_BORDER or WS_CHILDWINDOW or WS_VISIBLE or \
                 ES_MULTILINE or ES_WANTRETURN or ES_AUTOVSCROLL or WS_VSCROLL or WS_HSCROLL ,20,20,250,150,hWnd,ID_EDIT01,NULL,NULL                                              
                 mov hID_EDIT01,eax   
                 
                 invoke CreateWindowEx,NULL,ADDR szButtonClassName,ADDR szButtonTitle01, WS_TABSTOP OR  WS_VISIBLE OR WS_CHILD OR BS_DEFPUSHBUTTON  ,20,200,250,25,hWnd,IDB01,NULL,NULL        ;创建按钮控件                 
                 mov hIDB01,eax                
                 invoke CreateWindowEx,NULL,ADDR szButtonClassName,ADDR szButtonTitle02, WS_TABSTOP OR  WS_VISIBLE OR WS_CHILD OR BS_DEFPUSHBUTTON  ,20,240,250,25,hWnd,IDB02,NULL,NULL                       
                 mov hIDB02,eax  
                 
                 invoke  GetStockObject,DEFAULT_GUI_FONT                                           ;调用GetStockObject函数,得到系统默认字体                
                 mov @DEFAULT_GUI_FONT,eax                              
                 invoke  SendMessage,hID_EDIT01,WM_SETFONT,@DEFAULT_GUI_FONT,TRUE                  ;发送WM_SETFONT消息,设置编辑框控件的字体                             
              
                 invoke  SendMessage,hIDB01,WM_SETFONT,@DEFAULT_GUI_FONT,TRUE                
                 invoke  SendMessage,hIDB02,WM_SETFONT,@DEFAULT_GUI_FONT,TRUE                              
                 invoke  DeleteObject,@DEFAULT_GUI_FONT                                            ;删除本程序新建的字体
                 
                 invoke  SendMessage,hID_EDIT01,EM_SETLIMITTEXT,1024,NULL                          ;设定编辑框最多只能1024个字符            
        .elseif uMsg == WM_COMMAND                                
                 mov eax,wParam                 
                 .if lParam == 0                                                                          
                 .else                         
                          mov edx,wParam                                                                                 
                          shr edx,16                                                                         
                          .if dx == BN_CLICKED                                              
                                   .if ax == IDB01                                        
                                            invoke GetDlgItemText,hWnd,ID_EDIT01,addr @szBuffer,sizeof @szBuffer   ;得到编辑框内的文本                                                                           
                                            invoke MessageBox,hWnd,addr @szBuffer,addr szTitle,MB_OK or MB_ICONINFORMATION                                 
                                   .elseif ax == IDB02                                        
                                            invoke GetDlgItem,hWnd,ID_EDIT01                                        
                                            invoke GetWindowTextLength,eax                                                                                
                                            invoke wsprintf,addr @szBuffer,addr szCheshi_Format01,eax                                                             
                                            invoke MessageBox,hWnd,addr @szBuffer,addr szTitle,MB_OK or MB_ICONINFORMATION                                  
                                   .endif                         
                          .elseif dx == EN_MAXTEXT                                       ;超过可输入的文本长度时,即超过上面设定的1024字符时,则                                
                                   .if ax == ID_EDIT01                                    
                                            invoke MessageBox,hWnd,addr szCheshi_Format02,addr szTitle,MB_OK or MB_ICONINFORMATION                                
                                   .endif                                 
                          .endif                 
                 .endif   

        .elseif uMsg == WM_DESTROY                                           
                invoke PostQuitMessage,NULL                               
        .else 
                invoke DefWindowProc,hWnd,uMsg,wParam,lParam             
        ret 
    .endif 
    xor eax,eax 
    ret 
WndProc endp 
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
end start                                                      

相关文章:

win32汇编环境,窗口程序中对多行编辑框的操作

;运行效果 ;win32汇编环境,窗口程序中对多行编辑框的操作 ;比如生成多行编辑框,显示文本、获取文本、设置滚动条、捕获超出文本长度消息等。 ;直接抄进RadAsm可编译运行。重点部分加备注。 ;下面为asm文件 ;>>>>>>>>>>>>>&g…...

Java反射、静态代理、动态代理

往期推荐 Java io模型-CSDN博客 如何设计一个能根据任务优先级来执行的线程池-CSDN博客 Web实时消息推送的几种方案_setmessageinnerhtml is not defined-CSDN博客 yum、dnf、apt包管理工具-CSDN博客 概述 反射机制是在运行状态中,对于任意一个类,都能够…...

在Android 15的设备上关闭edge-to-edge功能

Android 15在开发上有很多更新,当APP的targetSdk设置为35,且设备系统为Android 15时,APP会自动启动edge-to-edge功能。虽然可视面积变大了,但界面布局也会受影响。 如果要强制关闭edge-to-edge功能。可以在style.xml中将windowOp…...

GIS大模型:交通领域方面的应用

文章目录 1. 实时交通流量预测:2. 动态信号灯控制:3. 交通流模式识别:4. 交通事故预警:5. 路径推荐与导航优化:6. 长期交通规划:7. 事件影响分析:8. 智能停车管理: 大模型在交通流量…...

Vi 和 Vim 文本编辑器使用指南

目录 基本模式 查找与替换 Vi(Visual)和 Vim(Vi Improved)是两款在 Unix/Linux 系统中广泛使用的文本编辑器。Vim 是 Vi 的改进版本,继承了 Vi 的核心功能,并增加了许多新特性,如语法高亮、多…...

redis acl

redis acl redis 安全访问控制 官网 本文基于redis 6.2.17 版本进行测试验证 使用方式 redis 使用 acl 的配置有2种方式:使用 redis.conf 文件配置,和在 redis.conf 文件中配置 aclfile path 指定外部 aclfile 文件路径 使用 redis.conf 文件配置 …...

Linux Centos 安装Jenkins到服务

一、前言 假设你已经下载了jenkins.war 安装了对应的jdk,下面我们来安装jenkins,以服务的形式安装。 二、安装 1)将jenkins.war拷贝到合适的位置,我的位置 /u01/jenkins/ ,位置你自己选。 2)创建系统用户…...

WINFORM - DevExpress -> gridcontrol ---->控件(ColumnEdit控件)

ImageComboBoxEdit--带图片的下拉菜单 DevExpress:带图片的下拉菜单ImageComboBoxEdit_weixin_34313182的博客-CSDN博客 ImageEdit--图片按钮 DevExpress控件中的gridcontrol表格控件,如何在属性中设置某一列显示为图片(图片按钮&#xff…...

工作中redis常用的5种场景

在日常开发工作中,Redis作为一款高性能的内存数据库,凭借其强大的功能特性和卓越的性能表现,已经成为了许多项目中不可或缺的组件。本文将详细介绍Redis在实际工作中最常见的5种应用场景,并附上具体的代码实现。 1. 缓存热点数据…...

得物App利用技术赋能,打造潮流消费“新玩法”

如今,技术的力量正在以前所未有的方式重塑着我们的消费体验。从线上购物到虚拟现实,技术的角色越来越重要,它不仅是推动商业发展的引擎,更是满足年轻消费者多元化、个性化需求的关键。得物App作为一个年轻人喜爱的潮流消费平台&am…...

tomcat状态一直是Exited (1)

docker run -di -p 80:8080 --nametomcat001 你的仓库地址/tomcat:9执行此命令后tomcat一直是Exited(1)状态 解决办法: 用以下命令创建运行 docker run -it --name tomcat001 -p 80:8080 -d 你的仓库地址/tomcat:9 /bin/bash最终结果 tomcat成功启动...

015: 深度学习之正向传播和反向传播

本文为合集收录,欢迎查看合集/专栏链接进行全部合集的系统学习。 合集完整版请参考这里。 上一节介绍了训练和推理的概念,这一节接着训练和推理的概念讲一下,神经网络的正向传播和反向传播。 正反向传播 其实单看正向传播和反向传播这两个…...

ubuntu下安装编译cmake,grpc与protobuf

文章目录 install cmakeinstall grpcinstall protobuf注 install cmake sudo apt-get install -y g make libssl-devcd third_party/cmake-3.17.2./configuresudo make && make installcmake --version install grpc $ sudo apt-get install -y build-essential auto…...

如何在Mac上使用Brew更新Cursor应用程序

在这篇博文中,我们将介绍如何在Mac上更新Cursor应用程序,以及一些相关的使用技巧和功能。 什么是Cursor? Cursor是一款强大的工具,旨在帮助用户更好地编写、编辑和讨论代码。它结合了AI技术,使得编程过程更加高效和便…...

玩转大语言模型——使用graphRAG+Ollama构建知识图谱

系列文章目录 玩转大语言模型——ollama导入huggingface下载的模型 玩转大语言模型——langchain调用ollama视觉多模态语言模型 文章目录 系列文章目录前言下载和安装用下载项目的方式下载并安装用pip方式下载并安装 生成知识图谱初始化文件夹修改模型配置修改知识库生成配置创…...

LevelDB 源码阅读:如何优雅地合并写入和删除操作

LevelDB 支持写入单个键值对和批量写入多个键值对,这两种操作的处理流程本质上是相同的,都会被封装进一个 WriteBatch 对象中,这样就可以提高写操作的效率。 在 LevelDB 中,WriteBatch 是通过一个简单的数据结构实现的&#xff0…...

Vue.js 组件的生命周期钩子

Vue.js 组件的生命周期钩子 在 Vue.js 中,组件的生命周期是指组件从创建到销毁的整个过程。在这个过程中,Vue 提供了多个 生命周期钩子,让我们可以在不同的阶段执行特定的逻辑。掌握这些钩子非常重要,它们能帮助我们灵活控制组件…...

VD:生成a2l文件

目录 前言Simulink合并地址 ASAP2 editor 前言 我之前的方法都是通过Simulink模型生成代码的过程中顺便就把a2l文件生成出来了,这时的a2l文件还没有地址,所以紧接着会去通过elf文件更新地址,一直以为这是固定的流程和方法,今天无…...

【C++ 类和对象 进阶篇】—— 逻辑森林的灵动精灵,舞动类与对象的奇幻圆舞曲

欢迎来到ZyyOvO的博客✨,一个关于探索技术的角落,记录学习的点滴📖,分享实用的技巧🛠️,偶尔还有一些奇思妙想💡 本文由ZyyOvO原创✍️,感谢支持❤️!请尊重原创&#x1…...

【Hive】海量数据存储利器之Hive库原理初探

文章目录 一、背景二、数据仓库2.1 数据仓库概念2.2 数据仓库分层架构2.2.1 数仓分层思想和标准2.2.2 阿里巴巴数仓3层架构2.2.3 ETL和ELT2.2.4 为什么要分层 2.3 数据仓库特征2.3.1 面向主题性2.3.2 集成性2.3.3 非易失性2.3.4 时变性 三、hive库3.1 hive概述3.2 hive架构3.2.…...

前端web

学习笔记: 基本属性 color: 设置文本的颜色。代码:color: red;background-color: 设置元素的背景颜色。background-color: blue;font-size: 设置文本的大小font-size: 16px;font-family: 设置文本的字体font-family: Arial, sans-serif;text-align: 设…...

如何通过 Nginx 实现 CouchDB 集群的负载均衡并监控请求分发

在现代分布式系统中,负载均衡是确保高可用性和性能的关键组件。CouchDB 是一个强大的分布式数据库,而 Nginx 是一个高性能的反向代理和负载均衡器。本文将详细介绍如何通过 Nginx 实现 CouchDB 集群的负载均衡,并监控请求被分发到哪一台 Couc…...

基于代理的RAG实现-Agentic RAG

基于代理的RAG实现-Agentic RAG Agentic RAG 体系结构中,不再被动地响应查询请求,而是主动地分析初步检索到的信息,并基于对任务复杂性的评估,战略性地选择最为合适的工具和方法进行进一步的数据检索和处理。这种多步骤推理和决策…...

ZIP怎么加密?

想要禁止他人随意解压zip压缩包,我们可以加密zip文件,那么zip设置密码的方法有哪些?今天分享三个加密方法 工具:WinRAR,这里需要注意,WinRAR默认压缩格式是.rar,所以我们想要加密zip文件&#…...

森林网络部署,工业4G路由器实现林区组网远程监控

在广袤无垠的林区,每一片树叶的摇曳、每一丝空气的流动,都关乎着生态的平衡与安宁。林区监控正以强大的力量,为这片绿色家园筑起一道坚固的防线。 工业 4G 路由器作为林区监控组网的守护者,凭借着卓越的通讯性能,突破…...

汽车网络信息安全-ISO/SAE 21434解析(上)

目录 概述 第四章-概述 1. 研究对象和范围 2. 风险管理 第五章-组织级网络安全管理 1. 网络安全治理(cybersecurity governance) 2. 网络安全文化(cybersecurity culture) 3. 信息共享(Information Sharing) 4. 管理体系…...

一个方法被多个线程同时调用,确保同样参数的调用只能有一个线程执行,不同参数的调用则可以多个线程同时执行

我们知道通过lock一个固定静态object给代码段加同步锁,可以让多个线程的同时调用以同步执行,因此可以利用字典来给不同参数分配不同的静态对象,方法中不同的参数调用锁住各自不同的静态对象即可实现不同参数不加锁,相同参数才加锁…...

军用通信设备通用规范GJB367A-2001试验

军用通信设备通用规范GJB367A-2001通常适用于地面、舰载和机载设备的型式试验验收标准,地面设备分为便携式设备、固定式设备和车载式设备。 GJB367A-2001军用通信设备通用规范规定了军用通信设备或系统的通用要求和检验验收规则以及试验方法。 GJB367A-2001军用通…...

AWS云计算概览(自用留存)

目录 一、云概念概览 (1)云服务模型 (2)云计算6大优势 (3)web服务 (4)AWS云采用框架(AWS CAF) 二、云经济学 & 账单 (1)定…...

AWS云平台上生成式AI通过项目文档内容分析获知项目风险

要在AWS云平台上设计和实施高性能系统,同时使用生成式人工智能识别项目风险来分析项目文档内容。 利用生成式AI分析项目文档并协助风险管理可以显著提高识别和解决AWS上托管的复杂项目中的风险的速度、准确性和效率。通过将AI的功能与传统的项目管理最佳实践相结合&…...

搜广推日常实习面经一

写在前面:除了校招的面经,实习的面经我也会更新,毕竟俺后续可能还要找一段实习。从八股来看,实习的八股更加的八股一点。和校招的面经有点不一样,所以还是可以学习了解一下。总之一句话:面向工作学习&#…...

分布式CAP理论介绍

分布式CAP理论是分布式系统设计中的一个核心概念,由加州大学伯克利分校的Eric Brewer教授在2000年的ACM研讨会上首次提出,随后在2002年由Seth Gilbert和Nancy Lynch从理论上证明。以下是对分布式CAP理论的详细剖析: 文章目录 一、CAP理论的基本概念二、CAP理论的取舍策略三、…...

网格参数化,Mesh parameterization processing

目录 前言1.Barycentric mappingMapping 步骤实例 2.Laplace mapping3.Laplace improvement4.Coding 前言 多边形网格的类型多种多样。本文所实现的网格多边形参数化是指三角多边形。 不同的表示被用来编码三维物体的几何形状。选择一种表示方式取决于在上游的获取过程和下游的…...

路由环路的产生原因与解决方法(1)

路由环路 路由环路就是数据包不断在这个网络传输,始终到达不了目的地,导致掉线或者网络瘫痪。 TTL (生存时间):数据包每经过一个路由器的转发,其数值减1,当一个数据包的TTL值为0是,路…...

编程工具箱(免费,离线可用)

https://www.yuque.com/huanmin-4bkaa/ii1hx1?# 《工具箱》 常用的大部分工具都有, 比如mysql可视化 redis可视化, json编辑器, 加解密等(免费,离线可用) 后续也会慢慢的集成...

从Arrays源码学习定义工具类

背景 在日常编码中,一个比较好的实践是:我们把一些业务无关的、可复用的一些通用逻辑,封装成工具类、甚至jar包。这样一方面方便通用代码抽取、代码复用,同时也隔离经常变动的业务代码和不变的通用代码。那如何定义好一个工具类呢…...

Unity中实现倒计时结束后干一些事情

问题描述:如果我们想实现在一个倒计时结束后可以执行某个方法,比如挑战成功或者挑战失败,或者其他什么的比如生成boss之类的功能,而且你又不想每次都把代码复制一遍,那么就可以用下面这种方法。 结构 实现步骤 创建一…...

FPGA随记——时钟时序一些基本知识

原文链接:跨时钟域设计-CSDN博客 前言 CDC(clock domain crossing)检查(跨时钟域的检查)是对电路设计中同步电路设计的检查。非同步时钟没有固定的相位关系,这样Setup/Hold不满足而产生了亚稳态是无法避免…...

【微服务】SpringBoot 通用异常处理方案使用详解

目录 一、前言 二、SpringBoot 异常介绍 2.1 SpringBoot 中异常定义 2.1.1 SpringBoot 异常处理机制的重要性 2.2 常用的异常分类 2.3 常用的异常处理解决方案 三、springboot 异常处理操作实践 3.1 springboot自适应错误处理机制 3.1.1 使用默认错误页面 3.1.2 自定义…...

初识MyBatis(详细)

目录 回顾 前提回忆下web应用程序的三层架构: ​编辑 一.什么是MyBatis? 二.Mybatis操作数据库的步骤: 2.1准备工作 2.2配置Mybatis(数据库连接信息) 2.3写持久层代码 2.4测试 三.Mybatis配置文件 3.1打印日志 3.2参数传递…...

elementui表单验证,数据层级过深验证失效

先看示例代码&#xff0c;代码为模拟动态获取表单数据&#xff0c;然后动态添加rules验证规则&#xff0c;示例表单内输入框绑定form内第四层&#xff1a; <template><el-form :model"form" :rules"rules" ref"ruleForm" label-width&…...

HTTPS与HTTP:区别及安全性对比

目录 一、基础概念 二、安全性对比 1. 加密传输 2. 身份验证 3. 数据完整性 4. 端口 5. 浏览器展示方式 三、使用场景与性能 1. 使用场景 2. 性能开销 四、成本与维护 五、搜索引擎优化&#xff08;SEO&#xff09; 六、案例分析 七、隐私保护与中间人攻击 八、…...

中国石油大学(华东)自动评教工具(涵盖爬虫的基础知识,适合练手)

我开发了一个用于自动评教的工具&#xff0c;大家可以试着用用&#xff0c;下面是链接。 https://github.com/restrain11/auto_teachingEvaluate 可以点个星吗&#xff0c;感谢&#xff01;&#x1fae1; 以下是我在开发过程中学到的知识 以及 碰到的部分问题 目录 动态爬虫和静…...

蓝桥杯备考:二叉树详解

二叉树的概念和相关术语 二叉树的定义&#xff1a;每个结点度至多为2的树&#xff0c;叫二叉树 二叉树的子树有左右之分不可以随意颠倒顺序&#xff0c;也就是说二叉树是有序树 二叉树根结点左子树右子树 满二叉树&#xff1a;就是把每一层的结点都铺满 满二叉树的性质&#xf…...

大模型微调介绍-Prompt-Tuning

提示微调入门 NLP四范式 第一范式 基于「传统机器学习模型」的范式&#xff0c;如TF-IDF特征朴素贝叶斯等机器算法. 第二范式 基于「深度学习模型」的范式&#xff0c;如word2vec特征LSTM等深度学习算法&#xff0c;相比于第一范式&#xff0c;模型准确有所提高&#xff0c…...

《机器学习》——PCA降维

文章目录 PCA降维简介什么是主成分分析&#xff1f; 主成分的选择与维度确定降维的数学过程PCA降维求解步骤降维后的效果和应用场景中的优势PCA模型API参数Attributes属性PCA对象的方法 PCA降维实例导入所需库导入数据集对数据进行处理创建PCA模型并训练查看训练结果对降维数据…...

【Rust练习】28.use and pub

练习题来自&#xff1a;https://practice-zh.course.rs/crate-module/use-pub.html 1 使用 use 可以将两个同名类型引入到当前作用域中&#xff0c;但是别忘了 as 关键字. use std::fmt::Result; use std::io::Result;fn main() {}利用as可以将重名的内容取别名&#xff1a;…...

VUE学习笔记1__创建VUE实例

核心步骤 <div id"app"><!-- 这里存放渲染逻辑代码 --><h1>{{ msg }}</h1><a href"#">{{count}}</a> </div><!-- 引入在线的开发版本核心包 --> <!-- 引入核心包后全局可使用VUE构造函数 --> <…...

不用PLC和板卡,一台电脑就可以控制伺服

1、前言 大家好&#xff01;我是付工。 EtherCAT是运动控制领域使用最广泛的总线通信协议之一。 如果我们只有一台电脑&#xff0c;能不能直接控制EtherCAT总线伺服呢&#xff1f; 这个是完全可以的。 我们可以在电脑上安装实时运行环境&#xff0c;从而实现对伺服电机的总…...

vue2制作长方形容器,正方形网格散点图,并且等比缩放拖动

需求&#xff1a;有个长方形的容器&#xff0c;但是需要正方形的网格线&#xff0c;网格线是等比缩放的并且可以无线拖动的&#xff0c;并且添加自适应缩放和动态切换&#xff0c;工具是plotly.js,已完成功能如下 1.正方形网格 2.散点分组 3.自定义悬浮框的数据 4.根据窗口大小…...