原理 1,事件驱动机制 2,面向对象 3 通用先于窗体加载而存在 书写规则 1,不区分大小写 2,一行可以书写多行语句,用:隔开 3,一行255字符,续行用“空格+_” 4 rem 注释语句 量的定义 1 局部变量:作用于一个局部过程 执行完后 释放变量 在事件下面定义的变量 dim 变量名 as 类型 动态定义 static 变量名 as 类型 静态定义 2 窗体级变量:作用于一个窗体过程 在通用内定义 dim 变量名 as 类型 3 全局变量:作用于全局过程 在通用中用 public定义 4 自定义类型 作用:创建 类。。。但是通过类创建的对象不能作为全局变量 在标准模块或者窗体中定义 5 数组变量 含义:变量的集合。 定义: 静态:dim 数组名(下标 上标 等等 ) as 数据类型 动态 dim 数组名 () as 数据类型 redim preserve 数组名 重定义并且保存数组 注意:都是在英文状态下的字母,不能是中文 赋值: 循环+赋值 数据类型: 整形 长整型 单精度类型 双精度类型 货币类型 字节型 字符型 日期型 逻辑型 对象型 变体型 根据需要分配 6 常量: 作用:在程序运行过程中,不改变的量,最多是窗体级别 定义形式:const 符号常量 as 类型 =表达式 as类型:可有可无 函数,过程 定义 函数定义 private/public function 函数过程名([关键字]参数列表) as 类型 加 static 静态变量 语句块 exit function 函数过程名=返回值 end funtion 注意:1,定义一个有返回值的函数一定要给这个函数赋上类型,为空则不赋 2, private 局部过程(包含其代码部分的使用)public 全局过程,缺省时候是 public 3 as 类型 缺省时候 是变体型 4 形参:定义函数参数列表中的量 实参:调用函数过程时候,传给形参的值 实参和形参传递的两种方式:传址(公用内存)关键字:byref(默认) 传值(只传递值,不公用内存)关键字:byval 自定义调用 和内部函数调用一样 变量名=函数名字() 过程定义 private/public sub 过程名字(参数列表) 语句块 exit sub end sub 调用 call 子过程名字 (实参) 或者 子过程 实参 注意:同函数 1,窗体: 窗体有边框时,form.width=form.scalewidth+窗体边框 窗体没边框时,form.width=form.scalewidth left : 表示控件左边到窗体左边的距离 top 控件上面到顶部的距离 heidht 是控件的高度 width 控件的宽度 《1》坐标 对象.scale(x1,y1)-(x2,y2) 用法:1,任何对象的默认坐标的系统都是从容器左上角(0,0)2,开始对象缺省表示当前窗体。(x1,y1)为所规定的矩形区域的左上角的坐标,(x2,y2)为规定的矩形区域的右下角的坐标 3窗体和图形框都是容器类控件 《2》画图单位 对象.scalemode= 1 缇2 磅3 像素 4 字符 5 英寸 6 毫米7 厘米 《3》清空 对象.cls 作用:清空图形和最近坐标 《4》基本图形 《《1》》直线 对象.line[step](x1,y1)-[step](x2,y2),颜色,[b[f]] 说明:[step]使用相对坐标,默认是绝对坐标 [b]利用坐标的起止点作为矩形的对角线画矩形 [f] 是指用当前的填充色 例子:运行一下两条语句 line (100,100)-step(300,600) line step(200,100)-(1500,1500),vbred,bf 效果:画出一条以(100,100)为起点,(400,700)为终点的直线 和以(600,800)为左上角,(1500,1500)为右下角的矩形 《《2》》画点 对象.pset[step](x,y)[颜色] 作用:通过循环和函数,用点画曲线。。各个参数同上 《《3》》画圆 对象.circle[step](x,y),半径,[颜色],[起始角],[终止角],[长短轴比率] 作用:(x,y)圆心坐标 起始角和终止角的范围是0到360 当起始角或者终止角前加负号的时候,画出的是圆心到弧的中心线 长短轴比率默认是1 是画圆 不是1 是画椭圆 《《4》》确定点:对象.CurrentX 对象.CurrentX 《《5》》画永久性图形-重绘 《《1》》把控件的autoredraw属性设置为true 《《2》》放到事件paint 中 《《6》》线宽和线型 控件.drawwidth=线宽度 默认是1 控件.drawstyle=线的类型 默认 0 既实线 1到6 注意:当drawwidth=1 时候,drawstyle的设置全部起作用 当drawwidth>1 时候,drawstyle的设置1到4 不起作用 《《7》》利用标签 来设置颜色 和通用对话框连接 判断 if 语句 单分支 执行原理: 满足表达式条件 执行语句块,然后执行endif 后面的语句,否则执行end if后面语句 《1》if 表达式 then 语句块 end if 《2》if 表达式 then 语句块 注意:语句块 只能是一条语句或者是多条写在同一行,用分号隔开 双分支 执行原理: 满足表达式条件 执行语句块1,然后执行endif 后面的语句,否则执行语句块2,然后执行end if后面语句 《1》 if 表达式 then 语句块1 else 语句块2 end if 《2》 if 条件表达式 then 语句块1 else 语句块2 多分支 执行原理:满足表达式条件 执行语句块1,然后执行endif 后面的语句,否则执行语句块2,然后执行end if后面语句 。。。。。否则执行else 后的最后语句块,然后执行endif 后面语句 if 表达式1 then 语句块1 elseif 表达式2 then 语句块2 elseif ,,,....... else 可有可无 最后语句块 end if select case 表达式 case 表达式1 语句块1 case 表达式2 语句块2 。。。。。 。。。。。 case else 可有可无 最后语句块 end select 循环 for循环: 执行原理: 运用于循环次数已经定了的循环,循环次数=(终值-初值)/步长+1,也就是当赋予初始值的时候先执行一次循环体 for 循环变量=初值 to 终值 step 数字(默认是1) 循环体 exit for next 循环变量 do 循环 执行原理: 一般运用于循环次数未定的循环, 《1》 do while/until 条件表达式 语句块 exit do loop 《2》 do 语句块 exit do loop while/until 跳转 goto{标号} 标号:以冒号结束的标识符 注意:尽量少用 嵌套 判断嵌套 if 表达式1 then if 表达式2 then ...... ...... end if end if 循环嵌套 同上形式 判断循环嵌套 满足各自语法即可 文件编辑 《1》 自定义变量:自定义类 语法: 默认自定义类型是在标准模块内的,如果在窗体模块中,可以加上修饰符private 定义 type 自定义类型名称 元素名称1 as 类型名 元素名称2 as 类型名 元素名称3 as 类型名 数组也行4 as类型名 end type 声明 dim 变量名或者数组名 as 自定义类型名称 注意:不能当做全局变量,可以当作局部变量和窗体变量 使用 变量名.原素名 赋值 with 自定义类型名称 .元素名称1=值 .元素名称2=值 。。。。。。。 end with 《2》语句 打开 open 顺序文件: open 文件名 for 模式 as #文件号 模式:input:读入内存,前提是必须已经存在的文件 output:写入硬盘, append:增加数据,到文件尾部 文件号:1到511,内存中的地址 随机文件: open 文件名 for random as #文件号 len=len(数据类型名称),作用:读入内存并且创建文件 读写 顺序文件:读 line input #文件号,字符串变量 作用:从指定的文件中读取一行记录,存入指定的变量,不包括回车和换行符 input #文件号,变量列表 作用:从紧凑格式中读出,并且付给变量 input(读取的字符数,#文件号) 作用:从指定的顺序文件夹中,读出指定的字符 顺序文件:写 print #文件号 输出列表 直接写入 write #文件号 输出列表 紧凑+“”+字符串前后双引号 随机文件:读 get # 文件号,记录号,变量名 随机文件:写 put # 文件号,记录号,变量名 关闭并且保存 close #文件号,#文件号等 文件最后要关闭,才能保存,文件重命名和删除都要关闭 删除和重命名文件 删除:kill "文件名" 可以用通配符 重命名:name 原文件名 as 新文件名 设置读写操作的位置 seek #文件号,位置 随机文件是指 记录号 改变文件属性 SetAttr "D:\Program Files\1.ini", vbSystem Or vbHidden 作用:隐藏指定文件 2SetAttr "D:\Program Files\1.ini", vbNormal 作用:恢复指定文件 《3》函数: lof() 返回文件字节数 eof() 指针到达末尾,true,否则false dir() 检查文件在指定目录是否存在 loc(文件号) 返回所读记录的记录号 seek(文件号) 返回当前的读写位置 len(记录类型名) 返回一个记录的长度 《4》内置对象 1,驱动器列表框: drive1.drive="c" 指定目录是c盘 2,目录列表框 dri1.path=dirver1.driver 把指定驱动器的目录显示出来 3,文件列表框 file1.path=dir1.path 指定目录的文件列表显示出来 4,进度条控件 位置:microsoft windows common control 6.0 progressbar.max=进度最大值 progressbar.min=最小值 progressbar.value=="进度指示值" 注意:通用先于窗体加载而存在。。。。。。。。。。 顺序文件: 对文本文件以块为单位,从前到后连续的进行读写 随机文件 以固定长度的记录单位,对文本文件或者二进制文件读写,不必按顺序 读写,适合与数据库同用 二进制文件 以字节为单位的,对文本和二进制进行读写,可以在文件的任意位置 读写,实现对文件的最大控制 len 函数:返回数据类型在内存中所占的字节数 |