Visual Basic Application(in Access)
窗体设计例子1.窗体的标题每隔1秒钟交替显示当前日期和当前时间。
窗体的属性表中的事件选项卡上,在事件过程中编辑弹出的VBE框和代码。
1234Private Sub Form_Load() Me.Caption = Time#设置字幕为时间 #Caption为窗体Me的属性。End Sub
然后将属性表中的“计时器间隔”属性设置为1000,然后设置计时器触发代码如下:
1234567Private Sub Form_Timer() If Me.caption = Date Then Me.caption = Time Else Me.Caption = Date End IfEnd Sub
注意If后面一定要接End If。
2.输入口令的判别过程
也就是一个输入口令的框,然后设置1个密码,2个按键,分别写入确认和退出函数。
确认函数如下:
123456789Private Sub Command2_Click() If Me.Text0.Value = "123456" Then MsgBox "口令正确,欢迎进入!"#文本显示 Els ...
DB文本检测模型和CRNN文本识别模型的推理
CTPN讲解本网络也分为三部分,允许任意大小的图像输入。它通过密集地滑动小窗口在卷积特征图上检测文本行,输入一个固定大小的文本建议序列。我们采用VGG16卷积神经网络来提取特征图,用3x3的小窗口在卷积最后一层上进行滑动。卷积最后一层conv5的结果大小显然已经由输入图像大小,卷积层参数确定了。
和传统目标检测不同,文本区域容易无法检测出全部文本,只得到部分区域,因为文本包含很多特征,比如笔画,字符,单词,文本行。因为单词有分开的特点,所以不容易预测文本的开始与结束。所以我们可以将文本行看成一个固定大小文本建议序列,比如每个文本建议为16像素宽,所以每个建议区域都包含文字的一部分。提高了准确率因为固定了很难检测的横向坐标。相比于以前的预测4个坐标,现在我们只需要预测纵向坐标。
对于每一个文本区域,预测两个结果,一个是竖直坐标,另一个是文本/非文本分数。
我们的文本建议是被定义为16像素宽的区域,其实就是移动检测器(检测器测量conv5中每一个空间位置)让步长为16即可。我们对于每个文本区域,用k个相同水平位置的框(纵坐标不同)来预测。
这k个框,每个的高度和中心坐标都可以通过输入图像直 ...
v2ray全连接后的一次网络实验
我们记录一次实验数据,首先是尝试访问http://www.youtube.com,然后观察v2ray日志在`/var/log/v2ray/access.log`查看我们与代理端口1087通信的端口号,如图所示:
与此同时我们提前打开了wireshark抓取loopback地址的包,如图所示。
发现通过tcp三次握手与1087建立了连接。然后发送了http数据,我们打开这个http请求数据,如图:
看到设置了proxy选项。
这期间还进行了两次DNS查询,在上图红色即为查询结果,可以看到查询结果就是正确解析到的cloudflare的ip地址,如图所示:
在整个通信过程最后我们可以看到
通过代理服务器收到了返回的http包裹,然后四次挥手断开连接。我们试图找到代理的痕迹。
打开http包裹,如图所示,看到代理持续连接。
我们再来一次实验,这次抓一下以太网卡,看一下外部的情况,就圆满了。
我们看到首先进行三次握手,和cloudflare代理服务器建立通信,然后将数据通过tls1.3协议转发出去。这个协议是由cloudflare端设置的,可以在cloudflare平台看到。数据包 ...
lab-hackthebox-Vaccine-FTPRCE
首先用openvpn连接到vpn服务,然后进行常规扫描
12nmap -sC -sV ipnmap -sS -Pn -n -p- --open ip --min-rate=5000
这里我们看到了ftp服务开启并且允许匿名登陆。
汇编语言(十三)内中断
内中断任何一种CPU都可以执行这样的操作,也就是在执行指令的过程中,突然检测到从CPU内部或者外部发送过来或是产生的一种特殊信息,CPU要先处理这个特殊信息,然后再去继续执行指令。这种特殊的信息称为中断信息。而本章的内中断就是指CPU内部产生的中断信息。
1.内中断的产生当CPU有下列特殊情况发生时候,会产生中断信息
1.除法错误,比如div产生除法溢出。(中断码:0)
2.单步执行。(中断码:1)
3.执行into指令。(中断码:4)
4.执行int指令。(该指令的格式位int n,n为字节型立即数,为中断码。)
接收到这4种不同的信息,就要进行不同的处理。因为中断信息来源不同,比如上面4种,那么就要有编码来对不同事件编码区分,叫做中断类型码,为一个字节型数据,可以表示256种中断信息的来源。
2.中断程序处理对中断信息处理需要我们编程决定。一般对不同的中断信息写不同的程序。要执行某处的程序,就要将CS:IP指向它的入口(也就是程序第一条指令的地址)。所以重要的问题时,CPU收到中断信息后,如何根据中断信息确定其处理程序的入口。所以CPU需要在中断信息和程序入口之间建立联系。
根据中 ...
汇编语言番外(第十章第三题显示数字)
首先我们知道要显示12666,我们拿到这个整形数字了,要把他转换成字符串”12666”然而字符串的存储方式是ascii码,分别为31h,32h,36h,36h,36h一个字要显示,需要两个字节的属性,所以一共是10个字节。
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475assume cs:codedata segment db 10 dup (0)data endscode segment start:mov ax,12666//存储起来 mov bx,data mov ds,bx mov si,0//用于遍历字符 call dtoc mov dh,8 mov dl,3 mov cl,2 call show_str//找到显示起始点给他显示出来 ...
DES算法的C语言从头实现
DES算法的C语言详解我们后期再补充DES算法的逻辑,我先把C语言代码放上面,后期打算做个视频讲解一下从逻辑到代码,因为我们要实现在HLS部署,所以代码要非常原始,包括数组的设定和操作,所以总共600多行。
加密部分首先定义一下我们程序中需要存储数据的数组,并解释他们的含义。
123456789101112FILE* out;文件指针int left[17][32], right[17][32];//一共16轮置换每一轮存储一下,第一轮0是初始,不动,第一次置换结果索引为1int IPtext[64];//初始置换的结果int EXPtext[48];int XORtext[48];int X[8][6];//S盒中48选32bit,这48bit被分成8*6=48int X2[32];int R[32];int key56bit[56];int key48bit[17][48];int CIPHER[64];int encrypted[64];
先来讲解C语言代码的含义。
首先要从文件之中读取明文!
1234567891011121314151617181920void convert ...
简单移位密码的HLS实现
c语言算法1234567891011121314151617181920212223242526272829303132#include<stdio.h>#include<string>#include<ctype.h>void encrypt(char *plaintext, int shift){ int length = strlen(plaintext); for(int i = 0; i < length; i++) { char current = plaintext[i]; if(isalpha(current)) { char base = islower(current) ? 'a' : 'A'; plaintext[i] = (current - base + shift) % 26 + base; } else exit(-1); }}int main(){ char plaintext[10 ...
vitis hls使用基本介绍
我们之前在外国教材上已经实现了最简单的加法器电路,并且用HLS进行了仿真。今天我们来记一下笔记并且实现一个新的电路也就是led灯。
创建项目
如图所示,输入项目名称后,这里可以添加现有的c语言文件。默认没有的话直接next,下面的testbench同理。
下面要确定我们的解决方案名称,解决方案在一个项目中可以有很多个,用来帮我们对比哪种更好。
默认不用动即可。时钟频率默认也就是10ns。
成功创建工程之后,打开左边的include可以看到安装好的一些头文件和库。
我们要生成的模块算法,要放到源文件source里面。testbench我们已经熟悉了,他是激励文件。
电路原理电路原理图如下:
然后开始创建源文件
编写项目文件
在左边的source点击新源文件,可以在我们的项目目录中再创建一个src文件夹保存所有源文件,创建两个源文件,第一个是c语言实现算法,后缀为cpp文件,另一个是头文件,定义数据类型等,后缀.h。
然后编写c语言代码。
头文件代码如下:
123456789#ifndef _SHIFT_LED_H#define _SHIFT_LED_H#define MAX_CNT ...
组合逻辑38译码器实现与相关语法基础
3-8译码器的结构
真值表如下:
显然就是用三个二进制表示8个要选择的电平。
译码器的代码编写我们译码器的的代码和解释如下:
1234567891011121314151617181920212223module decoder_3_8(a, b, c, out); input a; input b; input c; output reg[7:0] out; //或者always@(a, b, c) //以always块描述的信号赋值,被赋值对象肯定定义为reg类型。 //reg [7:0] out;//此时看到下面红线报错消失了。或者在output后面直接加上reg always@(*) case({a, b, c}) 3'b000: out[7:0] = 8'b00000001; 3'b001: out = 8'b00000010; 3'b010: out = 8'b00 ...