修改050826第八章 编程
Visual FoxPro 8.0实用教程_第8章_程序设计基础
8.4 过程与程序调用
在程序设计中,应用系统一般都由若干个大模 块构成,大模块又可以细分为小模块。模块间存在 着调用关系,这就是结构化程序设计方法。
子程序设计与调用 1.子程序设计 ① 子程序:就是具有基本功能的小模块,能够被 其它程序调用的程序。子程序中必须使用一条基本命 令,即返回命令。 RETURN ② 主程序:调用子程序的程序称为主程序。 2.子程序调用 (1)格式:DO <子程序名> [WITH <参数表>] (2)功能:主程序调用子程序 (3)说明:在某一程序中安排一条DO命令来运行一 个程序。WITH选项是用来传递参数的。相应地,在子 程序中必须有接收参数的语句,即PARAMETERS语句, 使用时注意参数的个数要匹配。
2.ACCEPT命令 语法:ACCEPT[<expC>] TO <内存变量> 功能:在当前窗口的当前光标位臵显示<expC>表达式 的内容,等待用户输入,并将输入的信息以字符串的 形式存储在内存变量中。 说明:此命令常用于且限于输入字符型数据,不需字 符定界符。按回车键表示输入结束。 例子: USE XSQK ACCEPT "请输入要查询学生的学号:" to cNO LOCATE FOR NO=cNO ?NO,NAME,SEX USE
【例8.1】建立程序EXAM8-1.PRG,功能是求当前 日期值的长度,并显示日期和长度值。
程序文件的调试
8.2 程序设计的常用命令
一个程序必须有输入和输出两个部分,下面对最常 用的输人、输出命令以及程序结尾命令作概要介绍。
基本输入输出命令 1.WAIT命令 clear use xsqk i=1 do while !eof() ?no,name,sex skip i=i+1 if mod(i,10)=0 wait "按任意键继续" window clear endif enddo use
Visual Basic 6.0程序设计教程第8章 文件及应用
本章内容及要求:
理解Visual Basic文件系统的基本概念; 掌握文件系统控件的使用; 掌握顺序文件、随机文件以及二进制文件的特点及它们的 打开、关闭和读写操作; 掌握与文件管理有关的常用语句、函数的使用。
本章重点:
文件系统控件驱动器列表框、目录列表框、文件列表框的使用。
1.常用属性
(1)Path属性
用于返回和设置文件列表框当前目录,设计时不可用。
说明:当Path值的改变时,会引发一个PathChange事件。
8.2 文件系统控件
(2)Filename属性 用于返回或设置被选定文件的文件名,设计时不可用。
说明:Filename属性不包括路径名。
例如:要从文件列表框(File1)中获得全路径的文件名 Fname$,用下面的程序代码: If Right(file1.path,1) ="\" Then Fname$=file1.path & file1.filename Else
8.2 文件系统控件
(4)文件属性: Archive:True,只显示文档文件; Normal:True,只显示正常标准文件; Hidden:True,只显示隐含文件; System:True,只显示系统文件。 ReadOnly:True,只显示只读文件。 (5)MultiSelect 属性
说明: Path\共享目录名\path
8.2 文件系统控件
List、ListCount 和 ListIndex等属性,这些属性与列表 框(ListBox)控件基本相同。 目录列表框中的当前目录的 ListIndex 值为-1。紧邻其上的目 录具有 ListIndex 值为-2,再上一 个的ListIndex值为-3,如右图所示。
汇编语言程序设计第8章_80868088分支程序设计.ppt
114H,128H,256H,259H,325H,14ADH, 34DEH,4D34H,5FDAH 256H ? ? ?
第 1章
汇编语言基础知识 8章
8086/
22
8.2
分支结构程序设计
LEA CMP JA LEA JE STC JMP LAB1: MOV SHL ADD CMP JB JE STC JMP LAB2: MOV MOV MOV DI,ARRAY AX,ES:[DI] LAB1 SI ,ES:[DI] EXIT EXIT1 SI,LEN1-1 SI,1 SI,DI AX,ES:[SI] LAB2 EXIT EXIT1 MOV LOW1,1 BX,LEN1 HIGH1,BX BX,DI
21.03.2019
al, 0
;AL为逻辑尺
continue bx, branch_table al, 1 ;逻辑右移 add1 word ptr[bx] ;段内间接转移 bx, type branch_table ;add bx,2 L
第 1章
汇编语言基础知识 8章
8086/
17
…… cmp je mov L: shr jnc jmp add1: add jmp continue: …… routine1: …… routine2: ……
21.03.2019
第 1章
汇编语言基础知识 8章
8086/
9
8.2 分支结构程序设计 CODE SEGMENT ASSUME DS:DATA,CS:CODE 8.2.1 测试法分支程序设计 START: MOV AX, DATA MOV DS, AX MOV AX, X CMP AX, Y DATA SEGMENT JGE L1 X DW -0ABH MOV AX, Y Y DW 205 L1: CMP AX, Z Z DW 200 JGE EXIT MAX DW ? MOV AX, Z DATA ENDS EXIT: MOV MAX, AX MOV AH, 4CH INT 21H CODE ENDS END START
80x86汇编语言程序设计课后答案
80x86汇编语言程序设计课后答案【篇一:《80x86汇编语言程序设计》教案及答案(第二版)】汇编语言程序设计》(第2版)沈美明、温冬婵编著教案编写时间:2007年8月18日前言1. 汇编语言是计算机能提供给用户的最快而又最有效的语言,也是能够利用计算机所有硬件特性并能直接控制硬件的唯一语言。
2. 汇编语言程序设计是高等院校电子计算机硬、软件及应用专业学生必修的核心课程之一。
它不仅是计算机原理、操作系统等其它核心课程的必要先修课,而且对于训练学生掌握程序设计技术、熟悉上机操作和程序调试技术都有重要作用。
3. 本教材共有十一章,其内容安排如下:(1). 第一、二章为汇编语言所用的基础知识。
(2). 第三章详细介绍80x86系列cpu的指令系统和寻址方式。
(3). 第四章介绍伪操作、汇编语言程序格式及汇编语言的上机过程。
(4). 第五、六章说明循环、分支、子程序结构和程序设计的基本方法。
(5). 第七章说明宏汇编、重复汇编及条件汇编的设计方法。
(6). 第八章叙述输入/输出程序设计方法,重点说明中断原理、中断过程及中断程序设计方式。
(7). 第九章说明bios和dos系统功能调用的使用方法。
(8). 第十~十一章分别说明图形显示、发声及磁盘文件存储的程序设计方法,同时提供各种程序设计方法和程序实例。
附:教学参考书1. 沈美明、温冬婵编著,ibm–pc汇编语言程序设计(第2版),清华大学出版社,2001年(教材)2. 沈美明、温冬婵编著,ibm–pc汇编语言程序设计,清华大学出版社,1991年3. 沈美明、温冬婵编著,ibm–pc汇编语言程序设计—例题习题集,清华大学出版社,1991年6月4. 沈美明、温冬婵、张赤红编著,ibm–pc汇编语言程序设计—实验教程,清华大学出版社,1992年5. 周明德,微型计算机ibm pc/xt(0520系列)系统原理及应用(修订版),清华大学出版社,19916. 郑学坚、周斌,微型计算机原理及应用(第二版),清华大学出版社,19957. 王士元、吴芝芳,ibm pc/xt[长城0520] 接口技术及其应用,南开大学出版社,19908. 杨素行,微型计算机系统原理及应用,清华大学出版社,19959. 戴梅萼、史嘉权,微型计算机技术及应用—从16位到32位(第二版),清华大学出版社,199610. 张昆藏,ibm pc/xt微型计算机接口技术,清华大学出版社,199111. 孟绍光,李维星,高档微机组成原理及接口技术(80386/80486/pentium),学苑出版社,199312. 吴秀清,周荷琴,微型计算机原理与接口技术,中国科学技术大学出版社目录第 1 章基础知识 ....................................................................................................... .. (1)1.1 进位计数制与不同基数的数之间的转换 (1)1.2 二进制数和十六进制数的运算 ....................................................................................................... .. (2)1.3 计算机中数和字符的表示 ....................................................................................................... . (3)1.4 几种基本的逻辑运算 ....................................................................................................... (3)第 2 章 80x86计算机组织 ....................................................................................................... . (4)2.1 80x86微处理器 ....................................................................................................... . (4)2.2 基于微处理器的计算机系统构成 ....................................................................................................... . (4)2.3 中央处理机 ....................................................................................................... . (5)2.4 存储器 ....................................................................................................... (6)2.5 外部设备 ....................................................................................................... .. (7)第 3 章 80x86的指令系统和寻址方式 ....................................................................................................... .. (8)3.1 80x86的寻址方式 ....................................................................................................... (8)3.2 程序占有的空间和执行时间 ....................................................................................................... . (10)3.3 80x86的指令系统 ....................................................................................................... . (10)第 4 章汇编语言程序格式 ....................................................................................................... .. (26)4.1 汇编程序功能 ....................................................................................................... . (26)4.2 伪操作 ....................................................................................................... . (26)4.3 汇编语言程序格式 ....................................................................................................... .. (30)4.4 汇编语言程序的上机过程 ....................................................................................................... .. (33)第 5 章循环与分支程序设计 ....................................................................................................... . (35)5.1 循环程序设计 ....................................................................................................... . (35)5.2 分支程序设计 ....................................................................................................... . (36)5.3 如何在实模式下发挥80386及其后继机型的优势 (36)第 6 章子程序结构 ....................................................................................................... .. (37)6.1 子程序的设计方法 ....................................................................................................... .. (37)6.2 子程序的嵌套 ....................................................................................................... . (38)6.3 子程序举例 ....................................................................................................... .. (38)第 7 章高级汇编语言技术 ....................................................................................................... .. (39)7.1 宏汇编 ....................................................................................................... . (39)7.2 重复汇编 ....................................................................................................... . (40)7.3 条件汇编 ....................................................................................................... . (41)第 8 章输入/输出程序设计 ....................................................................................................... . (42)8.1 i/o设备的数据传送方式 ....................................................................................................... .. (42)8.2 程序直接控制i/o方式 ....................................................................................................... . (43)8.3 中断传送方式 ....................................................................................................... . (43)第 9 章 bios和dos中断 ....................................................................................................... . (46)9.1 键盘i/o ....................................................................................................... .. (46)9.2 显示器i/o ....................................................................................................... . (48)9.3 打印机i/o ....................................................................................................... . (49)9.4 串行通信口i/o ....................................................................................................... .. (50)第 10 章图形与发声系统的程序设计 ....................................................................................................... ........... 51 10.1 显示方 (51)10.2 视频显示存储器 ....................................................................................................... .................................. 51 10.3 ega/vga图形程序设计 ....................................................................................................... .................... 52 10.4 通用发声程序 ....................................................................................................... ...................................... 53 10.5 乐曲程序 ....................................................................................................... . (54)第 11 章磁盘文件存取技术 ....................................................................................................... ........................... 55 11.1 磁盘的记录方式 ....................................................................................................... .................................. 55 11.2 文件代号式磁盘存取 ....................................................................................................... .......................... 56 11.3 字符设备的文件代号式i/o ....................................................................................................... ................ 57 11.4 bios磁盘存取功能 ....................................................................................................... .. (58)附录:《ibm—pc汇编语言程序设计》习题参考答案 ............................................................................... 59 第一章.第二章.第三章.第四章.第五章.第六章.第七章.第八章.第九章.第十章.第十一章. 习题 ....................................................................................................... ................. 59 习................. 60 习题 ....................................................................................................... ................. 61 习题 ....................................................................................................... ................. 74 习题 ....................................................................................................... ................. 79 习题 ....................................................................................................... ................. 97 习题 ....................................................................................................... ............... 110 习题 ....................................................................................................... ............... 117 习题 ....................................................................................................... ............... 122 习题 ....................................................................................................... ............... 125 习题 ....................................................................................................... (136)错误!未指定书签。
C#程序设计基础-教程、实验、习题[赵敏][电子教案]第八章
Read7BitEncodedI 以压缩格式读入32位整数 nt 方法 从当前流中读取布尔值,并使该流的当前位置提升1字 ReadBoolean 节 ReadByte ReadBytes ReadChar 从当前流中读取下一字节,并使该流的当前位置提升1 字节 从当前流中将count字节读入字节数组,并使该流的当 前位置提升count字节 从当前流中读取下一字符,并根据所使用的Encoding 和从流中读取的特定字符,提升流的当前位置
在System.IO命名空间中包含了在数据流和文件 上进行读取和写入的类型。 8.1 流 StreamReader类、StreamWriter类、 BinaryReader类、BinaryWriter类分别是对文本流 和二进制流的读/写操作类。此外,可以使用对文 件的读/写流FileStream。 8.1.1 文本文件的读取和写入 StreamReader类主要用于读取标准文本文件的各 行信息,其默认编码为UTF-8。UTF-8可以正确 处理Unicode字符并在操作系统上提供一致的结 果。StreamReader类的主要成员如表8-1所示。
Read7BitEncode 以压缩格式读入32位整数 dInt 字 Null 段 OutStream 指定无后备存储区的BinaryWriter 持有基础流
【例8-2】 定义读/写二进制文件的两个静态方法,进行二进制文件的读/ 写。代码如下: class ExBinary { public static void Read(string file) { BinaryReader br = new BinaryReader(File.Open(file, FileMode.Open)); try { if (br.PeekChar() != -1) //PeekChar()返回下一个可用的字符, 且不提升字节或字符的 //PeekChar() , 位置 { Console.WriteLine(br.ReadString()); //将流的当前位置提升4字节 Console.WriteLine(br.ReadInt32()); //将流的当前位置提升1字节 Console.WriteLine(br.ReadBoolean()); } }
单片机技术及其C51程序设计(第2版)答案解析
解:[X+Y]补=[X]补+[y]补=00001100B
1-4请选择正确答案填在括号中:将-33以补码形式存入8位寄存器中,寄存器中的内容为(A)
A.DFHB.A1HC.5FHD.DEH
解:
#include <reg52.h>//包含特殊功能寄存器库
#include <stdio.h>//包含I/O函数库
void main(void)//主函数
{
int a,b,c,t;//定义整型变量a,b,c,t
A.11101101B.10010011C.00010011D.10010010
1-78051与8751的区别是(C)
A.内部数据存储数目的不同B.内部数据存储器的类型不同
C.内部程序存储器的类型不同D.内部寄存器的数目不同
1-8单片机与普通计算机的不同之处在于其将(CPU)(存储器)和(I/O接口)三部分集成于一块芯片上(的单片微机)
if(a>c)
{t=a;a=c;c=t;}
if(b>c)
{t=b;b=c;c=t;}
printf("%d,%d,%d",c,b,a);
while(1);//结束
}
4-15用三种循环结构编写程序实现输出1到10的平方之和。
解:
1、通过while语句实现计算并输出1到10的平方之和。
#include <reg52.h>//包含特殊功能寄存器库
default:printf("error"\n)
JAVA程序设计技能教程第8章
8.1 掌握流及标准输入输出
8.1.1 流及其分类
流是输入/输出设备的一种抽象 流是输入 输出设备的一种抽象 表示, 表示,这些设备是数据源头 或是数据终点。 或是数据终点。 Java应用程序可以从数据源读 应用程序可以从数据源读 取数据, 取数据,向数据目的地写入 数据。 数据。 流最简单的分类: 流最简单的分类: 当向一个流写入数据的时候, 当向一个流写入数据的时候, 这个流被称为输出流。 这个流被称为输出流。
【例8-4】重定向方法的简单使用。
主要代码如下:
// 获取标准输出流 PrintStream console = System.out; // 创建一个Redirecting.java文件输入流,并对这个基本文件 输入流用 // BufferedInputStream流进行装饰。 BufferedInputStream in = new BufferedInputStream( new FileInputStream("src/chapter08/Redirecting.java")); // 创建一个test.out文件输出流,并对这个基本文件输入流用 // PrintStream PrintStream流进行装饰。 PrintStream out = new PrintStream( new FileOutputStream("test.out")); // 重新定向标准输入流 System.setIn(in); // 重新定向标准输出流 System.setOut(out); // 重新定向标准错误入流
说明:
(1) 首先,程序开发者可以使程序向流中写入数据或者从流中读出 ) 首先,
数据, 数据,你可以把它流想象成一个流入或流出你的程序的有序的数 据序列; 据序列;
汇编语言程序设计教程2版8章
直接存储器存取方式(DMA) 直接存储器存取方式(DMA)
中断传送方式虽然能快速地响应I/O设备的传送 中断传送方式虽然能快速地响应I/O设备的传送 要求,但其服务过程仍由软件来实现。 要求,但其服务过程仍由软件来实现。每次中 断处理需要保护断点、保护现场及恢复现场、 断处理需要保护断点、保护现场及恢复现场、 恢复断点,这些操作都要占用CPU的额外时间 的额外时间。 恢复断点,这些操作都要占用CPU的额外时间。 对某些需要高速地传送大量数据的设备( 对某些需要高速地传送大量数据的设备(如磁 来说,这种中断传送方式就显得太慢。 盘)来说,这种中断传送方式就显得太慢。 因此,希望由硬件电路来直接实现数据交换, 因此,希望由硬件电路来直接实现数据交换, 而不必通过CPU,这就是DMA方式 方式。 而不必通过CPU,这就是DMA方式。 DMA方式能摆脱 DMA方式能摆脱CPU的直接干预,利用硬件控 方式能摆脱CPU的直接干预 的直接干预, 制设备DMA控制器 DMAC), 控制器( ),实现外部设备 制设备DMA控制器(DMAC),实现外部设备 与内存间的直接数据传送。 与内存间的直接数据传送。
2010-1U寻址外设的方式
CPU寻址外设的方式有存储器寻址和端口寻址两 CPU寻址外设的方式有存储器寻址和端口寻址两 种方式。第一种存储器寻址方式是把外设看作一 种方式。第一种存储器寻址方式是把外设看作一 个存储单元, 个存储单元,每个外设占有存储器的一个或若干 个地址。当要从外设输入一个数据时, 个地址。当要从外设输入一个数据时,就对外设 进行读操作,即到外设接口寄存器中读回数据。 进行读操作,即到外设接口寄存器中读回数据。 在向外设输出一个数据时, 在向外设输出一个数据时,则以同样的方式对与 外设对应的存储单元地址进行一次存储器写操作, 外设对应的存储单元地址进行一次存储器写操作, 即把数据写到外设接口的寄存器中去。 即把数据写到外设接口的寄存器中去。 CPU寻址外设的另一种方式是端口寻址 CPU寻址外设的另一种方式是端口寻址,这种方 寻址外设的另一种方式是端口寻址, 式要求使用专门的输入输出指令, 式要求使用专门的输入输出指令,并要求为外设 接口分配地址,以便通过接口地址来寻址外设。 接口分配地址,以便通过接口地址来寻址外设。
Java程序设计教程 第2版 第8章 异常处理
8.1.2 异常的类型
不可查异常是指在运行中可能出现的异常,这种异常无法在编译时检查 出来,在运行过程中有可能出现也有可能不出现,所以这类异常在程序 中可以选择捕获处理,也可以不处理。
这类异常通常是由程序逻辑错误引起的,所以程序应该从逻辑角度尽可 能避免这类异常的发生。
不可查异常都是RuntimeException类及其子类异常。 可查异常是指在编译时被强制检查的异常,这种异常是可以预见的,所
8.1.3 程序中的常见异常
07
OPTION
NoSuchMethodException异常 方法不存在异常。当无法找到某一特定方法时,就会抛出该异常。
DataFormatException异常
08
OPTION
数据格式错误异常。当数据格式发生错误时,就会抛出该异常。
NoClassDefFoundError错误
MemoryError、 StackOverflowError等。这些错误都需交由系统进行处理。
2. Exception类 ng.Exception类是程序本身可以处理的异常。 分为可查(checked)异常和不可查(unchecked)异常。
09
OPTION
未找到类定义错误。当Java虚拟机或者类装载器试图实例化某个类, 而找不到该类的定义时,就会抛出该错误。
8.1.3 程序中的常见异常
OutOfMemoryError错误
10
OPTION
内存不足错误。当可用内存不足以让Java虚拟机分配给一个对象时, 就会抛出该错误。
StackOverflowError错误
AWTError IOError
ThreadDeath LinkageError
ClassNotFoundException RuntimeException
C语言程序设计教程(第二版第8章
8.2 文件包含
例8-3 将例8-2程序改写为:Βιβλιοθήκη ①文件pcf.h
define PI 3.14159 #define COLUM(R,H,S,SC,V) S=PI*R*R; SC=2*PI*R*H; V=PI*R*R*H; #define PR printf #define F ″r=%6.2f, h=%6.2f, s=%6.2f, sc=%6.2f, v=%6.2f\n″
上一页 下一页 返回
8.1 宏定义
(7)可用宏定义表示数据类型。 例如:#define REAL float 这时可用REAL作单精度实型变量的说明: REAL e, f; 2.带参宏 C语言允许宏带有参数。在宏定义中的参数称为形式参数, 在宏调用中的参数称为实际参数。对带参的宏,在调用中, 不仅要宏展开,而且要用实参去代换形参。实参可以是表达 式。 带参宏定义的一般形式为: #define 宏名(形式参数表) 字符串
上一页 下一页 返回
8.3 条件编译
#define YES 1 main( ) { #ifdef YES printf(″a=%d\n″,a); #else printf(″a=%X\n″,a); #endif } 程序中的条件编译,若YES已被宏定义,则a以十进制整数 输出;否则,a以十六进制整数输出。
④在宏定义中的形参是标识符,而宏调用中的实参可以是表 达式。
⑤宏定义也可用来定义多个语句,在宏调用时,将这些语句
代换到源程序中。
上一页 下一页 返回
8.1 宏定义
c程序设计教程刘瑞新第8章异常处理、程序调试和文件操作新
通过try…catch语句所捕获到的异常,都是当遇到错误时系 统自己报错引发异常,并主动通知运行环境的。但是有时还可能 需要在编写代码人为控制什么时候发生异常,以及发生了怎样的 异常。Visual Studio提供的throw关键字就是专门用于人为引 发异常的。通常将这种人为引发异常的方式称为“抛出异常”。 其语法格式为:
当已经知道某行语句存在问题时,使用断点查找错误是个有效的 方法,但通常程序出错的具体位置并不容易确定,只能够猜测到在 某个范围内可能存在问题,这就需要在此范围内跟踪程序的执行结 果,一段段甚至一条条地执行语句,同时在调试窗口(如,局部变 量窗口)中观察内部数据的变化情况,从而确定问题所在。这种调 试方式称为程序的“分步执行”或称为程序的“跟踪”。常用的分 步执行有“逐过程”和“逐语句”两种。
2020/3/24
6
8.2 应用程序调试
8.2.1 常用调试窗口
1. 输出窗口 2. 命令窗口 3. 监视窗口 4. 局部变量窗口
2020/3/24
7
8.2 应用程序调试
8.2.2 程序断点和分步执行
1. 程序断点
为了排除程序中的错误,往往需要程序执行到某条语句时暂停下 来,以便查看程序的运行状态、变量的取值、属性的内容、当前执 行的过程甚至修改程序代码。让程序暂停下来的一种简单方法就是 设置断点。
获和处理异常的代码分为两个部分。其语法格式为: try{ //程序语句;} catch[(异常类名 异常变量名)] { //捕获程序语句引发的异常,执行异常处理程序 } finally{ //无论是否出现异常都会执行的语句}
2020/3/24
2
8.1 异常处理
8.1.2 抛出异常和常用异常类
1. 抛出异常
Visual LISP程序设计(第2版)第8章
3. 设置目标捕捉的类型 交互操作时,目标捕捉类型的选项是字符串,它以编码的形式记录
在系统变量osmode内。代码的具体含义如下: 0:不捕捉任何类型的对象 1:线段和圆弧的端点 2:线段和圆弧的中点 4:圆、圆弧或椭圆的中心 8:用point命令生成的点 16:圆、圆弧或椭圆的象限点 32:线段和圆弧的交点 64:图或字符串的插入点 128:垂足 256:切点 512:对象上距光标的最近点 1024:快速捕捉 2048:在观察方向上相交,实际不一定相交的点 4096:延长线上的点 8192:与所选对象平行
因为Make、Color、Ltype、LWeight等选项可以简写为M、C、L、LW, 所以上式可改为:
(command "layer" "M" "中心Байду номын сангаас" "C" 1 "中心线" "L" "Center" "中心线" "LW" 0.2 "中心线" "")
又因为当前图层的名字是“颜色”、“线型”等选项默认的图层名,所 以上式可改为:
因为在命令行操作时,layer命令需要空回车响应输入选项[?/ 生成(M)/设定(S)/新建(N)/开(ON)/关(OFF)/颜色(C)/线型(L)/线宽 (LW)/材质(MAT)/打印(P)/冻结(F)/解冻(T)/锁定(LO)/解锁(U)/状 态(A)]:提示才能结束该命令,所以在右括号前增加一对引号( 注意,引号内没有空格)。
2. 设置新图形对象的颜色 (1)通过command函数设置新图形对象的颜色 (command "color" 3) 或者 (command "color" "green") ;设置新图形对象的颜色为绿色 (2)通过setvar函数设置新图形对象的颜色 (setvar "cecolor" "2")或者 (setvar "cecolor" "yellow");设置新图形对象的颜色为黄色 3. 设置新图形对象的线型 (1)通过command函数设置新图形对象的线型 (command "linetype" "s" "center" "") ;设置新图形对象的线型为 中心线 (2)通过setvar函数设置新图形对象的线型 (setvar "celtype" "dashed");设置新图形对象的线型为虚线
易语言编程系统全书(第八章)
第八章多媒体随着软硬件技术的发展,个人电脑不仅能做做文字处理和数值运算,而且还能够处理图像、音视频等多媒体信息数据,多媒体信息包括数值、文本、图形、图像、音乐、语音、动画和视频信息等多方面内容,一般所说的对媒体处理主要是指图像、动画和音视频处理。
本章介绍易语言中音频播放命令、图形图像组件及视频播放组件。
掌握本章所介绍的基本多媒体组件,将对今后的程序开发、界面美化、功能增强等方面都有着很重要的意义。
在Windows系统中,常用的图形、声音、动画、视频等文件的类型有很多,下面列出了一些常见的音频、动画、图形图像及视频的文件类型。
1.声音文件*.WAV 声音文件,Windows中常用的格式,安装声卡和WAV驱动程序后可有媒体播放器播放。
*.MID 音序文件,安装声卡及MIDI驱动程序后,用媒体播放器播放。
*.Mp3 可用媒体播放器播放。
2.图形文件*.BMP Windows中常用的图形格式。
*.JPG 压缩的高质量图片。
*.GIF 动画图形,常用于网上传播的图形格式。
3.动画文件*.SWF 动画图形,常用于网上传播的图形格式,可用Flash播放。
*.AVI 视频文件由微软公司制定的标准,通过Video for Windows或其更新的媒体播放器来播放。
4.视频文件*.Wmv 是由微软所制定的网络串流多媒体标准格式。
*.mpeg 压缩视频的基本格式。
压缩方法是将视频信号分段取样,压缩比很大。
*.rm 有RealNetworks公司税所制定的音频/视频压缩规范。
8.1 声音(音频)8.1.1 媒体播放命令1.“播放音乐()”可以播放.WAV、.MID声音文件或相应格式的字节集声音数据、声音资源。
实例代码如下:逻辑变量=播放音乐(“C:\Windows\音乐文件.WAV”,真)或逻辑变量=播放音乐(#声音文件,真)其中“#声音文件”为声音资源。
第一个参数值为.WAV、.MID声音文件名称或相应格式的字节集声音数据、声音资源。
《Visual Basic程序设计教程(第3版)》第8章多媒体编程基础
8.1 多媒体控件(续)
• 播放MIDI的事件过程如下: • Private Sub Cmdmidi_Click() • mand="Close" • Mmcontrol1.Devicetype="Sequencer" • Mmcontrol1.Filename="D:\Wfffgz\Temp\Camyo
• (1)在窗体上创建一个Mmcontrol控件、3个命 令按钮,Cmdwave和Cmdmidi分别用来播放声音 和MIDI文件,Cmdexit用来停止播放,其Caption 属性分别设置为“Wave”、“MIDI”、“Exit”。 创建一个Autoloop复选框,用于选择是否自动重 复播放,2个文本框用于显示播放文件的长度和当 前位置,窗体的标题动态显示时间,如图8.2所示 。
8.1 多媒体控件(续)
• Position属性值在播放过程中是变化的,必 须加入定时器才能显示动态的数值。由于 已将 Mmcontrol1 控件的UpdateInterval属 性设置为200微秒,StatusUpdate事件在时 间间隔200微秒会自动激活,类似于定时器 ,能对控件的运行进行跟踪。另外,利用M mcontrol控件的StatusUpdate事件,计时是 从开始Play时算起的。如果利用Timer控件 定时,则计时是从程序运行时算起的,所 以前者更适用。
8.1 多媒体控件(续)
• 创建自动重复播放DONE事件过程如下: • Private Sub Mmcontrol1_DONE(NOTIFYCODE
第8章(第2版)-Java程序设计教程(第2版)-牛晓太-清华大学出版社
JAVA 程序设计
8.1 AWT与Swing
Swing也是Java语言实现图形用户界面的类库,它在技 术上比AWT前进了一大步。
从组件类型上来说,AWT是Java语言支持的各个平台所有组 件集合的交集,而Swing在AWT的基础上,具有更多更丰富的 组件。
Label lbl=new Label (); public void init () {
this.setLayout(new FlowLayout()); lbl.setText("这里是个AWT的标签!"); this.add(lbl); } public void paint(Graphics g) { } }
程序运行结果如图8-3所示
JAVA 程序设计
8.1.3 Swing概述
Swing和AWT都是Java语言中实现图形用户界面的类库, 两者都是JFC(Java Foundation Classes, Java语言基础类库) 的重要组成部分。
从实现效果来说,使用两者开发的软件产品,无论运行在何 种操作系统上,如Microsoft Windows、Mac OS X或Linux等, 都能呈现一致的图形外观。
JAVA 程序设计
8.1.1 AWT概述
AWT是Java语言中最早用于编写图形用户界面应用程 序的开发工具包。其优点是简单、稳定,兼容于任何一个JDK 版本,缺点是依赖于本地操作系统,缺乏平台独立性。
由于AWT组件与本地平台操作系统的图形用户界面绑 定,因此用AWT组件创建的图形界面在不同的操作系统中会 有不同的外观。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第八章编程§8.1程序的书写形式和格式程序的书写形式是零件加工程序单。
下面是一个已填好的程序单。
例1 见表8.1注:这个程序是从当前刀位置开始以300mm/min的速度走一个矩形轨迹,如图8.1图8.1程序的格式从例1中略见一斑。
每个零件加工程序有一个程序号P××××,或叫工件号,写在程序的首部。
接下来每行写一个程序段,每一程序段由段号N××××和若干指令组成,并以从小到大的段号顺序排列。
下面列出了所有可能出现的指令字的基本格式。
(程序号和段号视为特殊指令字)注:×代表阿拉伯数字0~9。
整数前零可省略,小数后零可省略。
§8.2 程序结构和坐标系统§8.2.1 程序结构系统供存放零件加工程序的存贮容量为4M,具有自动掉电保护功能。
在此容量内可存放若干个不同程序号的程序,其中包含一些必要的系统参数。
这些不同程序号的程序在计算机内部存放的秩序是任意的。
程序号用P字符和紧跟其后的不超过四位的整数表示,例如P0、P101、P123等。
§8.2.2 坐标系统采用标准坐标系统,即右手笛卡尔坐标系统,如图8.2所示。
由图可见,刀具运动的正方向,是工件与刀具距离增大的方向。
在使用绝对尺寸编程时,X值(X坐标值)和Z值(Z坐标值)指定了刀具运动终点的坐标值。
在使用增量尺寸编程时,U值(沿X轴的增量)和W值(沿Z轴的增量)指定了刀具运动的相对距离,其正方向分别与X、Z轴正方向相同,在同一程序段内可同时采用绝对尺寸和增量尺寸,但必须依照正确的组合格式。
正确组合:X、Z;U、W;X、W;U、Z。
不正确组合:X、U; W、Z。
一般情况下U=X终点-X起点W=Z终点-Z起点图 8.2 坐标系统§8.2.3 直径编程为了编程方便,坐标系原点通常设定在工件的对称轴上,并且X、U值为直径量。
例如:U-100.00是指令刀具进给50mm。
X100是指刀具进给至直径 100mm处。
§8.2.4 起始点、参考点、坐标原点和机械原点起始点: 起始点(即刀具起始点)是程序启动时刀具的开始位置。
参考点: 参考点有硬参考点和软参考点,参考点的设定参阅§7.4 。
坐标原点:坐标原点即工件坐标系原点,一般情况下取工件的旋转中心线与某一基础端面的交点为工件坐标系的原点,如图8.3 和图8.4 。
§8.3 编程指令§8.3.1 准备功能(G 功能)§8.3.1.1 快速点定位指令G00本指令可将刀具快速移动到所需位置上,一般作为空行程运动,既可是单坐标运动,又可两坐标同时运动,指令格式如下:G00 X(U) __ Z(W) __例1 N0020 G00 X100 Z300表示将刀具快速移动到X为100、Z为300的位置上,运动轨迹见图8.5。
例2 N0040 G00 U-36.02表示刀具从当前位置向X轴负方向快速移动36.02(直径量),实际位移18.01,运动轨迹见图8.6 。
注:(1)G00指令中不需要给定速度,G00运行速度应在参数设置方式下设定,设定的范围:2000mm/min~24000mm/min(Z轴),X轴减半。
G00的具体数值根据机床大小及负载情况调整。
(2)只有一个坐标值时,刀具将沿该方向运动(见图8.6);有两个坐标值时,刀具将先以1:1步数两坐标联动,然后单坐标运动(见图8.5)。
图8.5 图8.6§8.3.1.2 直线插补指令 G01本指令可将刀具按给定速度沿直线移动到所需位置,一般作为切削加工运动指令,既可单坐标运动,又可两坐标同时插补运动。
指令格式如下:G01 X(U) __ Z(W) __ F __例1 N0060 G01 Z100 F200表示将刀具以每分钟200毫米的速度走到Z100的位置,运动轨迹见图8.7。
例2 N0080 G01 U20.5 W-40 F150表示刀具以每分钟150毫米的速度,从当前位置开始按插补方式走一斜线,终点相对于起点的坐标为(U20.5,W-40),即其沿X轴方向移动20.5(直径量),沿Z轴移动W-40,运动轨迹见图8.8。
注:(1)G01指令中应给出速度F值,速度范围为1~2000mm/min。
(2)只有一个坐标值时,刀具将沿该方向运动,有两个坐标值时,刀具将按所给的终点坐标值做直线插补运动,其轨迹为连结起点到终点的一条斜线,见图8.8。
§8.3.1.3 圆弧插补指令G02、G03本指令可将刀具按所需圆弧运动,G02为顺圆弧,G03为逆圆弧,顺、逆方向设定见图8.9。
特别注意:这里的方向设定与人们日常顺、逆时针方向相反。
本指令可自动过象限。
指令格式如下:G02 X(U) __ Z(W) __ I __ K __ F __Z(W) __ I __ K __ F __G03 X(U) __图8.9编制圆弧程序时,应确定圆弧终点位置与圆心位置。
如需编制图8.10所示圆弧轨迹的程序,应明确圆弧终点位置为(X120、Z10)或(U60、W-90),圆心位置是相对于圆弧起点来描述的,用(I、K)表示圆心位置,这样图8.10中圆心位置应是(I60、K-40)。
确定了这两点,即可编程。
I,K表示圆心相对于起点的坐标值。
I=X圆心-X起点K=Z圆心-Z起点注:(1)圆弧终点位置及圆心位置中所用的X、U、I值均采用直径量编程。
(2)圆弧终点坐标计算误差应小于5个脉冲当量值。
(3)运行速度为1~2000mm/min。
例1 以绝对尺寸方式编制图8.10所示圆弧程序。
程序如下:图8.10N0100 G02 X120 Z10 I60 K-40 F300顺圆弧圆弧终点坐标值圆心相对圆弧起点位置运动速度例2 以增量尺寸方式编制图8.10所示圆弧程序。
程序如下:N0100 G02 U60 W-90 I60 K-40 F300例图8.11这是一个光滑曲线,它由A→B→C两段圆弧连接而成,AB为顺圆弧,BC为逆圆弧。
所以整个圆弧曲线应由两段圆弧程序连接起来完成,AB的圆心位置为(I50、K0),BC的圆心位置为(I-30、K-20)。
程序如下:N0120 G02 X40 Z25 I50 K0 F250N0130 G03 X60 Z5 I-30 K-20例4 按图8.11所示圆弧轨迹要求,以增量尺寸方式编制程序。
程序如下:N0120 G02 U20 W-20 I50 K0 F250N0130 G03 U20 W-20 I-30 K-20※本系统允许对G02,G03指令使用圆弧半经编程。
其指令格式为:G02 X(U) __ Z(W) __ R __ F __G03 X(U) __ Z(W) __ R__ F __其中X(U),Z(W)为圆弧终点。
坐标X,Z为绝对坐标尺寸,U,W为增量尺寸,X和U以直径量编程。
R为圆弧半径。
F为运行速度。
原G02,G03以圆心坐标编程保持不变。
这样,G02,G03既能以圆弧半径编程,又可以圆心坐标编程,用户可灵活应用。
注 :(1)如G02,G03中既有I,K又有R则出错报警(2)如R<(U/2)2+W2 ,则出错报警(3)另外,用圆弧半径编程时,圆弧对应的圆心角不能超过180度。
例:以圆弧半径编程方式编制图8.11所示圆弧程序。
程序如下;N0140 G02 U20 W-20 R25 F250N0150 G03 U20 W-20 R25§8.3.1.4 程序延时指令G04本指令给定所需延时的时间,当程序执行到本程序段时,系统按所给定的时间延时,不做任何其它动作,延时结束后再执行下一段程序。
指令格式如下:G04 F __例:N0140 G04 F10.50表示本段程序延时10.50秒。
注:本指令中F表示时间,单位为秒,范围为0.01—99.99秒。
§8.3.1.5 螺纹插补指令G30,G32、G33本指令用于加工标准公、英制直螺纹、锥螺纹、多头螺纹。
G30用来设定螺纹退尾方式,G32为英制螺纹,G33为公制螺纹。
1.螺纹退尾方式设定:本系统螺纹退尾方式有三种:(1)标准退尾(无G30指令或G30后不带参数):X向退尾量为2倍的导程再加2mm, 如导程为1.5mm的螺纹,退尾量为2×1.5+2=5mm(实际位移2.5mm),Z向退尾量为1.2mm。
指令格式 N×××× G30如果不用G30指令则系统默认为标准退尾。
(2)无退尾:螺纹指令结束时没有退尾,用于攻丝。
指令格式 N×××× G30 U0 W0(3)螺旋线退尾(老鼠尾):按G30指令设定的U值与W值退尾。
指令格式 N×××× G30 U__ W__其中0<U<30mm,W>1/4螺距。
例 N0080 G30 U10 W2N0090 G00 U-16N0100 G33 W-40 F1.5在螺纹总长度40mm中Z方向走到38mm时,即最后剩下2mm时X方向开始退尾,X方向退尾量为10mm,X方向退尾的同时,Z方向走完剩下的尺寸。
(4)在程序中G30必须设在螺纹加工指令前,并且G30指令具备模态,即G30设定后,其后面的螺纹指令均以设定的方式退尾,直至新的G30出现。
2.螺纹指令格式如下:G32 U__ W__ F__G33 U__ W__ F__F表示螺纹导程,公制螺纹单位为毫米,F范围为:0.25~48.00mm,英制螺纹用每吋牙数表示,小数点后的数值表示分数牙数的分母值,如每吋1112牙表示为11.2。
F范围为3312~12牙/吋。
编程举例如下:例1 N0160 G33 W-50 F1.5表示刀具沿Z轴负方向运行50毫米,加工导程为1.5毫米的右旋公制螺纹(主轴正转)。
例2 N0180 G32 W50 F11.2表示沿Z轴正方向运行50毫米,加工每吋1112牙的英制左旋螺纹(主轴正转)。
注:(1) 参数U为螺纹终点与起点间的直径差,无U时为直螺纹,有U时为锥螺纹。
(2) 参数W为螺纹总长,其正负与Z轴一致,要求│W│>│U│,│W│>4mm,否则程序出错报警。
由于螺纹加工起步时的螺距是变化的,因此编程时必须使刀尖让开工件足够的距离。
(3) 在执行G32,G33前必须安排一道X向进刀指令(G00或G01),用来确定螺纹切削完毕时X向的退尾方向,本系统规定退尾方向与进刀方向相反,如果没有进刀指令,则退尾方向随机。
例 N0150 G01 U-10 F150N0160 G33 W-50 F2其中,第N0150段程序(负方向走刀)指出了第N0160段程序的退尾方向是正方向。