vba演示代码
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111Sub main() ' wb:工作簿 Dim wb As Workbook ' ws:工作表 Dim ws As Worksheet ' file:打开的路径 Dim file As String file = "C:\Users\25276\Desktop\test.xlsx" ' 打开工作簿 Set wb = Workbooks.Open(file) ' 打开【指定】工作表 ...
pnl页面切换
附属文件有:basePanel_web.xml、test_web.xml、background.png 页面脚本 该脚本在【basePanel_web.xml】 创建用户访问的文件,如basePanel_web.xml放在panel路径下 测试访问的网址:http://127.0.0.1/data/ulc/ulc.html?panel=basePanel_web.xml,$token:123 正式访问的网址:https://scadarts11:8081/data/ulc/ulc.html?panel=basePanel_web.xml 内容如下 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091...
make构建
对于一个C/C++项目,可以使用make命令进行项目的编译,将这个项目生产出一个可执行文件。 比如一个C/C++项目结构为: 1234567- makefile_test - main.cpp - func_a.h - func_a.cpp - func_b.h - func_b.cpp - Makefile 对Makefile进行编辑 【注】:Makefile文件缩进需要使用Tab按钮 12345678910111213141516171819202122232425# Makefile 示例CC = g++CXXFLAGS = -Wall -gTARGET = mainall: $(TARGET)$(TARGET): main.o func_a.o func_b.o>---$(CC) $(CFLAGS) -o $(TARGET) main.o func_a.o func_b.omain.o: main.cpp>---$(CC) $(CFLAGS) -c main.cppfunc_a.o: func_a.cpp>---$(C...
nodejs学习
1. 安装Node.js、npm、express 123sudo apt install nodejssudo apt install npmnpm install express --save 2. 创建项目目录 123mkdir nodejscd nodejsnpm init -y 3. 编写服务器代码 1234567891011121314151617181920212223// server.jsconst express = require('express');const app = express();const PORT = 3000;// 设置跨域访问app.use((req, res, next) => { res.setHeader('Access-Control-Allow-Origin', '*'); res.setHeader('Access-Control-Allow-Methods', 'GET, POST, PUT, DELETE...
html导航栏学习
控制body、html等元素的样式 1234567891011121314body, html { margin: 0; padding: 0; width: 100%; height: 100%; font-family: 'Arial', sans-serif; /*background: linear-gradient(135deg, #0f0c29, #302b63, #24243e);*/ background-image: url('./background.jpg'); /* 背景图片的路径 */ background-repeat: no-repeat; /* 禁止背景图片重复 */ background-size: cover; /* 背景图片适应整个容器 */ background-position: center center; /* 背景图片居中 */ color: #fff...
Python3_Sort
beat_sort 算法思想 遍历两遍list,第一遍[遍历次数],第二遍[遍历数据]。相邻的两个数,如果后面的数rod_lower大于前面的数rod_upper,就进行两个数的交换。 1234567891011# 交换两个数sequence[i] -= rod_upper - rod_lowersequence[i + 1] += rod_upper - rod_lower# 它就类似于t = sequence[i]sequence[i] = sequence[i + 1]sequence[i + 1] = t# 优点:两行代码# 缺点:不能处理负数 时间复杂度:$O(n^2)$ 代码 1234567891011121314def bead_sort(sequence: list) -> list: if any(not isinstance(x, int) or x < 0 for x in sequence): raise TypeError("Sequence must be list of non-negative intege...
Python3在Leetcode中的学习
1. 两数之和 题目链接 题目思路 定义一个idx的map,用于存储遍历到的每一个数所对应的下标。 当遍历到下标为$j$的数时,先查找在idx中是否存在target - nums[j], 如果存在,直接返回答案。 如果不存在,将nums[j]存入idx中 Code 1234567class Solution: def twoSum(self, nums: List[int], target: int) -> List[int]: idx = {} for j, x in enumerate(nums): if target - x in idx: return [idx[target - x], j] idx[x] = j map定义 idx = {}: enumerate关键字 返回一个枚举对象。iterable 必须是一个序列,或 iterator,或其他支持迭代的对象。 enumerate() 返回的迭代器的 next()...
SDL播放音频
代码 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263#include <iostream>#include <sdl/SDL.h>#include <fstream>#pragma comment(lib, "SDL2.lib")#undef mainusing namespace std;// =======(四)=======void AudioCallBack(void* userdata, Uint8* stream, int len){ cout << "AudioCallBack" << endl; SDL_memset(stream, 0, len); auto ifs = (ifstream *)userdata; ifs->read((char*)stream, ...
责任链设计模式
责任链 责任链设计模式(Chain of Responsibility Pattern)是一种行为设计模式,它允许多个对象有机会处理请求,从而避免请求的发送者与接收者之间的耦合。将这些对象连成一条链,并沿着这条链传递请求,直到有一个对象处理它为止。 责任链模式的核心概念 请求的发送者不需要知道哪个对象会处理请求。 请求的接收者可以决定是否处理请求或将其传递给下一个接收者。 可以动态地添加或删除责任链上的处理者(处理对象)。 结构 Handler(处理者):定义一个处理请求的接口。如果处理者能够处理该请求,则进行处理,否则将请求传递给链上的下一个处理者。 ConcreteHandler(具体处理者):实现处理者接口,具体处理请求的类。如果不能处理请求,则将请求转发给下一个处理者。 Client(客户端):向链上的具体处理者对象提交请求。 工作流程 客户端创建一个包含多个 ConcreteHandler 对象的链。 客户端将请求发送到链中的第一个 ConcreteHandler。 如果 ConcreteHandler 能处理请求,它就会进行处理。 如果 ConcreteHa...
编码encoder,解码decoder,复用mux,解复用demux关系
四者之间的区别 编码(encoder)、解码(decoder)、复用(mux),和解复用(demux)是多媒体处理中的四个重要概念,它们各自承担不同的任务,用于处理音频、视频等数据。下面是它们的关系和区别: 1. 编码(Encoder) 编码是将原始的音视频数据转换为另一种格式的过程,这通常是为了压缩数据以减少文件大小,同时保持一定的质量。编码器通过一种算法(如 H.264、AAC 等)对音视频数据进行压缩,生成一种特定的编码格式的数据流。编码的目的是为了更高效地存储和传输音视频数据。 举例: 视频编码器:H.264、H.265、VP9 等。 音频编码器:MP3、AAC、Opus 等。 编码后的数据称为 码流(bitstream)。 2. 解码(Decoder) 解码是将编码后的数据流还原为原始格式或能够播放的格式的过程。解码器使用与编码器相反的算法,读取编码后的数据流,将其解压缩或转换为可以播放或进一步处理的格式。 举例: 视频解码器:解码 H.264、H.265 格式的视频流。 音频解码器:解码 MP3、AAC 格式的音频流。 解码的目的是使数据可以被音视频播放器或其...














