首页
统计
留言
友链
关于
更多
壁纸
视频
直播
音乐
说说
订阅
资讯
相册
推荐
宝盒
云盘
监控
天气
开往
Search
1
免费开发者资源
182 阅读
2
jsdelivr 如何刷新缓存
29 阅读
3
uptime-status站点状态监控
24 阅读
4
百度在线解析站不限速下载
19 阅读
5
稿定设计怎么免费去水印
18 阅读
🏠 默认分类
📙 综合技术
📚 教程分享
登录
/
注册
Search
标签搜索
Pandas
Office
github
photoshop
Python
软件
English
Solidworks
有限元分析
vercel
Cloudreve
OneManager
cloudflare
站点监控
onedrive
Typecho
docsify
电气控制
Gzip
百度收录
墨明
累计撰写
36
篇文章
累计收到
9
条评论
首页
栏目
🏠 默认分类
📙 综合技术
📚 教程分享
页面
统计
留言
友链
关于
壁纸
视频
直播
音乐
说说
订阅
资讯
相册
推荐
宝盒
云盘
监控
天气
开往
搜索到
14
篇与
🏠 默认分类
的结果
2021-08-22
jsdelivr 如何刷新缓存
前言平时在修改了代码时,使用了jsdelivr加速的静态资源,所以照常更新下github上的资源,但是github上查看已经上传成功了,jsdelivr访问的依然是之前的资源,说白了就是缓存的问题。即使本地浏览器端的缓存已经清理,也会因为CDN周围的节点没有同步数据而导致用户端未能及时更新。缓存刷新把原来访问的链接https://cdn.jsdelivr.net/...改为https://purge.jsdelivr.net/...访问资源就会进行刷新,然后页面会返回刷新信息:{ "id": "lOapxavknisIReYB", "status": "finished", "timestamp": "2021-08-22T06:41:33.243Z", "paths": { "/gh/Qikaile/project@master/react-nice-resume/js/jquery.min.js": { "throttled": false, "providers": { "fastly": true, "bunny": true, "cloudflare": true, "quantil": true } } } }然后当你再次访问https://cdn.jsdelivr.net/... 时,资源已经完成更新了!
2021年08月22日
29 阅读
1 评论
0 点赞
2021-08-09
VB常见控件总结
单选按钮 —— OptionButton有很多场景中会需要用到单选按钮,使用单选按钮的基本原则是:在同一个容器中(Frame、PictureBox、Form等),所有的单选按钮只有一个能被选中。常用属性属性作用Caption单选按钮的选项内容ValueTrue/False,表示该选项是否被选中常用方法方法注释Option1_Click()当单选按钮被单击时的方法If Option1.Value = True Then当单选按钮被选中时下拉框 —— Combo下拉菜单是经常在做选项选择时用到的一个控件。最基础的一个使用例子是寻找可用的串口,并用下拉菜单的方式进行选择,这在之前的文章中有提过。常用属性属性作用Text下拉菜单的具体内容常用方法方法注释Combo1.AddItem “COM” & I给下拉菜单添加具体项目内容Combo1.Text = Combo1.List(0)下拉菜单的初始值选择项目数组的第几个Right(Combo1.Text, Len(Combo1.Text) - 3)解析下拉菜单的前几个字符作为条件判断容器框架 —— FrameVB中的Frame是一种容器框架,调整它的位置和形状大小,对于很多相联系的控件来说,分组管理非常方便。文本框 —— Text文本框经常用来做数据的显示或提示作用,可获得焦点用作用户输入。常见属性属性作用EnabledTrue/False,决定文本框是否可被点击改变内容VisibleTrue/False,决定文本框是否可见或隐藏Text文本框的内容,类型为字符串Label —— 标签标签经常用作数据提示,但与Text文本框不同,不能获得焦点作为用户输入。常见属性属性作用VisibleTrue/False,决定标签是否可见或隐藏Caption标签内容按钮 —— CommandButtonVB中最基础的控件,经常采用单击的事件方法触发执行。常见属性属性作用EnabledTrue/False,决定该按钮是否可用Caption标签内容常见方法方法注释Command1_Click()命令按钮的单击事件If Command4.Caption = “开始” Then通过caption不同的命名实现,开关作用图形控件 —— PictureBox常见方法PictureBox可以加载图片、显示文字以及画图。方法注释Picture1.Picture = LoadPicture(“E:MyGifAniGif0562.gif”)加载图片Picture1.Cls清空整个数据图Picture1.Scale (0, 0)-(999, 4095)确定绘制图形的数据范围Picture1.Line (0, 2048)-(999, 2048), vbBlue蓝色的水平线Picture1.Line (500, 0)-(500, 4095), vbBlue蓝色的竖直线Picture1.PSet (X, Y), vbRed绘制红色的数据图形
2021年08月09日
11 阅读
0 评论
0 点赞
2021-08-05
VB6.0学习笔记
label控件的精妙应用Caption属性:通用的标题属性,更改上面的文字Backcolor属性:控件的背景颜色Forecolor属性:前景色,其实就是文字的颜色Font属性:文字的大小、字体、下划线等Autosize属性:调节控件适应文字的大小Alignment属性:调节控件内的文字适应控件大小的水平方向的对其属性Visible属性:可见性,true可见,false不可见 如何通过代码去修改label控件的文字呢?Labell.Caption=“你很帅,我欣赏你!“ 文本要用””包围=专业叫法:赋值,举例:把右侧的值扔给左侧的变量Fom窗体常规属性介绍Fom窗体常规属性介绍Controlbox窗体的右上角几个按钮的显隐控制Autoredraw控制不再闪烁的问题Borderstyle,如果none,会使得窗体周围的边框全部隐藏,包括按钮Picture属性,可以加入窗体背景图片, gi的图片可以在VB6中显示成透明,其它的图片都不会透明Startuppostion:精确调节Fom窗体位置调节如何才能漂亮的控制窗体点击事件?可以采用label控件的backstvle选择0,这样可以使得labe控件透明如何让窗体出现在任务栏?Showintaskbar属性为true,常用事件Click单击事件 Dblclick (double click)双击 ‘代表注释 MouseMove鼠标移动 MouseDown鼠标按下 MouseUp鼠标弹起 每一个控件对象有共有的事件,但也有自己特有的一些 事件 form对象 KeyDown键盘按下,参数是KeyCode,还能同时判断是否有安装另一个快捷键 KeyPress键盘按下,参数是KeyAscii,特性是比如当输入拼音时,确定某个字之后才执行 Keyup 键盘弹起 Form_Load 窗体加载事件,print前要先show,除非设置autoredraw为truestring变量类型String类型:字符串类型,用来存储文本它的内容的表示写在双引号中间””编程中所有符号都要用英文状态下的半角的符号声明变量:Dim txt as string 内存中开辟了一个空间赋值变量:Txt=“编程创造城市”字符串的连接方式,用符号&且这个符号两边都有空格代码提示快捷键Ctrl+JExit sub可以立刻跳出当前subVb中会忽视空行,空行是为了增加代码可读性使用len函数来获取字符串长度,可以获取字符串中的字符数量字节BytelenB函数用来获取字节数Boolean布尔类型这个类型的值只有true(真)或者false(假)逻辑表达式的结果判断声明布尔类型变量Dim flag as Boolean默认声明后,布尔类型变量默认值为false逻辑表达式中的布尔型1>=2 假false 1<2 真trueAnd和or的应用And 与 And的应用特点:只要出现一个为假false,结果就为假falseOr 或Or的应用特点:只要出现一个为真true,结果就为真true多个and和or运算时,按照优先级为前提,然后我们依次按照从左到右顺序去进行判断1、数学中的==()==代表优先运算2、and和or运算优先级是同级的,同级的情况下我们按照==从左到右的顺序==3、当用到or时候,如果==or的前面==已经是true,那么or的后面不用再运算,结果为true4、当用到and时候,如果==and的前面==已经是false,那么and的后面不用再运算,结果为falsePrint True Or False And False 输出TruePrint (True Or False) And False 输出FalsePrint True Or (False And False) 输出True1和3一样,说明两个运算的顺序是一样的,3先算的括号(后面的),显然1先算的后面的(And)。说明And的优先级是大于Or的。### Timer控件Timer控件:动画的实现,使得我们程序界面上,静态的东西变成动态Timer控件重要属性:1、enabled属性:是否可用2、interval属性:每隔多少时间执行依次timer事件的代码。时间单位:毫秒。1秒=1000毫秒Timer1_Timer()时间中具体这个时钟控件要执行什么代码实现一个随机抽奖动态实现。时钟控件,在程序启动后是看不到的if条件判断语句案例实战1、登录框:QQ登录、手机APP登录、网页登录等等2、各种判断:判断年龄、判断年月3、存在多个条件是否:结合and和orif语法结构第一种:if 判断条件 then 语句 只有一句时候,可以写在一行上,可以没有end if第二种:if条件判断 then 条件为真执行的多行代码end if第三种if条件判断 then 条件为真执行的多行代码else 条件为假执行的多行代码end if条件判断:利用一些比较符号> < = >= <= <>(不等于)val(文本字符串)函数:把文本字符串格式化成数值val("123") 就是数值123val("123aaa") 就是数值123,忽略字母If Val(Label2.Caption) > 3 Then Print "八大于三" If Val(Label2.Caption) > 5 Then Print "八大于五" End If If Val(Label2.Caption) < 0 Then Print Label2.Caption & "是负数" Else Print Label2.Caption & "是非负数" End If使用inputbox来代替输入简略应用inputbox(文章说明) ——》这个整体代表一个字符串string类型inputbox(文章说明) 你输入什么就返回一个什么字符串Private Sub Label1_Click() Dim pass As String pass = InputBox("请输入密码") If pass = "abc" Then Form2.Show End SubTextbox控件助力实现人机交互Textbox文本框:用于输入有什么用:软件的使用者要一些输入到软件中可以实现一个简单的人机交互比较label控件,文本录入在captionTextbox文本录入在text属性Passwordchar属性用来隐藏我们的密码,它是用一个字符来代替我们的密码。VB中MouseIcon属性设置自定义鼠标图标,MousePointer中设置为99-Custom简易版QQ登录多窗口界面用form名称.show 来显示另一个窗体使用Unload form窗体名称来从内存中释放掉所占空间模仿登录时候出现的进度条知识点补充(视频见下次课frame控件):设置多行文本的属性控制 1、MultiLine属性设置为true 意思为可以多行显示2、ScrolLBars属性设置为both 意思为显示横竖滚动条command按钮控件修改按钮上面的文字:Caption属性按钮是否可用(是否灰掉):Enabled属性style属性:改为graphical,这样就可以使用picture属性,以及==按钮的背景颜色==VB按钮如何设置颜色和按钮文字设置颜色?首先command的style要设为1,否则无法改变,然后在backcolor设置颜色,按钮的字体颜色不能改。如果想改字体颜色,简单点可以用image做按钮。len(文本字符串)函数:就是用来获取并返回字符串的字符长度mid()函数:字符串截取函数mid(字符串,开始截取的位置,截取的长度)例:字符串 s=我爱祖国大好河山!Mid(s,3,2) 结果为:祖国cls清屏,清除的是print出来的东西通用中定义变量i Dim i as IntegerExit sub执行后代码直接跳到end sub,忽视了exit sub之后的代码Tab键:缩进案例:控制文字输出frame控件分组制作色板工具基本作用:把一些控件集合到一组当中去borderstyle属性设置是否显示边框集合到一起的技巧,先把控件==剪切==,然后,把鼠标放入frame控件中,再右键==粘贴==!!!注:如果直接拖动到frame控件中不可以变成一个集合image图片控件Picture属性用来加载图片Stretch图片是否自适应案例:实现图片的交换方式1:引入第三方控件暂存Visible属性:是否显示控件方式2:使用loadpicture函数来动态加载图片App.path这个是系统内置工程所在位置路径的系统变量在通用中声明的变量叫做全局变量,这个变量在这个form窗体中,从内存中释放掉后才会消亡。默认变量为0Dim n as Integershape控件Shape意思为形状1、形状有哪些?默认为矩形 2、形状对应的数值是哪些?范围?0-53、它有哪些事件?没有属性栏中,Shape属性可以改变形状修改为实心 BackStyle属性 1-Opaqueleft和top都是距离窗体的内边框的距离案例:小球运动实验(小球来回运动)1、小球向右运动,右侧的边碰到窗体的右侧内边框小球的右侧=小球的左侧+小球的宽度窗体的右侧=scalewidth内部宽度Dim dirct as integer '声明后,默认为0,那么0代表向右,1代表向左2、小球何时改变方向向右运动?小球的右侧>=scalewidth3、小球何时改变方向向做运动?小球的左侧<=0数组活学活用什么是数组?变量:可变的量。 integer/long/double string boolean数组:一组相同类型的变量。什么是索引?索引:从0开始的。实际就是表示一组数据中的第几个。数组的索引最小是几?最大是几?VB数组中索引的最大的值就是声明数组时候的最大数。有python不同,同时包含第一个和最后一个。最小为0数组如何声明?变量的声明:Dim num as integer数组的声明:Dim num(4) as integer 相当于同时声明了5个integer类型的变量,分别为num(0)、num(1)、num(2)、num(3)和num(4)数组如何赋值?数组中的赋值:num(0)=123 num(1)=456数组如何取值?获取数组中的值:比如要获取num数组中的第二个值就直接写成num(1)什么是控件数组?一组相同类型的数组。数组越界:超出数组表示的范围'数组的声明 Dim num(4) as Integer '数组的赋值 num(0)=123 num(1)=234 num(2)=345 num(3)=456 num(4)=567 '数组值的获取并输出 print num(0) '数学运算 print num(1)+num(2) '初始化声明 Dim s=new String(){} 不显示结果 AutoRedraw设置为True或加showVB里面有一个控件位置锁定(控件不能移动)解除方法:在窗体设计界面,在窗体的==空白处==右击菜单,看到Lock Controls(锁定控件,有一个蓝色锁图标)菜单项,取消选中即可for循环的经典运用for 初始化变量i to 变量i的终值[step 1] 循环条件需要的运行代码next 变量i举例:(不定义变量也可以,规范加一下) next i也建议不要省略step 1建议不要省略 step含义:步长。经过依次循环后使得初始化变量i增加一个相应的值step可以为正,也可以为负(减法) step 2 加2Dim i as integer '声明变量i for i=0 to 10 step 1 '需要执行的代码 next i不显示结果 AutoRedraw设置为True或加show这个循环如何运作?内部机理?初始化变量i的值去跟变量i的终值进行比较第1次循环 i=0,终值=10,比较0<=10吗?结果为true,运行内部代码变量i=变量i+1,结果变量i=1第2次循环 i=1,终值=10,比较1<=10吗?结果为true,运行内部代码变量i=变量i+1,结果变量i=2…第11次循环 i=10,终值=10,比较10<=10吗?结果为true,运行内部代码变量i=变量i+1,结果变量i=11第12次循环 i=11,终值=10,比较11<=10吗?结果为false,不执行此次循环内部代码,跳出循环执行next之后的代码冒泡排序算法精讲算法主要有:冒泡排序法、选择排序法、折半查找法、快速排序法、穷举法等Variant数据类型Variant是一种特殊的数据类型,除了定长String数据及用户自定义类型外,可以包含任何种类的数据。1、声明Dim n 如果声明的类型没有明确写明,那么默认表示为Variant类型或Dim n as variant2、初始化N=array(4,7,2,5,77,43,33,88) 一次性对数据进行初始化Ubound函数 上边界的位置LBound函数 下边界的位置求数组长度?数组n的长度=Ubound(n)-Lbound(n)+1这种算法的好处:可以动态计算数组的长度案例:冒泡排序算法show Dim n as Variant n=array(4,7,2,5,77,43,33,88) Dim length as Integer length=Ubound(n)-LBound(n)+1 Dim i as Integer Dim s as String for i=0 to length-1 step 1 s=s & n(i) & " " next i print "输出原数据" & s '冒泡排序法,从小到大排序 Dim j as Integer '需要优化冒泡排序法,优化原则就是把已经确定的数值不进行比较 Dim m AS Integer m=length-2 '第一个for循环表示一共要比较几趟 for i=1 to length-1 step 1 for j=0 to m step 1 '数值交换 if n(j)>n(j+1) then dim t As Integer t=n(j) n(j)=n(j+1) n(j+1)=t end if next j '每一趟比较之后会出现一个最大值放在数组的最后面 '因此,下一趟的比较不再需要与最后的数值去比较 m=m-1 next i '输出排序后的数组n s="" for i=0 to length-1 step 1 s=s & n(i) & " " next i print "排序后数据" & s数据:4,7,2,5,77,43,33,88从小到大 人工排序第一趟:第1次 4与7比较 结果4,7,2,5,77,43,33,88第2次 7与2比较 结果4,2,7,5,77,43,33,88第3次 7与5比较 结果4,2,5,7,77,43,33,88第4次 7与77比较 结果4,2,5,7,77,43,33,88第5次 77与43比较 结果4,2,5,7,43,77,33,88第6次 77与33比较 结果4,2,5,7,43,33,77,88第7次 77与88比较 结果4,2,5,7,43,33,77,88所以结论:第一趟比较了7次,筛选出了最大数值,放在最后面第二趟:第1次 4与2比较 结果2,4,5,7,43,33,77,88第2次 4与5比较 结果2,4,5,7,43,33,77,88第3次 5与7比较 结果2,4,5,7,43,33,77,88第4次 7与43比较 结果2,4,5,7,43,33,77,88第5次 43与33比较 结果2,4,5,7,33,43,77,88第6次 43与77比较 结果2,4,5,7,33,43,77,88所以结论:第二趟比较了6次,筛选出了第2大数值,放在倒数第二的位置…第七趟:出来从小到大的顺序总结:每一趟挑出最大值放在最后,类似于一次冒出一个泡总结:1、掌握冒泡排序法原理2、优化冒泡排序法的算法,使得运行效率更高3、动态获取数组的长度4、数组的初始化,利用Variant数据类型以及array函数数值分解算法技巧一个三位整数 567 分解后分别要获取百位数5,十位数6,个位数7取整符号:向下取整,相当于int函数 数学除法:/数学中的除以,结果会产生小数取余符号:mod取余 例: 12 mod 10 结果为2求百位数的数字=567100=5求十位数的数字=(567-5×100)10=6求个位数的数字=567-5×100-6×10=7使用mod求个位数=567 mod 5×100 +6×10 =7 注: *用 ×代替引入类型符号Integer 可以用%String 可以用$声明的方式 Dim n% Dim s$使用这种方式声明变量,可以连续一次性声明例:Dim n1%, n2%, n3%listbox控件使用-求最值问题解法1、添加一项 additem2、移除一项removeitem3、获取一项list(索引) 索引从0开始4、获取当前选中的索引 Listindex5、获取一共有多少项使用 ListCountMsgBox 信息提示函数,用来提醒我们当前的指定的信息最基本的使用方法 msgbox "字符串"案例:录入数据管理Dim i as Integer Dim max as Integer Dim min as Integer max=val(list1.list(0)) min=val(list1.list(0)) for i=1 to List1.ListCount-1 step 1 '求最大值 if val(list1.list(i))>max then max=val(list1.list(i)) '求最小值 if val(list1.list(i))<min then min=val(list1.list(i)) next i label3.caption=max label5.caption=min求最值的逻辑分析1、默认声明最大值和最小值都假设为第一项2、循环遍历数组3、判断遍历(循环到下一次)到的当前项是否大于默认的最大值,如果是,那就说明当前项为需要找的最大值,一直继续下一次的遍历,继续判断是否是最大值,直到遍历完成,找到需要找的最大值。如果找最小值,过程是类似的,只不过判断的时候,判断比默认的最小值还小的值是否存在。4、把找到的最值输出使用穷举法求素数穷举法(枚举法)特点:1、一般需要确定一个穷举范围2、每个可能的值去判断是否符合我们需要的条件穷举法求素数1、在一个范围内先取一个数2、将取到的数,对这个数内,从大于1的整数开始到这个数本身,依次穷举3、把符合条件的拿下(大于等于2且小于这个数本身,这中间无法被整除的数)。如果能被这个范围内的数整除(余数为0),那么它就不是素数。Dim n as Long n= val(Text1.text) Dim i%, j% for i=2 to n step 1 '穷举所有范围的数 Dim flag as Boolean '默认Boolean值flag为false flag=True '默认为素数 for j=2 to i-1 step 1 '对每个数进行穷举判断 if i mod j=0 then flag=false '不是素数 Exit for end if next j if flag then Text2.Text=Text2.Text & i & "," Next i选择排序法选择排序法:在冒泡排序法的基础上的一个升级。它没有在每一趟的比较中将值进行交换,而是一趟只交换一次值。每一趟比较出来,我们筛选出最小(大)值的索引,然后每一趟中,根据这个索引去进行值的交换。每次对数据的比较过程中,筛选出最小(大)的按个值的索引,然后再交换。选择排序法的思维逻辑是是什么?1、遍历所有的数值2、将每个数值与其它数值进行比较,筛选出最小(大)的值的索引3、根据筛选出来的索引进行值的交换4、对所有值采用以上方法进行,直达比完所有的值。案例:利用控件数组textbox来达到输入5个值的目的,然后再textbox中直接进行排序。Dim i%, j% for i=0 to 3 step 1 '代表有几趟比较,0放在第一个位置,…,3放在第4个位置,最后一个数值自然在最后一个位置 'Dim m% 'm=val(text1(i).text) Dim mindex% mindex=i for j=i+1 to 4 step 1 '所有值与第一个值m比较 j=0就是自己与自己比 if val(text1(mindex).text)>val(text1(j).text) then mindex=j 'm=val(text1(j).text) end if next j Dim t% t=val(Text1(i).Text) Text1(i).Text=val(Text1(mindex).Text) Text1(mindex).Text=t next i1、掌握选择排序法的原理:关键是记录最小值的索引2、每一轮比较的时候,只能与后面的数值去比较,因为我们已经把最小的数值放在最前面。3、掌握调试选择结构select caseselect case变量 case 条件表达式1 符合条件表达式1的结果 case 条件表达式2 符合条件表达式2的结果… case 条件表达式n 符合条件表达式n的结果 case else '可以没有这项 符合条件表达式else的结果end select为什么要引入select case1、为了程序执行效率问题 当条件较少的时候,使用if语句,只有两个分支 当条件较多的时候,使用select case语句,多个分支2、为了能够语句结构更为清晰案例:成绩统计,优秀(>=90)有几个,合格(>=60 & <90)有几个,不合格(<60)有几个?If Val(Text1.Text) <= 100 And Val(Text1.Text) >= 0 Then List1.AddItem Val(Text1.Text) End If Label3.Caption = "" Label5.Caption = "" Label7.Caption = "" Dim i% For i = 0 To List1.ListCount - 1 Step 1 Select Case Val(List1.List(i)) Case 90 To 100 Label3.Caption = Val(Label3.Caption) + 1 Case 60 To 89 Label5.Caption = Val(Label5.Caption) + 1 Case 0 To 59 Label7.Caption = Val(Label7.Caption) + 1 End Select Next iselect case中的条件表达式如何写?1、使用to关键字,两边的数值范围是包含的2、使用is关键字,必须要搭配> < >= <> <=符号来写表达式字符串用is 例:case Is = "abc" msgbox "不要输错"各种分支语句的课题小结if 条件1 then '执行代码elseif 条件2 then '执行代码elseif 条件3 then '执行代码…else '执行代码end if为什么要引入elseif语句所有的if语句都是必须要进行判断的。而elseif是指一旦满足一个条件之后,将不再判断后面的条件。使得elseif语句的执行效率要高于if语句。if语句与elseif语句的重要区别?if语句条件判断机制:有几个if就判断几次elseif语句判断机制:至少判断1次elect case语句的引入是为了当条件超多的时候使用。select case 变量 case 条件表达式/值 执行代码 case 条件表达式/值 执行代码 case else 执行代码end select 执行代码其中条件表达式/值如何写?1、直接写值 "a" "bb" 902、使用==Is关键词==,必须要搭配比较符号> < >= <> <=3、使用==to关键词==,注意to的两边的值是包含的4、使用符号逗号(,)可以将多个case的条件进行合并错误写法:N>10 and n<89 在vb6.0中的case写法是==错误==的!5、注意所有的case中表示的值都必须是同一个类型6、select case语句类似于elseif语句文件读写补充循环语句do until 条件表达式的值类型 符合条件要执行的代码loopDo开始做事情 until(直到)满足什么条件就不再执行代码了,loop一次循环结束Dim i% i=1 DO until i=11 print i i=i+1 loop文件读写语法格式 通用语法格式Open文件路径 for 打开方式 as #文件号这里就可以开始读写文件中的内容了。Close #文件号在写入的时候,如果原来不存在这个文件名称的话,那么会自动创建。打开方式Append追加写入,在原来的基础上,在最后的位置加入新的东西Input读取Output写入,覆盖性的写入写入print文件号,写入内容读取line input #1,读到一个变量中注意:文件的读写路径一般要采用app.path就是指程序的相对路径绝对路径:C:qikaile1.txt 往往喜欢用app.path就代表项目工程文件所在的文件夹。相对路径:假设文件1的路径是C:qikaile1.txt文件2的路径为C:qikaile2.txt如果当前在C:qikaile下面,那么文件1相对于文件2的路径。../2.txtEOF函数 理解 end of file文件的末尾参数就是文件号文件写入追加写入Open App.Path & "/1.txt" For Append As #1 Print #1, Text1.Text Close #1覆盖写入Open App.Path & "/1.txt" For Output As #1 Print #1, Text1.Text Close #1读取文件只读取一行List1.Clear Open App.Path & "/1.txt" For Input As #1 Dim t$ Line Input #1,t List1.AddItem t Close #1读取整个文件List1.Clear Open App.Path & "/1.txt" For Input As #1 Do Until EOF(1) Dim t$ Line Input #1, t List1.AddItem t Loop Close #1补充内容clear方法用来清空ListBox清空 List1.clear累加与累乘案例分析累:积累 加:加法 乘:乘法例题:输入一个值$x$,$1≤x≤100$之间的整数求$$e^{x}=1+frac{x}{1 !}+frac{x^{2}}{2 !}+frac{x^{3}}{3 !}+cdots+frac{x^{x}}{x !}$$ 1、根据输入值$x$来决定个数,有多少个就有多少次循环 2、使用for循环计算分子部分 3、使用for循环计算分母部分 4、将分子部分/分母部分 5、将每一个计算结果加起来 补充数据类型 浮点型数据: single单精度浮点型 double双精度浮点型,这是数值类型中表示范围最大的一个数据类型 补充CHR函数 chr函数ascii码转换成对应的字符 Chr(实际的Ascii码值) 补充关键词 Not 取反 Exit sub相当于直接退出sub,不再执行下面的代码 ### 字符文本处理课题总结 VB6.0中可以都认为是字符串文本 从根本上理解字符串包含字符 > chr将ascii码值对应的字符/asc将字符转ascii码 > > mid任意位置截取字符串/left从左边开始截取字符串/right从右边开始截取字符串 > > len获取字符串中字符的个数,字符长度 > > ucase将字母转为大写 > > lcase将字母转为小写 > > split将字符串按照指定方式分割后返回一个数组 > > join将数组转为字符串 > > instr从字符左侧查找指定的字符串是否存在/instrRev从字符右侧查找指定的字符串是否存在 > > instrB获取字符串的字节数 > > trim去除字符串两边的空格/ltrim去除字符串左边的空格/rtrim去除字符串右边的空格 > > str将数值类型转为字符串/cstr任意类型都可以转为字符串 如何才能分多行写呢? 使用下划线符号_ Dim n() as Variant n=array(11,"22","aa",44,55,66) print Join(n,"|")可以自定义 以|为分割符 结果为11|22|aa|44|55|66Dim s$ s="abcdefg123456" print UCase(s)文本文件修改密码知识点补充1、思维逻辑:实际上是修改其中的某一行2、按行读取3、将每读取到的一行文本放置到一个临时变量t中,将每一个t连接到一个总的文本变量s中4、如果发现读取到的这一行需要修改,那么修改后再连接到s中5、把s重新覆盖性写入到ini(txt)文本文件中sub过程与function自定义函数的异同sub一般用在事件过程中,执行过程中的代码,它没有返回值。自定义sub的格式1、没有参数的定义sub 过程名称()end sub2、带参数的定义sub 过程名称(形式参数1 as 类型1,形式参数2 as 类型2,…)end sub调用方法:call 过程名称 或 call过程名称(实际参数1,实际参数2,…)格式1:没有参数,没有返回值写法function函数名称()end function格式2:带参数,无返回值写法function函数名称(参数1 as 类型1,参数2 as 类型2,…)end function格式3:参数可有可无,有返回值写法function函数名称(参数1 as 类型1,参数2 as 类型2,…) as 返回值的类型 函数名称=值end functionsub与function相同点:在没有返回值之后,调用方式相同sub与function不同点:function有返回值,而sub没有日期时间类型日期时间类型有哪些关键字?怎么用?Date日期类型Time时间Year年份Month月份Day一个月中的哪一天Hour小时Minute分钟Second秒Weekday返回一周中的第几天cdate字符串类型转换为日期时间类型Dateadd日期时间的增加/减少函数Datediff求两个日期时间之间的差值(求差几秒/分钟/小时…)日期的声明与赋值方式Dim d1 as date '声明一个日期时间类型d1=#2013-01-01 12:13:14# '第一种赋值方式d1=cdate("2013-01-01 12:13:14") '第二种赋值方式如何求当前日期和时间?Date & " " & time 相当于 Now ,都表示当前日期时间,格式为 2013-01-01 12:13:14interval字符串表达式,是所要加上去的时间间隔的单位参数说明:interval参数设定值说明yyyy年q季度m月y一年的日数d日w一周的日数ww周h小时n分钟s秒例:Dim d1 As Date '声明一个日期时间类型 d1 = #1/1/2013 12:13:14 PM# '第一种赋值方式 Dim d2 As Date '声明一个日期时间类型 d2 = CDate("2020-07-31 11:27:56") '第二种赋值方式 Text5.Text = DateDiff("s", d1, d2) '二者时间差秒(s)除了秒,其他的都有取整dim s as double s=datediff("s",now,cdate(label4.caption)) dim d as double dim h as double dim n as double dim f as double d=s\86400 '求多少天 h=(s-d*86400)\3600 '求多少小时 n=(s-d*86400-h*3600)\60 '求多少分钟 f=s-d*86400-h*3600-n*60 '求多少秒统计与分离字符串文本中的数字字母等案例:统计输入框中一共有多少个数字,多少个小写字母,多少个大写字母,其它有多少,并分别显示出来!根据KeyAscii判断递归算法举例:输出1-100之间的所有自然数1、for循环Private Sub Command1_Click() Dim i As Integer For i = 1 To 100 Step 1 Text1.Text = Text1.Text & i & "," Next i End Sub2、do until…loopPrivate Sub Command2_Click() Dim i As Integer Do Until i = 100 i = i + 1 Text1.Text = Text1.Text & i & "," Loop End Sub3、递归方式原理:在一个function/sub中,自己调用自己注意点:递归算法中必须有退出自身调用自身的循环条件Dim a As Integer 'a全局变量 Dim a% Private Sub Command3_Click() If a < 100 Then a = a + 1 Text1.Text = Text1.Text & a & "," Call Command3_Click End If End Subpicturebox控件picturebox控件作用:用来存放文字、图片、控件等picturebox控件与image控件区别?image控件只能存放图片,picturebox控件可以存放文字、图片、控件等都存放图片时,image控件的图片可以自适应大小,而picturebox控件默认不行image控件效率高,功能单一。而picturebox控件恰好相反(功能越强大,效率越低。)共同点:都使用picture属性来加载图片如何输入文字到picturebox控件上控件名称.print 字符串 例:picture1.print text1.text如何调节picturebox控件中文字大小颜色?1、使用界面属性的控件属性进行调节2、与form窗体的设置一样,都可以使用代码进行设置后改变picture1.forecolor= vbred RGB颜色设置 例:Picture1.ForeColor = RGB(255, 195, 51)案例:文字每两行变一个颜色mod取余运算符 5 mod 2 结果为1 2 mod 5 结果为2单选按钮optionbutton以及多选框checkbox单选框:一组同一类型的选项中只能选择一种。多选框:一组选项中可以选择多项同一类型的控件,可以使用控件数组学会使用控件数组的事件,参数 index as integer 表示第几个控件举例使用:text1.fontname=option1(index).caption 字体改变如何解决单选框option两组数据却只能显示一个的问题?使用frame控件解决option的value属性true代表选中,false代表没选中checkbox的value属性 0-代表没选中 1-代表选中 2-代表选中且不能修改combobox下拉框下拉框:可以存什么? 存省市 存男女性别如何输入到下拉框?使用list属性Ctrl+enter可以连续输入各个项backspace返回键可以去掉上一项默认值:在text属性中既可以选择,也可以自己输入,最后通过combo的text属性获取当前值例:combo1.text如何使其只能选择下拉框内容,不能自己输入?style属性 20-代表:既可以输入,也可以自己选择1-代表:只能输入,没有下拉2-代表:只能选择(下拉)sort属性:将list中的内容自动通过拼音首字母去排序使用代码动态添加:Additem方式可以动态的添加案例:1、性别2、城市输入如何使用滚动条滚动条分类:横向滚动条(Hscroll)和纵向滚动条(Vscroll)min属性滚动条的最小值设置max属性滚动条的最大值设置value值代表滚动条当前值label3.fontsize=HScroll1.valuescroll事件:当我们鼠标点拉滚动条的时候触发change事件:当滚动条的值发生变化时候执行案例:动态添加控件数组同一个类型控件的一组控件,这组控件的名称相同,但是index索引不同可以随着数据的变化,动态增加或减少相应的控件数量,使软件的使用扩展性得到大幅度提升。使用关键字load来动态添加控件数组unload移除控件数组案例:模拟超市储物柜的数量label控件如何改变为控件数组?将属性栏中的index改为从0开始的索引数字默认导入的新控件被隐藏。label.visible=true文本转语音语音原理与实现?使用文字转语音,术语上TTS,实际是利用微软windows系统开发的一个插件,调用这个插件的功能。案例:开发语音闹钟参数1:输入文本参数2:定时语音如何创建?'语音设置 Dim o As Object Set o = CreateObject("sapi.spvoice") '返回实例对象,相当于一个人,可以讲话了 o.speak (Text1.Text)为什么是调用sapi.spvoice?是一个COM对象COM对象有哪些?使用注册表可以查看,运行输入regedit计算机HKEY_CLASSES_ROOTSAPI.SpVoice说明文档链接这个系统函数用来创建COM对象实例,创建的对象我们需要使用Set关键字来设置,创建出来的实例对象默认不会被回收。使用New关键字创建出来的对象,使用完成后会被系统自动回收toolbar控件与imagelist控件案例:制作自己的记事本toolbar控件主要用于工具条的功能项imagelist控件主要用来提供一组图片,在这里,我们为toolbar控件提供图片需要导入组件Microsoft Windows Common Controls 6.0 (SP6)开发自己的打字游戏案例:1、练习键盘2、目标:让文字从界面上方飘下来,按下键盘就可以打中相应字母,重新再生成一个新的字母。游戏分析:1、文字飘下来:时钟控件2、多个文字飘下来,简单的方法就是拖入3个label控件即可,如果多个的话,可以采用控件数组形式,load关键字动态添加3、通过键盘的按键事件来监控键盘4、得分:打中一个的一分label 云生博客shell "explorer https://www.qikaile.online"总结:1、掌握时钟控件的使用 2、掌握动态效果的本质是改变left、top 3、掌握键盘事件 4、判断条件的使用,大小写字母转换form1.windowstate=1QQ登录界面动画开发 progressbar控件使用vb中的动画实现思路多张图片的快速替换来实现 采用timer时钟控件去使用制作动画动画的本质:其实就是多帧图片的播放MsgBox "QQ号码或密码错误!", vbCritical, "提醒"MsgBox信息框+消息内容,图标,消息框标题form1.windowstate=1学习VB6.0视频网站{cloud title="vb6.0学习项目文件" type="lz" url="https://qikaile.lanzoui.com/i67Chseyjoj" password=""/}
2021年08月05日
5 阅读
0 评论
0 点赞
2021-07-15
升级sublime text4后激活及问题
激活1、打开浏览器进入网站https://hexed.it2、打开sublime text4安装目录选择文件sublime_text.exe3、搜索80 38 00更改为FE 00 90(第一个匹配到的)4、保存文件命名为sublime_text.exe并替换原文件问题Sublime Text 3升级Sublime Text 4后Python运行代码报错问题解决__init__() got an unexpected keyword argument ‘kill_previous’解决办法1、首选项→浏览插件目录2、删除默认的Default目录,让它重新生成默认文件3、重启 Sublime Text
2021年07月15日
6 阅读
0 评论
0 点赞
2021-06-24
Typecho开启Gzip压缩加速网站
原文转载自「Joe の 博客」开启方法打开typecho目录下的 index.php,并在开头添加 ob_start('ob_gzhandler');即可。
2021年06月24日
9 阅读
0 评论
0 点赞
1
2
3