Windows编程教案

时间:2019-05-12 22:10:12下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《Windows编程教案》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《Windows编程教案》。

第一篇:Windows编程教案

Windows编程教案

第一课

最简单的Windows程序(2学时)

Windows编程是一个很大的主题,涉及的方面也非常的多。Windows始于90年代,至今Windows编程的发展已经非常成熟了,而单独直接使用API的开发也是越来越少了。因此,市面上很少有泛泛的简单入门级的Windows程序设计了。一个是系统级的Windows编程介绍,如Windows核心编程。一个是方向级的Windows编程介绍如Windows图形编程,Windows网络编程等等。我们这次课的主要参考用书是Windows核心编程,同时也参考了一些其他内容。鉴于教材的价格较贵,同时也需要考虑我们自身的学习内容不一定很多以及学时的原因,就没有定教材。看我的教案吧。

(1)Win32 API API : Application Program Interface。应用程序接口。API就是在进行Windows编程时使用的函数库。本课就是

Windows编程=API+C语言(或者C++语言)(2)开发环境

我校机器上安装了VC++ 6.0。相信这是大家一直以来学习C,C++使用的开发环境。但VC60离我们实在太远了,它是一款90年代的产品,已经近20年的历史了。我们机器里还有VS2005 或 VS2008,那里面的C环境要比VC60强太多了,强烈建议大家使用更高级的平台。本次授课的开发环境有两个。一个是轻量级的DEV C++,一个是重量级的VS2010.简单程序我们都将用DEV C++来实现。

DEV C++是一个非常小的C环境,但性能要优于VC60,调试环境不如VC60。这个环境在我们的共享资源里有,大家可以下载安装。安装过程非常简单,一直下一步即可。

这是其主界面。

(3)最简单的Windows程序

提到最简单的程序,几乎所有的人都会想起经典的HelloWorld。

这不是Windows程序,如果在以前这叫DOS程序,现在叫Windows控制台应用程序。它不算Windows程序,但它很简单的就把Helloword显示到屏幕上了。而Windows程序要想把HelloWorld显示在屏幕上就确实不容易了。

3.1 访问Helloworld网站,因为把Helloworld显示在屏幕上并不容易,我们可以一点一点来,先让Helloworld以文字形式出现在其他地方,这里我们通过访问网站www.xiexiebang.comE,HINSTANCE,LPSTR,int nShow)DefWindowProc(HWND,UINT,WPARAM,LPARAM)GetMessage(LPMSG lpMsg,HWND hWnd,UINT wMsgFilterMin,UINT wMsgFilterMax).如果得到WM_QUIT返回0 TranslateMessage(&MSG)DispathMessage(&MSG)BeginPaint(&PAINTSTRUCT)TextOut(HDC,INT,INT,LPSTR,INT)EndPaint(HWND,&PAINTSTRUCT)作业:

自己建立应用,在窗口100,100位置显示HelloWorld 第三课 坐标位置及大小(4学时)

在我们写控制台应用的时候,不能自由的控制输出显示的位置。因此,没有学习过这方面的内容,现在我们创建了窗口,并且在窗口上显示了Hello World。这个过程涉及到很多涉及位置和大小的因素,如窗口的大小,显示的位置,文字显示的位置。说到位置,就涉及定位,说到定位就要说坐标系。在屏幕上显示内容涉及到坐标空间的知识。在Windows应用中坐标空间分如下几部分内容

1、物理坐标空间

物理坐标空间,指的是物理设备上对应的坐标系。如显示器

坐标原点在左上角。如下是一个1024*768的屏幕物理坐标(0,0)(1024,0)

(0,768)

2、设备坐标空间

基于设备上下文指定的坐标空间。如窗口内显示的文本,使用的坐标就是基于窗口内上下文的坐标。

可以看到设备空间是物理空间体系的一个子空间。设备空间可以依赖于一个窗口。换句话可以把设备空间理解为在物理空间上显示的一个对象,其子空间。下面我们通过一个小例子理解物理空间和设备空间

在窗口的标题条,以设备坐标,和物理坐标的形式显示鼠标在窗口内的位置

WndProc处理消息循环

WM_MOUSEMOVE,鼠标移动时消息标识,是个整数。其参数lParam,的第16位代表设备坐标中的X,高16位代表设备坐标的Y。POINT 是结构体。只有x,y两个成员 ClientToScreen,将设备坐标转换为屏幕坐标(物理坐标)sprintf:格式化字符串

SetWindowText:设Window标题

3、页面坐标空间(逻辑坐标空间的一种)

作用,可以任意指定坐标原点,坐标轴方向,比例尺等信息。可以用来与设备无关的大小如厘米,毫米等。

页面坐标叫窗口,其表示有原点(X,Y),宽度,高度组成(WIDTH,HEIGHT)设备坐标叫视口,其表示有原点(x,y),宽度,高度组成(width,height)

页面坐标和设备坐标的变换关系,大写为设备坐标,小写为页面坐标

PX=X+(px-x)*WIDTH/width PY=Y+(py-y)*HEIGHT/height

px=x+(PX-X)*width/WIDTH py=y+(PY-Y)*heigh/HEIGHT

GDI函数使用页面坐标,显示出来时是设备坐标

通过对窗口,是否对应的四个参数的设置,可以实现特殊的变换。页面坐标是逻辑坐标的一种。在这个例子中我们一直使用 MoveToEx(ps.hdc,0,0,NULL);

LineTo(ps.hdc,30,30);划线,MoveToEx是把画笔移动到指定位置(页面坐标),LineTo是从画笔所在位置到目标位置画一条线。

在这个例子中,每次划线前通过设置视口,窗口结果使划线的结果不同。这种形式的坐标转换无法实现旋转

4、世界坐标空间(逻辑坐标空间的另一种)功能:比页面坐标空间方便,可以实现旋转 结构体 XFORM{ FLOAT eM11, FLOAT eM12, FLOAT eM21, FLOAT eM21, FLOAT eDx, FLOAT eDy, } 世界坐标到设备坐标的变换。小写到大写。PX=eM11*px+eM21*py+eDx;PY=eM12*px+eM22*py+eDy;默认为{1,0,0,1,0,0} 和设备坐标相同 {1001dxdy} {mx00my00}缩放 {-100-100}映像

旋转{cos(a),sin(a),-sin(a),cos(a),0,0}顺时针旋转a度 {cos(a),-sin(a),sin(a),cos(a),0,0}逆时针旋转a度

我们下面的例子通过Rectangle(ps.hdc,0,0,50,50);绘制50*50的矩形,用循环配合世界坐标变换绘制特殊的图形

循环20次,每次旋转坐标轴的方向,绘制正方形。总结:

物理坐标指的是屏幕坐标,不能改变坐标轴 设备坐标指的是窗口坐标,不能改变坐标轴

页面坐标和世界坐标均是逻辑坐标,可以改变坐标轴,世界坐标功能更强,可以旋转。理解这些概念的绘图是很重要的。

相关函数

BOOL ClientToScreen(HWND hWnd, LPPOINT lpPoint);设备坐标转屏幕坐标

BOOL ScreenToClient(HWND hWnd,LPPOINT lpPoint);屏幕坐标转设备坐标 int MapWindowPoints(HWND hWndFrom, HWND hWndTo, LPPOINT lpPoints, UINT cPoints);

各个窗口设备坐标之间的转换

BOOL SetWindowOrgEx(HDC hdc, int X,int Y,LPPOINT lpPoint);设置窗口的原点

SetViewportOrgEx(HDC hdc,int X,int Y,LPPOINT lpPoint);设置视口的原点

BOOL SetViewportExtEx(HDC hdc, int nXExtent, int nYExtent,LPSIZE lpSize);设置视口的width,height BOOL SetWindowExtEx(HDC hdc, int nXExtent,int nYExtent, 设置窗口的width,height SetMapMode设置页面坐标的映射模式 SetGraphicsMode设置世界坐标的映射模式 Rectangle绘制矩形,并填充内部 SetWorldTransform设置世界坐标变换 LineTo:换线

MoveToEx:移动画笔

SetWindowText设置窗口标题

LPtoDP(hdc,LPPOINT,int)把逻辑坐标点转换为设备坐标点 作业:

使用movetoex,lineto,LPtoDP及世界坐标变换,绘制正六边形

LPSIZE lpSize);

提示:

画一条水平线后,将坐标原点移动到线的末尾,并将坐标轴旋转60度*n,重复上步 要将坐标移动到线尾需要使用LPtoDP

第四课 色彩及绘制(6学时)

(1)画点

像素:计算机屏幕上的一个点。是计算机屏幕显示的最小单位。点的个数取决于计算机的分辨率。如1024*768,则屏幕由1024*768个点组成。每个点都可以独立的显示一个颜色。计算机能够表示的颜色有256*256*256=16777216种。颜色的表示 COLORREF。定义颜色RGB COLORREF color=RGB(红,绿,蓝)随机绘制颜色点

需要#include srand:随机种子函数,传递的参数不同,可以生成不同的随机数序列

GetTickCount(): API函数,得到系统开机后到现在的滴答数,特点就是每次返回的结果不重复。

两者的配合得到不重复的随机数序列

rand得到函数

SetPixel设置某点的颜色

(2)画线

在以前的例子里我们一直用1个像素宽的黑色实现来画线。现在我们学习创建画笔,用画笔来画线。

步骤

1、创建画笔CreatePen(画笔类型,宽度,颜色)

2、将画笔选入设备上下文SelectObject

3、用画笔绘制

4、将画笔选出设备

5、删除创建的画笔对象

SelectObject是将GDI对象画笔选入设备上下文,并将当前的选出返回。因此我们两次使用SelectObject,最后一个将以前的画笔选入,返回我们创建的,并在下一步删除画笔。

虚线只能支持宽度1.画线函数

Polygon(HDC,LPPOINT,INT).连接指定点,画多边形,封闭。如果画4边形则确认3个点即可。

Polyline(HDC,LPPOINT,INT).连接指定点,画多边,不封闭 MoveToEx:移动画笔

LineTo:用当前的画笔划线

Arc:画圆弧 BOOL Arc(HDC hdc, int nLeftRect, int nTopRect, int nRightRect,int nBottomRect, int nXStartArc,int nYStartArc,int nXEndArc,int nYEndArc);前4个是画圆弧的矩形,后四个指定了弧开始和结束的位置 作业:画一条正弦曲线

使用SexPixel,LineTo,MoveToEx实现

(3)画面

画面就是用画刷来填充 步骤

1、创建画刷CreateSolidBrush(颜色)

2、将画刷选入设备上下文SelectObject

3、用画刷填充

4、将画刷选出设备

5、删除创建的画刷对象

用蓝色画刷填充矩形,矩形的边框是黑色。CreateSolidBrush:创建颜色画刷

Rectangle:绘制矩形,用当前的Pen绘制边框,用当前的Brush来填充矩形内部 FillRect:画刷填充矩形。FillRect(hdc,&RECT,HBRUSH)

使用FillRect不绘制边框,因为参数中有画笔,也不用SelectObject了。Ellipse:椭圆,圆。画边框,填充 Pie:圆饼(4)位图

将文件系统中的位图显示到窗口中。绘制位图步骤

1、根据现有的设备上下文创建兼容的设备上下文

2、加载位图

3、绘制图像

4、删除加载的位图

5、删除兼容的设备上下文

BitBlt是在设备上下文之间拷贝图像的函数,非常常用

在上一个列子的基础上,得到位图的大小并绘制实际大小的位图 作业:

在一个窗口上显示一副位图文件(*.bmp)。(5)字体和文本

创建逻辑字体并显示文本 步骤

1、创建逻辑字体

2、选入字体

3、输出文本

4、选出字体

5、删除字体

另一个与文本绘制有关的功能更强的函数是DrawText 总结:本课介绍了一些基本的绘图操作,其中涉及了较多的函数,这里只是介绍了基本的使用方式和原理。函数 srand rand GetClientRect SetPixel LineTo MoveToEx CreatePen CreateSolidBrush CreateFontIndirect BitBlt SelectObject DeleteObject CreateCompatibleDC LoadImage Rectangle FillRect DeleteDC 等等。

第五课 常用控件的使用(6学时)

在上面的几节课程中我们学习了如何建立Windows 应用,并在图形环境下绘制图形。这些操作都是控制台应用中没有的。本章我们介绍如何在窗口中加入按钮等常规控件,并且处理它们。

一般控件种类,按钮,列表组合,编辑,列表,滚动条,静态文本。控件是一种特殊的窗口。这些特殊窗口的类已经由Windows系统注册了,不需要我们注册。这些类的名字分别为。

BUTTON,COMBOBOX,EDIT,LISTBOX,SCROLLBAR,STATIC(1)创建

任何时候均可,但通常在WM_CREATE事件中处理

WM_CREATE是在窗口创建时触发 WM_DESTORY是在窗口销毁时触发

控件用CreateWindow创建,返回控件窗体的句柄,窗体的类型一定为WS_CHILDWINDOW。附加的类型以或关系叠加。具体要参见MSDN(2)操控

控制这些控件是通过向这些控件的窗体句柄发送特点消息来实现的 如 SendMessage(控件句柄,消息指,参数1,参数2)具体设置参见MSDN 在上面的例子,我们处理下拉列表的时候使用了SendMessage发送消息(3)反馈

我们操作控件会触发控件的事件得到一些反馈,下面介绍如何得到这些反馈。总体上,我们把这些反馈过程叫通知。通知的过程是将反馈发送给父窗体,一般父窗体有两个事件接收控件的反馈

WM_NOTIFY,WM_COMMAND。WM_COMMAND HIWORD(wParam)通知消息号 LOWORD(wParam)控件标识 WM_NOTIFY wParam :控件标识 lParam:NHMDR的指针

比如按钮的单机对应的事件是BN_CLICKED。该事件通过WM_COMMAND通知。

我们把上个例子补充完整,并且为每个控件指定ID,指定的方式是在(HMENU)的后面写个整数,原则上应该不同。

HIWORD,得到一个字的高字节。LOWORD得到一个字的低字节。(4)通用控件

我们上面介绍的是基本的控件,除了这些基本控件外还有一些通用控件。这些控件的使用和处理和基本的控件差不多,但功能更强大。ANIMATE_CLASS : 动画控件,播放AVI动画 DATETIMEPICK_CLASS :日期时间下拉控件 HOTKEY_CLASS :定义热键的控件 MONTHCAL_CLASS : 月份选择控件 PROGRESS_CLASS :进度条控件 REBARCLASSNAME :rebar控件 STATUSCLASSNAME:状态条控件 TOOLBARCLASSNAME :工具条 TOOLTIPS_CLASS :提示控件 TRACKBAR_CLASS :轨迹条 UPDOWN_CLASS :上下箭头

WC_COMBOBOXEX :组合框扩展 WC_HEADER :头控件

WC_IPADDRESS :IP地址控件 WC_LISTVIEW :listview控件

WC_PAGESCROLLER :页滚动控件 WC_TABCONTROL :tabControl控件 WC_TREEVIEW :树视图控件

通用控件在使用前使用InitCommonControlsEx初始化。使用这些通用控件要include 同时在连接时要连接 comctl32.dll

头部

这些控件和IE有关系,根据IE版本不同,控件的外观和功能有区别。

(5)创建菜单

CreateMenu:创建一个菜单

CreatePopupMenu:创建一个子菜单 AppendMenu:向菜单增加项目 SetMenu:将菜单联系到窗口

第六课 进程及线程(2学时)

 进程:是一个正在运行的程序的实例。由两个部分组成

1、一个是操作系统用来管理进行的内核对象。内核对象是系统用来存放关于进程信息的地方。

2、地址空间,每个进行都有自己的地址空间

进程本身不执行代码,进程要至少拥有一个线程,由线程来执行代码。每个线程都拥有自己的CPU寄存器和堆栈。当创建一个进程时系统会自动创建一个主线程。

CreateProcess创建进程

内部执行细节:1 创建一个小的结构存放进程信息分配地址空间

创建一个小的结构存放线程信息

执行C/C++启动代码,最终会调用WinMain或main。结束一个进程 TerminateProcess

TerminateProcess 1 使用ToolHelp遍历系统进程

列举系统全部的进程

需要

#include #include using namespace std;

 线程

线程由两个部分组成 内核对象 线程堆栈,用于维护执行代码时所有的函数参数和局部变量 进程是活波的,进程不执行任何东西,它是线程的容器。线程在进程的地址空间中执行代码。如果一个进程拥有多个线程则这些线程共享进程地址空间内的代码和数据。进程的地址空间要比线程占用更多的系统资源,因此要更多的使用线程。每个线程必须有个入口点函数,主线程是main,WinMain。如果要创建一个线程,则这个线程的函数原型是这样的。DWORD WINAPI ThreadProc(PVOID pvParm){

return value;} 因为线程会共享全局变量,因此多线程应该少使用全局变量 1 线程创建

线程的创建不能直接使用CreateThread API函数。而要使用C编译环境自带的创建进程函数。

#include

unsigned uThreadid=0;uintptr_t hThread=

_beginthreadex(NULL, 0,ThreadProc,NULL,CREATE_SUSPENDED,&uThreadid);第3个参数是线程函数地址,第4个参数是传递到线程的LPVOID,第5个参数为0线程马上运行、CREATE_SUSPENDED需要激活才能运行。最后一个保存线程的ID 进程和线程ID是一个标识。不重复。进程和线程对象是系统对象,关闭这些对象对进程和线程的运行没有影响。

第7课 线程的调度和同步(6学时)线程暂停:

创建时使用CREATE_SUSPENDED创建一个暂停的线程

使用SuspendThread暂停线程

长时间不使用窗体 恢复线程:

ResumeThread

ResumeThread和SuspendThread使用次数要对应。

休眠线程 Sleep(毫秒)线程的同步是比较容易出错的地方,要多多实践和理解。参见线程冲突的例子。

每个线程对变量g累加10000次,创建6个线程,这是其中一次的运行结果。可以看到结果不是60000.对线程冲突问题的解释

一条C的g++对应的汇编指令为3条 mov eax,[g] inc eax mov [g],eax

如果我们创建两个线程,这两个线程将共享上面的代码。如果只有一个CPU的话,那同一时刻只能志执行一条汇编指令。但Windows的调度机制可以保证代码按顺序执行,但不能保证不被打断。举例 g=0 mov eax,[g] //1 eax=0 inc eax

//1 eax=1 mov [g],eax //1 g=1 eax=1 mov eax,[g] //2 eax=1 inc eax

//2 eax=2 mov [g],eax //2 g=2 eax=2 1和2两个线程分别执行上面的3行代码,则g被加了两次,得到2。但实际上这是多线程的特例。真实的情况是CPU下条要执行那个线程的代码是随机的。如下

g=0 mov eax,[g] //1 eax=0 inc eax

//1 eax=1 mov eax,[g] //2 eax=0 inc eax

//2 eax=1 mov [g],eax //2 g=1 eax=1 mov [g],eax //1 g=1 eax=1

线程1在增加后没有及时赋值给g,然后线程2执行。最后g为1。这就是线程没有同步导致的问题,也是我们程序中出现的问题。解决方法(1)原子操作函数

使用InterlockedExchangeAdd,加减

InterlockedExchange 赋值

InterlockedCompareExchange 比较赋值

使用这些函数加减变量,保证只有执行完后其他进程才能进入。

结果是60000了,但是按理应该输出六次“线程运行了结束了”。但只显示两次,其实每次的结果多不会一样。这也是并发带来的问题。

解决方法(2)关键代码段

在使用关键段之前使用该函数

输出了6次,但每次对应的g值不一定以10000递增。如果把进入关键段的位置提前到最前面可以得到常规的理解

这时这6个进程某种意义上没有并发执行。

局限:关键代码段只能在一个进程内使用,没有等待时长的限制容易死锁。解决方法(3)内核对象 具备通知状态的内核对象 进程 线程 作业

文件修改通知 事件

可等待定时器 文件 信标

控制台输入 互斥对象 举个例子

取消注释后,一次显示一个。体现了该函数对线程的控制。

(1)事件控制

尽管WaitForSingleObject可以等待很多对象的反应,但其主要还是用来处理事件等对象。事件是一种内核对象,有两个状态,一个用于表示该事件是自动重置事件还是人工重置事件。人工重置事件等待该事件的线程都会得到通知,自动重置事件只有一个线程会得到通知。另一个是事件的通知状态。一是未通知状态线程等待,一个是已通知状态,线程运行。CreateEvent(NULL,自动(false)还是手工(true),通知(true)未通知(false)。HANDLE CreateEvent(LPSECURITY_ATTRIBUTES lpEventAttributes,BOOL bManualReset,BOOL bInitialState,LPTSTR lpName);最后一个是为事件起个名字,同名事件不能建立两次。保证同名事件只能建立一次,可以为空。SetEvent:设为已通知状态 ResetEvent:设为未通知状态

OpenEvent:打开一个已经存在的时间,返回Handle

创建自动通知,立即通知事件

对自动通知事件SetEvent有意义,对手工通知事件无意义。手工通知同时显示6个窗口,自动通知一次显示1个(2)信标内核对象

使用信标可以确定让几个线程同时运行

CreateSemaphore(NULL,初始数,最大数,名称)OpenSemaphore

最多同时有3个线程运行。(3)互斥对象

互斥对象和关键代码段的作用相同,效率比关键代码段低。但运行不同进程间使用互斥对象,同时可以设置最大的等待时长。互斥对象和其他内核对象的区别,互斥对象可以记录调用的线程ID,一旦线程得到该对象同线程的其他地方的等待将不会等待。CreateMutex(NULL,初始等待,名称)OpenMutex(0,NULL,名称)ReleaseMutex(HANDLE),只能是否本线程得到的对象

(4)

第二篇:Windows编程知识点总结

1、基于MFC对话框程序的框架代码主要由一下几个部分组成:

A.应用程序类

B.对话框类

C.资源文件

D.预编译文件

2、Windows是建立在消息驱动机制上的。

3、模态对话框运行机制?

当模态对话框产生后,应用程序没有处理消息,唯一的解释就是模态对话框产生后会屏蔽其他窗体消息。事实也正是如此,创建模态对话框后,应用程序只会响应该对话框的消息,知道应用收到结束模态对话框窗体的消息后,才会把控制权交还给应用程序。

4、非模态对话框

与模态对话框不同,非模态对话框不会垄断用户的输入,用户任然可以使用其他窗体。

5、属性对话框主要分为两个部分:

A.属性页

B.属性对话框架

6、属性页只是对话框的一种形式。

7、控件的逻辑顺序决定着软件中需要使用TAB进行焦点切换时的顺序排列。

8、控件按钮有四种基本类型:

A.下压按钮

B.复选按钮

C.单选按钮

D.自绘按钮

9、按钮控件会向父窗口发出控件通知消息

A.BN_CLICKED:鼠标单击消息

B.BN_DOUBLECLICKED:鼠标双击击消息

C.BN_SETFOCUS:获取用户输入焦点

D.BN_KILLFOCUS:失去用户输入焦点

10、在MFC环境下,除了使用CButton类本身的成员函数来操作按钮控件,还可以使用窗体相关类的成员函数,使用这些函数可以根据按钮ID直接进行操作。

11、MFC的CEdit类封装了编辑框控件的基本操作。

12、UPPERCASES设置大写,lowerCase设置小写,Number设置只能接受数字,Password设置显示为*。

13、MFC的CListBox类封装了列表框控件的基本操作。

14、AddString:添加字符串列表项

DeleteString:删除字符串列表项

Dir:从当前目录向列表框添加文件名

FindString:在列表框中查找包含指定前缀的第一个列表项

FindStringExact:在列表框中查找与指定字符串匹配的列表项

InsertString:向列表框中插入一个列表项

ResetContentp:清空编辑框和列表框的所有内容

Selectstring:在列表框中查找字符串

15、组合框有三种模式:

简易式

下拉式

下拉列表式

16、组合框有两种形式:

Dropdown样式

Drop List样式

17、MFC的CProgressCtrl类封装了进度条控件的基本操作。

18、tist->SetTimer(1,100,NULL)

设置计时器ID为1,每100ms触发一次

19、tist->KillTimer(1)

关闭计时器120、列表控件有四种呈现方式:

图标视图

小图标视图

列表视图

报表视图

21、文档视图结构是使用MFC开发基于文档的应用程序的基本框架,最主要的思想是数据的管理与显示分离。

22视图类CView23、使用AppWizard创建SDI和MDI的过程相似,主要区别是创建SDI时不生成CChildFrame类,CMainFrame的基类为CMainWnd;而创建MDI时会生成两个框架类,一个是CMainFrame类,由CMDIFrameWnd类派生而来,另一个是CChildFrame类,由CMDIChildWnd类派生而来

24、文档与视图体系

一个文档可以对应多个视图,而一个视图只能对应一个文档

文档与视图的结构的优势在于数据的管理与显示分离,在开发文档/视图体系开发应用过程时,涉及到:文档模板、文档、视图、框架窗口

25、MFC的CView类是所有视图类的基类,主要有两大工能:

将与其相关联文档的数据呈现给用户

接受用户对数据的修改,并反馈给文档

26、建立MFC单文档应用程序,实例项目名称为“single”框架会自动生成4个类:

CSingleApp类:应用程序类

CMainFrame类:框架类

CSingleDoc文档类

CSingleView类:视图类

27、在MFC中使用GDI 进行绘画操作一般会涉及两类对象:

设备上下文对象

GDI对象

28、设备上下文,是一种windows数据结构,它包含与设备绘制属性相关的信息。

29、主要有一下几种GDI 对象:

CPen对象:用来绘制线条

CBrush对象:用来填充绘制对象的内部

CBitmap对象:用来操作位图对象

CFont对象:用来绘制文本

CPalette对象:用于应用程序和色彩输出设备之间的接口

30、使用GDI进行图形绘制的一般流程:

创建GDI对象

创建获取得设备上下文对象

使用SelectObject把GDI对象选入设备上下文

使用图形输出函数在指定上下文中绘制图形

31、画刷其实是一个像素大小为8*8的位图,用多个相同的位图对封图形的内部进行填充

32、位图

位图是描述图形最简单直观的一种形式,把图像横向分为等间距的W列,纵向分为等间距的H列,于是这个图形的大小被定义为分辨率W*H33、键盘上的每一个健都对应一个唯一的扫描码,在windows系统中为实现设备无关的要求,需要使用虚拟键值

34、当有键盘事件发生时,设备驱动器首先获取健的扫描码,并转换为虚拟键值

35、在应用程序中响应键盘消息有两种方式:

响应本进程的键盘消息

响应系统的键盘消息

36、keybd_event只是用于产生键盘事件,至于由谁来处理他并不关心。系统捕捉到键盘事件后,会转化为键盘消息的形式派发给当前系统中拥有键盘输入焦点的应用程序。SendMessage和PostMasseage的区别在于,PostMasseage首先把消息发到指定句柄所在线程的消息队列再由线程派发。SendMessage是把消息直接发送的指定句柄的窗体或控件。而往往很多情况下。指定句柄是个控件。而对控件的消息消息处理一般都是定义在主对话框上的。除非对其进行子类化,如果使用SendMessage,消息就无法到达主对话框因而无法达到预期的效果。

37、TCP协议是一个面向连接的、可靠的协议,UDP协议是一个不可靠的、无连接的协议

38、因特网控制报文协议(Internet Control Message Protocol,ICMP)

39、套接字是一种网络编程接口,提供了一种网络数据发送和接受机制,套接字是网络通信的基础,一个套接字表示通信的一端,使用套接字可以实现数据包在网络上的传输。

40、soket函数,用来根据指定的地址协议簇、套接字类型和协议类型创建一个套接字。

listen函数,监听远程连接

accept函数,用来接受客户端连接。

sendto函数,用来向指定地址发送数据。

recv函数,用来在已建立连接的套接字上接收数据。

recvfrom函数,用来在指定套接字上接收数据。

setsockopt函数,用来设置套接字属性。

41、进程是一个正在运行的程序的实例,有两部分组成:

一个操作系统用来管理进程的内核对象。

创建时系统所分配的资源,主要是内存地址单元。

41、进程地址空间作为一个载体。包含进城的所有数据和代码以及堆和栈。为线程的运行提供保障。

42、进程是静态的43、线程也有两个部分组成:

线程内核对象;线程堆栈。

44、线程是动态的、可执行的、它总是在某个进程的环境中创建的。

45、每个线程都是运行在其所属进程的地址空间,因此线程只能访问本进程的地址空间,而其他进程对其是不可见的46、所谓‘页’,只是操作系统为了更好的管理地址空间所产生的一个逻辑上的概念,把一个固定长度的地址空间作为一个页,通常为4kb,系统在在对地址空间进行管理时,把每4kb的空间作为一个单位,最终形成内存管理的多级索引结构。

47、物理存储器和进程虚拟地址空间的映射是无序的,每一个进程虚拟地址空间也只能由一个物理存储器页来映射。

48、“地址转换机构”就是负责他们彼此之间的关联。

49、虚拟内存也有三种基本状态:

空闲:地址空间没有被占用,不能使用

保留:地址空间没有被占用,但还没有与物理存储器相关联,不能使用。

提交:且已经与物理存储器相关联,可以使用。

50、内存映射文件

内存映射文件可以在进程中保留一个地址空间区域,并把磁盘文件提交给该区域。一旦映射成功,就可以在内存中直接操作文件,而不再需要使用readfile、writefile等文件操作API。

51、情况下会使用内存映射文件:

系统使用内存映射文件加载可执行模块(.exe)和动态链接(DDL)

操作数据文件

共享内存

52、消息传递

消息传递机制并不以进程为界限,处理消息的是窗体,而与是否在同一进程无关。因而在进程间使用消息传递作为通信手段有个前提,即都是窗体应用程序。

53、共享内存的原理

使用内存共享机制,在任何一个进程内创建内存映射,却能够在其他多个进程中使用。这些进程共享的是物理内存器的同一个页面,把这些物理内存映射到虚拟内存时各个进程的虚拟地址不一定相同。当一个进程将数据写入共享内存时,其他进程可以立即获取数据变更情况,显然这种共享内存的方式是完全可以满足在进程间进行大数据快速传输任务要求的。

54、与内存映射磁盘文件一样,共享内存的本质也是内存映射机制。

55、使用系统页文件支持的内存映射文件,及共享内存。

56、进程间通信的三种基本方法:匿名管道、命名管道、邮槽

57、管道是用于进程间通信的共享内存区域。创建管道的进程称为管道服务器,而连接这两个管道的进程称为管道客户端,一个进程向管道写入信息,另外一个进程从管道读取信息

58、匿名管道

匿名管道是基于字符和半双工的,一般用于程序输入输出的重定向。如果需要获取一个基于控制台窗口应用程序的输出,此时就可以是用匿名管道,首先使用CreatePipe函数创建匿名管道。

59、命名管道的特征:

命名管道是双向的,进程间可以使用同一管道进行交互

命名管道不但可以面向字节流,还可以面向消息。所以读取进行可以读取写进程发送的不同长度的消息

多个独立的管道实例可以用同一个名称来命名。

命名管道可以用于网络间两个进程的通信,而其实现过程与本地进程通信完全一致

60、创建命名管道使用CreateNamedPipe函数

61、邮槽是实现单通道的进程间通信的通信方式。创建邮槽的进程称为邮槽服务器,向邮槽发送消息的进程称为邮槽客户端

60、创建邮槽使用CreateMailslot函数

61、windows剪贴板是一种比较简单同时也是开销比较小的进程间通信方式。

62、剪贴板通信机制

windows系统支持剪贴板IPC的基本机制室友系统预留的一块全局共享内存,可用于被各个进程暂时存储数据。写入进程首先穿件一个全局内存块,并将数据写到该内存块;接受数据的进程通过剪贴板机制获取此内存块的句柄,并完成对该内存块数据的读取。

63、剪贴板通信有5种基本情况:

文本剪贴板

位图剪贴板

自定义格式

延迟提交

多项数据

63、进程同步可分为两大类:

访问共享资源,多个进程访问进程共享资源时,需要确保资源不受破坏。

事件通知,一个线程完成某项任务后通知其他线程。

64、原子访问,是指线程对共享资源的独占式访问。

65、关键代码段,是指在执行前首先去的对共享资源的访问权,然后让代码以原子操作方式执行来访问共享资源的一种方法。

66、内核对象等待函数,其所等待的也正是内核对象的受信状态。

67、内核对象本质上只是一个内存块。

68、内核对象是操作系统对资源进行管理的单位。

69、内核对象有两种状态:已通知状态、未通知状态

70、在所有内核对象中,事件内核对象是最基本的对象,事件内核对象有两种状态:已通知状态、未通知状态。在多线程环境先经常使用事件内核对象的这种特性实现线程同步。

71、事件内核对象有两种基本类型:手动重置事件、自动重置事件。

72、等待定时器内核对象是可以在某个指定时间或者以规定的间隔发出通知信号的内核对象,一般在某个线程需要定时执行某项功能时用这种内核对项

73、信标内核对项常用于在多线程环境下控制某类资源的使用,使用信标内核对象可以让系统自动地维护资源的数量,并合理的控制线程对资源的访问情况。

74、信标的出色之处在于它们能够以原子操作方式来执行测试和设置操作,当向信标申请一个资源时,操作系统就要检验是否有这个资源可供使用,同时将可用资源的数量递减,而不让另一个线程加以干扰。只有当资源数量递减后,系统才允许另一个线程申请对资源的访问权。

75、如果线程需要访问该资源就要先获取互斥对象,所有线程都应遵循这个规则。

76、动态链接库(DLL)是Windows操作系统的基础,所有API函数都包含在DLL中。应用程序并不是只有一个可执行程序,而是由一个可执行模块和若干个DLL模块组成。当执行应用程序时,系统会把与可执行模块相链接的DLL模块加载到当前进程地址空间。

77、动态链接库(DLL)的最大特性是支持动态载入。

78、要产生可执行文件有两个步骤:

1)编译过程。编译源码,为每个C/C++源文件生成一个.obj模块,由编译器完成。

2)链接过程。把应用程序的各个.obj模块链接起来产生.exe文件,有链接器完成。

79、DLL隐式链接,是指在链接过程中,把应用程序所需要DLL模块的名字和输入符号都记录下来,使得应用程序在运行时可以动态载入该DLL。

80、与隐式链接相比,显示加载DLL主要有以下几个特性:

1)显示加载的DLL并不会在应用程序初始化时就加载,而是在运行时根据需要调用LoadLibrary或LoadLibraryEx函数来加载。

2)在应用程序输入表中没有记录。

3)隐式链接的前提是需要有DLL所对应的lib文件,如果没有lib文件就无法进行隐式链接。显示加载就没有这个限制。

81、DllMain函数是DLL的可选入口。

82、线程本地存储器(TLS)的主要作用是可以避免多个线程同时访问同一全局或者静态变量时导致的冲突。

83、TLS有两种使用方法:静态TLS和动态TLS。

84、结构异常处理有三种基本的使用方法,分别是结束异常程序、异常处理程序和顶层异常处理。

85结构化异常处理(SEH)是被作为一种系统机制引入到操作系统中的。

86、可执行文件格式(PE),其格式中得分数据结构通常定义在winnt.h中。

第三篇:Windows编程_实验2指导

Windows编程/附件资料2

实验2MFC 框架程序的分析认知与编程实践(4学时)

一、实验目的:

熟悉在Visual C++ 6.0 IDE中编辑、编译、调试和运行一个MFC应用程序的基本思路;理解并掌握利用MFC开发应用程序的一般步骤和过程;加深对MFC框架程序的特性认识,掌握其应用方法。了解构件式的软件开发思想;提高实际动手编制WinApp的能力和分析问题、解决问题的能力。

二、实验内容:

1、分析理解题:利用MFC AppWizard分别创建最基本的基于对话框的应用程序,单文档应用程序和多文档应用程序;并从类/文件/资源等视图角度分析比较它们各自所自动拥有的类(基类)/文件(主要是.cpp文件)/资源的异同,回答其后(即四所列)思考题;要求在实验报告中反应分析比较情况及你的认知理解点滴。(必做)

2、程序设计题:以MFC编程方式,编写并实现一个简易计算器功能的应用程序。其界面架构形式和具体内容自我设计,原则:架构美观、布局合理,内容实用,具有可计算特性。

3、以MFC编程方式,编写并实现一个SDI界面的“奥运五环”绘图应用程序。(提高)提示:编写在窗口客户区上“绘制一张笑脸”的WinApp。

1)若用SDK API方式编程,则其WM_PAINT消息的响应代码为:

case WM_PAINT:

hdc=BeginPaint(hwnd,&ps);

hPen=CreatePen(PS_SOLID,5,RGB(255,0,0));

SelectObject(hdc,hPen);

Ellipse(hdc,275,170,425,320);

Arc(hdc,360,215,410,240,410,225,360,225);

Arc(hdc,290,215,340,240,340,225,290,225);

Arc(hdc,320,240,380,300,320,270,380,270);

EndPaint(hwnd,&ps);

return 0;

2)若以MFC方式编程,则可利用MFC AppWizard建立一个SDI界面的应用程序框架,然后在其视类的OnDraw()中加入如下代码也可。

CPen pen,*oldpen;

pen.CreatePen(PS_SOLID,2,RGB(255,0,0));

计算机科学系XYP编制2011-5-18第1 页

oldpen=pDC->SelectObject(&pen);

pDC->Ellipse(275,170,425,320);

pDC->Arc(360,215,410,240,410,225,360,225);

pDC->Arc(290,215,340,240,340,225,290,225);

pDC->Arc(320,240,380,300,320,270,380,270);

pDC->SelectObject(oldpen);

三、实验要求:

通过本次实验,要求同学们能对利用MFC AppWizard、ClassWizard等实用工具编写WinApp的方法、步骤有一个较为全面的了解,并注意理解由MFC AppWizard所生成的WinApp框架的组织架构和作用;深刻理解在此基础上开发WinApp的主要工作是“填充框架和添加必要的实现代码”的含义,切实做到用理论指导实践,以实践促进理论,提高实际动手能力和再学习的能力。具体要求如下:

1、实验前认真准备、仔细计划,查找相关资料,写出预做报告,促进理性思维能力;

2、实验中以理性实践的态度,积极思考,认真领悟实验过程出现的各种实验现象,注意总结积累经验,完成实验要求,达到实验目标,提高应对问题、解决问题的能力;

3、实验后按要求及时、认真地完成实验报告,按时提交。

特别强调,注意实验报告内容的完整性、真实性和个异特点,使我们的两个能力:动手和持续学习能力真正得到提高。

四、思考题:

1.在MFC应用程序中,至少必须包含几个类?它们分别是什么类?

2.由MFC AppWizard生成的应用程序,都有哪些主要文件?包含哪些类及相关类的对应功能和它们之间的关系怎样?

3.控件使用中应特别注意哪些问题?

4.在使用编辑框时,应注意哪几点?

5.ClassWizard使用中,应关注的主要问题是什么?注意哪些问题?

温馨小贴示:

1.MFC应用程序必须包含的两个基本类是CWinApp类和CFrameWnd类。CWinApp类替代了API应用程序中的主函数WinMain()功能,封装了与应用程序相关的程序初始化InitApplication()和InitInstance()、消息循环Run()和程序结束ExitInstance()等功能;CFrameWnd类替代了窗口函数WndProc()的功能,封装了消息处理和窗口销毁等功能。

2.MFC应用程序消息处理的路径为:应用程序从CWinApp派生对象,其成员函数Run()调用

CWinThread::Run(),通过GetMessage(),TranslateMessage()和DispatchMessage()进行消息循环。每个窗口对象都使用相同的称为AfxWndProc()的全局函数,AfxWndProc()调用OnWndMsg()处理消息。OnWndMsg()负责将收到的消息分为三大类:窗口消息、命令消息和控件消息,再分发给不同的消息处理函数去处理。

3.MFC应用程序的启动顺序:①建立、初始化CWinApp对象,该对象是全局的且只能有一个,名为theApp;②在InitInstance()函数中,创建文档模板,执行MFC框架默认的命令行参数,根椐分解的命令行信息,启动不同类型的任务,动态建立文档、视图、框架,并对文档、视图、框架进行初始化;③显示与更新窗口;④启动消息循环。

五、参考书籍:

1.《Visual C++ 应用教程》·郑阿奇,丁有和 编著·人民邮电出版社2008.10

2.《Visual C++ 实用教程》·周进等 编著·人民邮电出版社2008.5

3.《Windows 程序设计教程》·杨祥金等 编著·清华大学出版社·2007.4

4.《Windows可视化程序设计》·刘振安主编·机械工业出版社·2007.1

5.《Visual C++ 程序设计—基础与实例分析》·朱晴婷等 编著·清华大学出版社2004.3

6.《Visual C++ 6.0实用教程》·扬永国 主编·清华大学出版社·2004.1

7.《C++及Windows可视化程序设计》·刘振安编著·清华大学出版社·2003.7

8.《Windows C程序设计入门与提高》·柳永新等 编著·清华大学出版社·1999.7

肖云萍编写

第四篇:WINDOWS教案

WINDOWSXP教案

一、桌面的操作

1、桌面元素的构成

2、桌面属性的设置:右击桌面空白---“属性”—“主题”(为桌面选择一种主题)“桌面”(选择一种背景并选择其位置,利用“自定义桌面”按钮让一些系统图标出现或消失,可以修改系统图标的图标样式)“屏幕保护程序”(选择一种屏保和其其等待时间)“外观”(利用“高级”按钮来修改桌面元素的外观,例:修改活动窗口标题栏的颜色;利用“效果”按钮来修改菜单的过渡效果,还可以改成大图标)“设置”(设置分辨率、和色彩位数)

3、在桌面上新建文件夹和空白文件(1)新建文件夹:右击桌面空白区—“新建”—“文件夹”—输入文件夹名—回车(ENTER)

(2)新建空白文件:右击桌面空白区—“新建”—“文本文档”—输入新文件名(如广告.TXT)—回车

4、在桌面上删除文件或文件夹

右击桌面上要删除的文件或文件夹—“删除”(如果要真正删除要先按住SHIFT键)--“是”按钮

5、任务栏操作:(1)利用任务栏进行窗口切换

(2)利用任务栏排列窗口(右击任务栏空白区—选择一种种排列方式)

(3)任务栏属性设置(右击—“属性”—打勾或去掉勾)

(4)快速启动按钮的使用

(5)任务组(利用任务组按钮去打开组中某一文件或取消任务组)

(6)时钟:查看系统日期;修改系统日期和时间(注意一定要按“确定”按钮)

(7)语言指示器:

中西文切换:CTRL+空格 中文输入法的切换:CTRL+SHIFT 全角和半角切换:SHIFT+空格 中西文标点符号切换:CTRL+.活动键盘:右击活动键盘—选择符号集合(如希腊字母αβαβΑΒ≥≤∵∴∽≌)—用鼠标或键盘输入题目所需字母或符号(如:≌∵)!@#:

6、开始菜单的设置:经典菜单和现代菜单的切换、设置(1)利用“开始”菜单打开或新建OFFICE文档(2)利用“开始”—“程序”来打开或运行某程序(3)“开始”—“程序”—“附件”

画图:画一些基本图形(SHIFT画正圆或正方形),线条颜色,填充颜色,反色处理,旋转!放入剪贴板(先选中),保存 计算器:“标准型”和“科学型”转换;计算某个数的几次方;将一种进制数转换成另一种进制数 窗口

命令提示符:打开命令提示符窗口;修改提示符窗口字体(可以通过属性修改)(4)“文档”:可以利用它来打开最近使用过的某个文档(5)“开始”菜单属性设置(右击“开始”按钮—“属性”—选择“开始菜单”标签 经典菜单和常规菜单转换 常规菜单中“自定义”:图标大小、程序数目,两个设置,菜单项目显示方式(如“控制面板”以菜单方式显示)(6)帮助和支持: 打开“帮助和支持”:“开始”—“帮助和支持” F1键

在“我的电脑”窗口—“帮助”—“帮助和支持中心”

寻找帮助:打开帮助---“索引”—在健入要查找的关键字下面的空白框里输入内容(如:磁盘清理程序)--点“显示“按钮—在出现的对话框中选中要看的内容(如:使用磁盘清理程序)--再点“显示”按钮

利用对话框右上角的问号进行帮助 打开“帮助和支持”窗口

二、窗口操作

1、窗口标题栏上按钮的使用:最大化、最小化、还原、关闭、控制菜单(注意:用双击“控制菜单”或ALT+F4都可以关闭窗口)

2、窗口元素的介绍 利用ALT+菜单后面的字母来打开菜单(如:ALT+F可以打开文件菜单)利用信息区改变位置或者进行某项操作

3、打开一个窗口:右击图标—“打开”或者双击

4、工具栏的使用

“查看”菜单—“工具栏”—“标准按钮”(前面打上勾则有工具栏相反则无)状态栏和地址栏操作也是一样

5、窗口的移动:一定要到位,要拖住标题栏

6、活动窗口的激活

7、窗口的大小

8、窗口的排列

9、查看菜单:图标的显示方式(工具栏上也有,右击空白区也有);图标排列;刷新

10、“工具”—“文件夹选项”—“常规”标签进行窗口和文件夹的一些设置

三、文件和文件夹操作

1、新建文件和文件夹

注意建立文件或文件夹的地址;用“文件”菜单也可以新建

2、重命名文件和文件夹

右击对象或单击“文件”菜单—“重命名”—输入新名—回车

3、文件和文件夹的复制

找到要复制的文件或文件夹并选中—在右击或“编辑”菜单中点“复制”—找到目的地---“编辑”或右击菜单中“粘贴”

4、文件和文件夹的移动

找到要移动的文件或文件夹并选中—在右击或“编辑”菜单中点“剪切”—找到目的地---“编辑”或右击菜单中“粘贴”

5、选中操作:

(1)选中连续区域的文件:单击第一个,按住SHIFT后再单击最后一个文件

(2)不连续区域的文件:单击第一个,按住CTRL键后单击其它文件;注意:CTRL键也可以用来取消选中(3)全部选中:“编辑”—“全部选定”或用CTRL+A(4)反向选择:“编辑”—“反向选定”

6、文件和文件夹的删除

右击要删除的文件或文件夹—“删除”—“是”

7、文件和文件夹的还原:

打开“回收站”窗口—选中要还原的文件或文件夹—右击—“还原”

6、文件和文件夹的属性设置

7、文件和文件夹的还原

8、文件夹选项的设置

9、文件类型

10、文件的打开方式

11、利用资源管理器来进行文件和文件夹操作

四、回收站的设置

1、清空回收站:打开“回收站”窗口—“文件”—“清空回收站” 右击回收站图标—“清空回收站”

2、回收站属性的设置 回收站在各驱动器所占比例设置 是否要删除确认对话框 设置删除=SHIFT+删除

五、应用程序的使用

1、利用开始菜单的程序菜单运行应用程序

2、“开始”—“运行”—在空白框中输入要运行程序的完整的文件标识符—“确定”

3、在资源管理器中运行应用程序

4、利用桌面图标运行程序

六、快捷方式的操作

1、为应用程序建立快捷方式

请为应用程序C:WINDOWSSYSTEM32MSPICTURE.EXE创建名为“画图”的快捷方式 计算器C:WINDOWSSYSTEM32CALC.EXE 画笔C:WINDOWSSYSTEM32MSPAINT.EXE 记事本

C:WINDOWSSYSTEM32NOTEPAD.EXE

右击桌面空白处—“新建”—“快捷方式”在空白框内输入要建立快捷方式的程序的完整标识符---“下一步”—在空白框内输入快捷方式的名称—“完成”

2、找到要建立快捷方式的文件或文件夹—右击—“创建快捷方式”

3、找到要建立快捷方式的文件或文件夹—右击—“发送”—“桌面快捷方式”

4、快捷方式属性的设置 右击某快捷方式—“属性”

设置快捷键(默认CTRL+ALT+字母或符号)只要输入一个字符再确定就可以了 改变运行方式(常规、最小化、最大化)

在属性对话框中点“更改图标”按钮—在最上面的空白处输入图标库文件C:WINDOWSSYSTEM32SHELL32.DLL---找到要修改的图标(如一棵树)--“确定”—“确定”

七、剪贴板的使用

1、剪贴板的概念

在文件复制和文件移动中也用到了剪贴板

2、整个屏幕的保存

按一下PRINT SCREEN(PRTSC)键

3、活动窗口的保存

按下ALT+PRINT SCREEN(注意:要先将要抓的窗口变为活动窗口)

八、查找文件

1、通配符

2、查找条件的输入

九、磁盘管理 软盘管理:

格式化:右击盘符—格式化—进行“完全格式化”或“快速格式化”选择;选择是否复制系统文件;给磁盘加上盘符—点击“开始”按钮---等到出现信息框即可;

可以为软盘添加卷标(2)磁盘复制:

右击软盘盘符---“磁盘复制”---在出现的对话框上点击“开始”按钮—到绿色方格向右跑到中间位置即可

2、硬盘管理:(1)属性设置:

右击某盘符—“属性”或“共享与安全”—可以设置卷标、“磁盘清理”、“开始检查”、“磁盘整理”、“磁盘备份”---“确定” 另一种方式:

“开始”—“程序”—“附件”—“系统工具”—“磁盘检查”—在出现的对话框中选择要检查的盘符—选择检查的方式(如:标准检查)--“确定” 注意:这种方式还可以进行“磁盘清理”和“磁盘碎片整理”(2)共享和安全的设置:

例题:请将D盘设置为共享,共享名为:LIU;访问方式为只读;密码为RSBN 右击D盘盘符—“共享与安全”—在“共享为”前打上点,在下面的空白框内输入共享名(如LIU)--在访问方式下的“只读”前打点(根据题意也可以在“完全访问”前打点)--输入只读密码(如:RSBN注意大小写,一般输入两次)--“确定”(1)

十、控制面板的使用

1、打开:“开始”—“设置”—“控制面板”

打开“我的电脑”窗口后在信息区中找到“控制面板”

2、视图的切换:经典视图和分类视图的切换,通过信息左上部的切换项来进行切换

3、文件夹选项、日期和时间、开始菜单和任务栏、显示

4、打印机及传真:“开始”—“设置”—“打印机和传真”(1)添加打印机驱动程序 右打印机窗口左上部信息区点“添加打印机”—选择“本地打印机”或“网络打印机”—“下一步”—将端口设置为“LPT1”—“下一步”—选择生产厂家(如“EPSON”)--选择打印机型号(如“LQ—1600K”)--“下一步”—设置打印机名—设置是否为默认打印机—“下一步”—设置是否打印测试页—“完成”

(2)设置默认打印机:右击某打印机程序—“设为默认打印机”(3)设置“脱机打印”或“联机打印”(通过右击某打印机)

5、电源选项:设置电源使用方案(如:一直开着)

6、区域和时间设置

“区域选项”标签—“自定义”按钮—修改数字格式(小数点后精确位数,负数格式)、货币符号、时间日期格式、排序(发音和笔划)

7、鼠标:主要和次要按钮的切换

鼠标指针方案的修改

8、添加和删除程序

(1)删除一个旧程序:点左侧“添加/删除程序”按钮—在右侧的列表中找到要删除的程序并选中—点该程序右下角的“更改/删除”按钮

(2)添加一个新程序:点左侧的“添加新程序”—点窗口右上角的“CD或软盘”—在出现的窗口空白框内输入要安装的软件的完整标识符—“完成“

(3)添加或删除一个WINDOWSXP组件

点左侧第三个按钮—在列表中找到要删除或添加的组件打上勾或去掉勾(如:“传真服务“)—“从磁盘安装”

9、系统:通过系统这个图标给计算机加一个名字

10、用户帐户:(1)创建一个新帐户:输入帐户名—选择帐户类型(2)更改帐户:名称、图标、类型、密码(3)注销一个帐户或切换切换到另一帐户 11.本地安全策略设置(1)帐户策略

“控制面板”----“性能和维护”----“管理工具”----“本地安全策略”—“帐户策略” A.密码策略:密码必须符合复杂性要求。密码长度最小值。密码最长(或最短)存留期 B.帐户锁定策略:帐户锁定阀值(0—999),账户锁定时间(0—99999)(2)本地策略:“本地策略”—“用户权利指派” A.更改系统时间B。拒绝本地登录(3)本地组策略设置 A.打开组策略:“开始”—“运行”“—GPEDIT。MSC B.使用组策略:“用户配置“—”管理模板“—”桌面“(4)微软管理控制台:

“开始”—“运行”—“MMC”—“确定” A.添加组策略管理单元

12、字体:向字体库中添加一个已在剪贴板中的字体文件(用“粘贴“就可以);从当前字体库中删除某字体(如:黑体)

输入法属性修改在右击语言指示器—“设置”

十一。网络设置与使用

1.设置本地连接(1)显示本地连接

(2)查看本地连接的状态:“本地连接”—“文件”—“状态”(3)设置本地连接:右击“本地连接”—“属性” 2.家庭或小型办公网络:(1)创建家庭或小型办公网络

“控制面板”—“网络和INTERNET连接”—“网络安装向导” 3.网络资源共享(1)共享文件夹

(2)通过网上邻居浏览网络资源(3)映射网络资源

(4)创建网络资源的快捷方式 4.连接INTERNET(1)建立拨号连接:“控制面板”—“网络和INTERNET连接”—“设置或更改您的INTERNET连接”—“建立连接”----“下一步”—“下一步”—“手动设置我的连接”—“下一步”—“用拨号调制解调器连接”—“下一步”—输入ISP(INTERNET服务提供商),如:263—“下一步”—输入ISP的电话号码,如:962632—“下一步”—输入INTERNET帐户信息。如:用户名263,密码:263—“下一步”—选中“在我的桌面上添加一个到些连接的快捷方式”—“完成”

(2)建立宽带连接:只是在选择连接方式时选宽带即可。5.INTERNET EXPLORER(1)启动IE(2)浏览网页(3)使用收藏夹(4)查看历史记录(5)“工具”—“INTERNET选项”或右击IE图标—“属性“ 6.安全中心(1)防火墙:“控制面板”—“网络和INTERNET连接”—“WINDOWS防火墙” 启用,配置。使用安全日志(“高级”—“安全日志记录”)(2)自动更新:“安全中心”—“管理安全设置”

十二。多媒体娱乐

1,录音机

(1)录制声音:(2)播放声音

(3)混合声音文件:打开需要混入声音的文件—将游标移至需混入的位置—“编辑“菜单—”与文件混音“—”打开“混入文件”

(4)编辑声音文件 A.删除部分声音文件:“编辑”

B.将一个文件手稿到另一文件中“编辑”—“插入文件” C.调整文件质量“文件”—“属性” D.修改文件的效果“效果”菜单

(5)将声音添加或链接到文档“编辑”—“复制”

2.WINDOWS

MEDIA

PLAYER(1)启动:“开始”—“程序”—“娱乐”—“WINDOWS MEDIA PLAYER“(2)改变显示模式:完整,外观,最小播放机;使用“查看”菜单(3)设置;“工具”—“选项”(4)播放媒体文件:“播放”或“文件”—“打开”;播放选项调整。改变界面(“查看”—“正在播放”--)(5)媒体库:“功能任务栏”中“媒体库”;添加删除文件(6)管理播放列表:A。创建播放列表:“文件”—“新建播放列表”

“媒体库”—“播放列表”--“新建播放列表” B.将媒体文件或包含媒体文件夹添加到列表中:

在“我的电脑”中选中要进入列表的文件并右击—“添加到播放列表中”

3.WINDOWS MOVIE MAKER

第五篇:编程教案

常用编程指令的应用

车削加工编程一般包含X和Z坐标运动及绕Z轴旋转的转角坐标C。

(1)快速定位(G00或G0)刀具以点位控制方式从当前所在位置快速移动到指令给出的目标位置。

指令格式:G00 X(U)Z(W);(2)直线插补(G01或G1)

指令格式:G01 X(U)Z(W)F ;

图1 快速定位 图2 直线插补

G00 X40.0 Z56.0; G01 X40.0 Z20.1 F0.2;

/绝对坐标,直径编程; /绝对坐标,直径编程,切削进给率0.2mm/r G00 U-60.0 W-30 G01 U20.0 W-25.9 F0.2;

/增量坐标,直径编程 /增量坐标,直径编程,切削进给率0.2mm/r(3)圆弧插补(G02或G2,G03或G3)1)指令格式: G02 X(U)_Z(W)_I_K_F_ ; G02 X(U)Z(W)R F ;

G03 X(U)_Z(W)_I_K_F_ ; G03 X(U)Z(W)R F ;

2)指令功能: 3)指令说明: ①G02为顺时针圆弧插补指令,G03为逆时针圆弧插补指令。圆弧的顺、逆方向判断见图3左图,朝着与圆弧所在平面相垂直的坐标轴的负方向看,顺时针为G02,逆时针为G03,图3右图分别表示了车床前置刀架和后置刀架对圆弧顺与逆方向的判断;

图3 圆弧的顺逆方向

②如图4,采用绝对坐标编程,X、Z为圆弧终点坐标值;采用增量坐标编程,U、W为圆弧终点相对圆弧起点的坐标增量,R是圆弧半径,当圆弧所对圆心角为0°~180°时,R取正值;当圆心角为180°~360°时,R取负值。I、K为 圆心在X、Z轴方向上相对圆弧起点的坐标增量(用半径值表示),I、K为零时可以省略。

图4 圆弧绝对坐标,相对坐标

图5 圆弧插补

G02 X50.0 Z30.0 I25.0 F0.3; G03 X87.98 Z50.0 I-30.0 K-40.0 F0.3;

G02 U20.0 W-20.0 I25.0 F0.3; /绝对坐标,直径编程

G02 X50.Z30.0 R25.0 F0.3; G03 U37.98 W-30.0 I-30.0 K-40.0 F0.3; G02 U20.0 W-20.0 R25.0 F0.3; /相对坐标,直径编程

(4)主轴转速设置(S)车床主轴的转速(r/min)为:

式中υ为圆周切削速度,单位缺省为m/min、D为工件的外径,单位为mm。

例如,工件的外径为200mm,要求的切削速度为300m/min,经计算可得

因此主轴转速应为478r/min,表示为S478。(5)主轴速度控制指令

数控车削加工时,按需要可以设置恒切削速度(例如,为保证车削后工件的表面粗糙度一致,应设置恒切削速度),车削过程中数控系统根据车削时工件不同位置处的直径计算主轴的转速。

恒切削速度设置方法如下:G96 S ; 其中S后面数字的单位为r/min。

设置恒切削速度后,如果不需要时可以取消,其方式如下:G97 S ; 其中S后面数字的单位为r/min。

在设置恒切削速度后,由于主轴的转速在工件不同截面上是变化的,为防止主轴转速过高而发生危险,在设置恒切削速度前,可以将主轴最高转速设置在某一个最高值。切削过程中当执行恒切削速度时,主轴最高转速将被限制在这个最高值。设置方法如下:G50 S ; 其中S的单位为r/min。

图6 主轴速度控制

例如:在刀具T01切削外形时用G96设置恒切削速度为200m/min,而在钻头T02钻中心孔时用G97取消恒切削速度,并设置主轴转速为1100r/min。这两部分的程序头如下:

G50 S2500 T0101 M08; /G50限定最高主轴转速为2500r/min;

G96 S200 M03; / G96设置恒切削速度为200m/min,主轴顺时针转动 G00 X48.0 Z3.0; / 快速走到点(48.0,3.0)G01 Z-27.1 F0.3; /车削外形 G00 Ul.0 Z3.0; /快速退回 T0202; /调02号刀具

G97 Sll00 M03; /G97取消恒切削速度,设置主轴转速为ll00r/min G00 X0.0 Z5.0 M08; /快速走到点(0,5.0),冷却液打开 G01 Z-5.0 F0.12; /钻中心孔(6)进给率和进给速度设置指令

在数控车削中有两种切削进给模式设置方法,即进给率(每转进给模式)和进给速度(每分钟进给模式)。

1)进给率,单位为mm/r,其指令为: G99; / 进给率转换指令,G01 X Z F ; / F的单位为mm/r 2)进给速度,单位为mm/min,其指令为: G98; / 进给速度转换指令

G01 X Z F ; / F的单位为mm/min

图7 进给率和进给速度

a:G99 G01 Z-27.1 F0.3;b:G98 G01 Z-10.0 F80;表示进给率为0.3mm/r 表示进给速度为80mm/min CNC系统缺省进给模式是进给率,即每转进给模式。(7)工件原点设置

工件坐标系的原点有两种设置方法。

1)用G50指令进行工件原点设置,分以下两种设置情况:

图8 工件原点设置 ①坐标原点设置在卡盘端面

如图8a所示,这种情况下z坐标是正值。工件原点设置在卡盘端面:

G50 X85.Z210.;/* 将刀尖当前位置的坐标值定为工件坐标系中的一点(85.,210.)。②坐标原点设置在零件右端面

如图8b所示,这种情况下Z坐标值是负值。工件原点设置在工件右端面:G50 X85.0 Z90.0; 则刀尖当前位置即为工件坐标系原点。(8)端面及外圆车削加工

端面及外圆的车削加工要用到插补指令G01。

为正确地编写数控程序,应在编写程序前根据工件的情况选择工件原点。确定好工件原点后,还必须确定刀具的起始点。

编程时还应考虑车削外圆的始点和端面车削的始点,这两点的确定应结合考虑工件的毛坯情况。如果毛坯余量较大,应进行多次粗车,最后进行一次精车,因而每次的车削始点都不相同。

图9 确定车削原点

a)工件原点在左端面时 b)工件原点在右端面时 1)工件原点在左端面 o0001 /* 程序编号o0001 N0 G50 X85.0 Z210.0; /* 设置工件原点在左端面 N1 G30 U0 W0; /* 返回第二参考点

N2 G50 S1500 T0101 M08; /* 限制最高主轴转速为1500r/min,调01号刀具,M08为打开冷却液

N3 G96 S200 M03; /* 指定恒切削速度为200m/min N4 G00 X40.4 Z153.0; /* 快速走到外圆粗车始点 N5 G01 Z40.2 F0.3; /* 以进给率0.3mm/r车削外圆 N6 X60.4; /* 台阶车削

N7 Z20.0; /*φ60.4mm处长度为20.0mm的一段外圆 N8 G00 X62.0 Z150.2; /* 刀具快速退到点(62.0,150.2)N9 X41.0; /*刀具快速走到点(41.0,150.2)N10 G01 X-1.6; /* 车削右端面

N1l G00 Zl52.0; /* 刀具快速退到点(-1.6,152.0)N12 G30 U0 W0; /* 直接回第二参考点以进行换刀 N13(Finishing); /*精车开始,括号为程序说明

N14 G50 S1500 T0202; /*限制最高主轴转速为1500r/min,调02号刀具 N15 G96 S250; /* 指定恒切削速度为250m/min N16 G00 X40.0 Z153.0 ;/*快速走到外圆精车始点(40.0,153)N17 G42 G01 Z151.0 F0.15;/*调刀尖半径补偿,右偏 N18 Z40.0; /*φ40.4mm一段外圆的精车 N19 X60.0; /*台阶精车

N20 Z20.0; /*φ60.0mm处长度为20.0mm外圆的精车 N21 G40 G00 X62.0 Z150.0; /*取消刀补 N22 X41.0; /*刀具快速走到点(41.0,150.0)N23 G41 G01 X40.0; /*调刀尖半径补偿,左偏 N24 G01 X-1.6; /*精车右端面

N25 G40 G00 Zl52.0 M09; /*取消刀补,切削液关

N26 G30 U0 W0 M05; /*返回第二参考点,主轴停止 N27 M30; /*程序结束 2)工件原点在右端面:工件原点设置在右端面与设置在左端面的区别仅在于Z坐标为负值,程序编写过程完全相同。O0002 ; /* 程序编号

N0 G50 X85.0 Z90.0 /* 设置工件原点在右端面 N2 G30 U0 W0; /* 返回第二参考点

N4 G50 S1500 T0101 M08; /* 限制最高主轴转速 N6 G96 S200 M03; /* 指定恒切削速度为 200m/min,主轴逆时针旋转

N8 G00 X30.4 Z3.0; /*快速走到点(30.4,3.0)N10 G01 W-33.0 F0.3; /*以进给率0.3mm/r粗车φ30.4处外圆 N12 U30.0 W-50.0; /*粗车锥面

N14 W-10.0; /*粗车φ60.4mm处长度为10的一段外圆 N16 G00 Ul.6 W90.2;/*刀具快速走到点(62.0,0.2)N18 U-31.0; /*刀具快速走到点(3l,0.2)N20 G01 U-32.6; /*粗车端面

N22 G00 W2.0; /*刀具快速走到点(-1.6,2)N24 G30 U0 W0; /*返回第二参考点 N26(Finishing); /*精车开始

N28 G50 S1500 T0202;/*设置主轴最高转速1500r/min,调2号刀具 N30 G96 S250; /* 指定恒切削速度为250m/min N32 G00 X30.0 Z3.0;/*刀具快速走到精车始点(30.0,3.0)N34 G42 G01 W-2.0 F0.15;/*调刀尖半径补偿,右偏 N36 W-31.0; /*精车ф30.4mm处外圆 N38 U30.0 W-50.0; /*精车锥面

N40 W-10.0; /*精车ф60.0mm处外圆

N42 G40 G00 U2.0 W90.0; /*取消刀补,刀具快速走到点(62,0.0)N44 U-31.0; /*刀具快速走到点(31,0.0)N46 G41 G01 U-1.0; /*调刀尖半径补偿,左偏

N48 G01 U-32.6; /*精车端面

N50 G40 G00 W2.0 M09; /*取消刀补,刀具快速走到点(1.6,2.0)N52 G30 U0 W0 M30; /*返回参考点,程序结束 实例:

如图10所示零件

图10 数控车削综合编程实例

N0050 G01 X32 Z0;N0110 G02 X16 Z-15 R2;N0060 G01 X-0.5;N0120 G01 X20;

N0070 G00 Z1;N0130 G01 Z35;N0080 G00 X10;N0140 X26;N0090 G01 X12 Z1;N0150 Z50;N0100 G01 X12 Z1;N0160 X32;为1500r/min,调1号刀具,M08为打开冷却液在这种情况下,如果设置指令写成: G50 X0 Z0;

G02、G03指令表示刀具以F进给速度从圆弧起点向圆弧终点进行圆弧插补。刀具以一定的进给速度从当前所在位置沿直线移动到指令给出的目标位置。

2.循环加工指令

当车削加工余量较大,需要多次进刀切削加工时,可采用循环指令编写加工程序,这样可减少程序段的数量,缩短编程时间和提高数控机床工作效率。根据刀具切削加工的循环路线不同,循环指令可分为单一固定循环指令和多重复合循环指令。(1)单一固定循环指令

对于加工几何形状简单、刀具走刀路线单一的工件,可采用固定循环指令编程,即只需用一条指令、一个程序段完成刀具的多步动作。固定循环指令中刀具的运动分四步:进刀、切削、退刀与返回。

1)外圆切削循环指令(G90)

指令格式 : G90 X(U)_ Z(W)_ R_ F_ 指令功能: 实现外圆切削循环和锥面切削循环。

刀具从循环起点按图11与图12所示走刀路线,最后返回到循环起点,图中虚线表示按R快速移动,实线表示按F指定的工件进给速度移动。

图11 外圆切削循环

图12 锥面切削循环

指令说明: ① X、Z 表示切削终点坐标值;

② U、W 表示切削终点相对循环起点的坐标分量;

③ R 表示切削始点与切削终点在X轴方向的坐标增量(半径值),外圆切削循环时R为零,可省略;

④F表示进给速度。例题 如图13所示,运用外圆切削循环指令编程。

G90 X40 Z20 F30

A-B-C-D-A X30

A-E-F-D-A X20

A-G-H-D-A

图13 外圆切削循环例题

例题 如图14所示,运用锥面切削循环指令编程。

G90 X40 Z20 R-5 F30 A-B-C-D-A X30

A-E-F-D-A X20

A-G-H-D-A

图14 锥面切削循环例题

2)端面切削循环指令(G94)

指令格式: G94 X(U)_ Z(W)_ R_ F_ 指令功能: 实现端面切削循环和带锥度的端面切削循环。

刀具从循环起点,按图15与图16所示走刀路线,最后返回到循环起点,图中虚线表示按R快速移动,实线按F指定的进给速度移动。

图15 端面切削循环 图16 带锥度的端面切削循环

① X、Z表示端平面切削终点坐标值;

② U、W表示端面切削终点相对循环起点的坐标分量;

③ R 表示端面切削始点至切削终点位移在Z轴方向的坐标增量,端面切削循环时R为零,可省略;

④ F表示进给速度。

例题: 如图17所示,运用端面切削循环指令编程。

G94 X20 Z16 F30

A-B-C-D-A Z13

A-E-F-D-A Z10

A-G-H-D-A

图17 端面切削循环例题 图18 带锥度的端面切削循环例题

例题: 如图18所示,运用带锥度端面切削循环指令编程。

G94 X20 Z34 R-4 F30

A-B-C-D-A Z32

A-E-F-D-A Z29

A-G-H-D-A(2)多重复合循环指令(G70——G76)运用这组G代码,可以加工形状较复杂的零件,编程时只须指定精加工路线、径向轴向精车留量和粗加工背吃刀量,系统会自动计算出粗加工路线和加工次数,因此编程效率更高。

在这组指令中,G71、G72、G73是粗车加工指令,G70是G71、G72、G73粗加工后的精加工指令,G74 是深孔钻削固定循环指令,G75 是切槽固定循环指令,G76是螺纹加工固定循环指令。

1)外圆粗加工复合循环(G71)指令格式 : G71 UΔd Re G71 Pns Qnf UΔu WΔw Ff Ss Tt

指令功能: 切除棒料毛坯大部分加工余量,切削是沿平行Z轴方向进行,如图19所示。A为循环起点,A-A'-B为精加工路线。

图19 外圆粗加工复合循环 图20 端面粗加工复合循环 指令说明:①Δd表示每次切削深度(半径值),无正负号; ② e表示退刀量(半径值),无正负号;

③ ns表示精加工路线第一个程序段的顺序号; ④ nf表示精加工路线最后一个程序段的顺序号;

⑤ Δu表示X方向的精加工余量,直径值;

例题 :如图21所示,运用外圆粗加工循环指令编程。

图21 外圆粗加工复合循环例题 N010 G50 X150 Z100 N020 G00 X41 Z0 N030 G71 U2 R1 N040 G71 P50 Q120 U0.5 W0.2 F100 N050 G01 X0 Z0 N060 G03 X11 W-5.5 R5.5 N070 G01 W-10 N080 X17 W-10 N090 W-15 N100 G02 X29 W-7.348 R7.5 N110 G01 W-12.652 N120 X41 N130 G70 P50 Q120 F30

2)端面粗加工复合循环(G72)指令格式: G72 WΔd Re

G72 Pns Qnf UΔu WΔw Ff Ss Tt

指令功能: 除切削是沿平行X轴方向进行外,该指令功能与G71相同,如图20所示。指令说明 :

Δd、e、ns、nf、Δu、Δw的含义与G71相同。例题:如图22,运用端面粗加工循环指令编程。

图22 端面粗加工复合循环例题 图23 固定形状切削复合循环 N010 G50 X150 Z100 N020 G00 X41 Z1 N030 G72 W1 R1 N040 G72 P50 Q80 U0.1 W0.2 F100 N050 G00 X41 Z-31 N060 G01 X20 Z-20 N070 Z-2 N080 X14 Z1 N090 G70 P50 Q80 F30 3)固定形状切削复合循环(G73)指令格式: G73 UΔi WΔk Rd G73 Pns Qnf UΔu WΔw Ff Ss Tt

指令功能:适合加工铸造、锻造成形的一类工件,见图23所示。指令说明: Δi 表示X轴向总退刀量(半径值); ΔK 表示Z轴向总退刀量; d 表示循环次数;

ns 表示精加工路线第一个程序段的顺序号; nf 表示精加工路线最后一个程序段的顺序号; Δu 表示X方向的精加工余量(直径值); Δw 表示Z方向的精加工余量。

①固定形状切削复合循环指令的特点:

a.刀具轨迹平行于工件的轮廓,故适合加工铸造和锻造成形的坯料;b.背吃刀量分别通过X轴方向总退刀量Δi和Z轴方向总退刀量ΔK除以循环次数d求得;c.总退刀量Δi与ΔK值的设定与工件的切削深度有关。

②使用固定形状切削复合循环指令,首先要确定换刀点、循环点A、切削始点A’和切削终点B的坐标位置。分析上图,A点为循环点,A’→B是工件的轮廓线,A→A’→B为刀具的精加工路线,粗加工时刀具从A点后退至C点,后退距离分别为Δi+Δu /2,Δk+Δw,这样粗加工循环之后自动留出精加工余量Δu /

2、Δw。

③顺序号ns至nf之间的程序段描述刀具切削加工的路线。例题: 如图14所示,运用固定形状切削复合循环指令编程。

图24 固定形状切削复合循环例题 图25 复合固定循环举例

N010 G50 X100 Z100 N020 G00 X50 Z10 N030 G73 U18 W5 R10 N040 G73 P50 Q100 U0.5 W0.5 F100 N050 G01 X0 Z1 N060 G03 X12 W-6 R6 N070 G01 W-10 N080 X20 W-15 N090 W-13 N100 G02 X34 W-7 R7 N110 G70 P50 Q100 F30 4)精车复合循环(G70)指令格式: G70 Pns Qnf

指令功能:用G71、G72、G73指令粗加工完毕后,可用精加工循环指令,使刀具进行A-A`-B的精加工,(如图24)

指令说明:

ns表示指定精加工路线第一个程序段的顺序号; nf表示指定精加工路线最后一个程序段的顺序号;

G70~G73循环指令调用N(ns)至N(nf)之间程序段,其中程序段中不能调用子程序。5)复合固定循环举例(G71与G70编程)

加工图25所示零件,其毛坯为棒料。工艺设计参数为:粗加工时切深为7mm,进给速度0.3mm/r,主轴转速500r/min;X向(直径上)精加工余量为4 mm,z向精加工余量为2mm,进给速度为0.15mm/r,主轴转速800mm/min。程序设计如下: N01 G50 X200.0 Z220.0;N02 G00 X160.0 Z180.0 M03 S800;N03 G71 P04 Q10 U4.0 W2.0 D7.0 F0.3 S500;N04 G00 X40.0 S800;N05 G01 W-40.0 F0.15;N06 X60.0 W-30.0;N07 W-20.0;N08 X100.0 W-10.0;N09 W-20.0;N10 X140.0 W-20.0;N11 G70 P04 Q10;N12 G00 X200.0 Z220.0;N13 M05;N14 M30;3.螺纹加工自动循环指令

(1)单行程螺纹切削指令G32(G33,G34)指令格式 : G32 X(U)_ Z(W)_ F_

指令功能:切削加工圆柱螺纹、圆锥螺纹和平面螺纹。指令说明:

格式中的X(U)、Z(W)为螺纹中点坐标,F为以螺纹长度L给出的每转进给率。L表示螺纹导程,对于圆锥螺纹(图26),其斜角α在45°以下时,螺纹导程以Z轴方向指定;斜角α在45°~90°时,以X轴方向指定。

①圆柱螺纹切削加工时,X、U值可以省略,格式为: G32 Z(W)_ F _ ; ②端面螺纹切削加工时,Z、W值可以省略,格式为: G32 X(U)_ F_;

③螺纹切削应注意在两端设置足够的升速进刀段δ1和降速退刀段δ2,即在程序设计时,应将车刀的切入、切出、返回均应编入程序中。

图26 螺纹切削 图27 螺纹切削应用 螺纹切削例题: 如图27所示,走刀路线为A-B-C-D-A,切削圆锥螺纹,螺纹导程为4mm , δ1 = 3mm,δ2 = 2mm,每次背吃刀量为1mm,切削深度为2mm。G00 X16 G32 X44 W-45 F4 G00 X50 W45 X14 G32 X42 W-45 F4 G00 X50 W45(2)螺纹切削循环指令(G92)

指令格式 : G92 X(U)_ Z(W)_ R_ F_ 指令功能: 切削圆柱螺纹和锥螺纹,刀具从循环起点,按图28与图29所示走刀路线,最后返回到循环起点,图中虚线表示按R快速移动,实线按F指定的进给速度移动。

图28 切削圆柱螺纹 图29 切削锥螺纹 指令说明:

①X、Z表示螺纹终点坐标值;②U、W表示螺纹终点相对循环起点的坐标分量;

③R表示锥螺纹始点与终点在X轴方向的坐标增量(半径值),圆柱螺纹切削循环时R为零,可省略;

④F表示螺纹导程。

例题: 如图30所示,运用圆柱螺纹切削循环指令编程。

图30 切削圆柱螺纹例题 图31 切削锥螺纹例题 G50 X100 Z50 G97 S300 T0101 M03 G00 X35 Z3 G92 X29.2 Z-21 F1.5 X28.6 X28.2 X28.04 G00 X100 Z50 T0000 M05 M02

例题 : 如图31所示,运用锥螺纹切削循环指令编程。G50 X100 Z50 G97 S300 T0101 M03 G00 X80 Z2 G92 X49.6 Z-48 R-5 F2 X48.7 X48.1 X47.5 X47.1 X47 G00 X100 Z50 T0000 M05 M02

(3)螺纹切削复合循环(G76)

指令格式 : G76 Pm r a QΔdmin Rd G76 X(U)_ Z(W)_Ri Pk QΔd Ff

指令功能:该螺纹切削循环的工艺性比较合理,编程效率较高,螺纹切削循环路线及进刀方法如图32所示。

图32 螺纹切削复合循环路线及进刀法 指令说明:

②r表示斜向退刀量单位数,或螺纹尾端倒角值,在0.0f—9.9f之间,以0.1f为一单位,(即为0.1的整数倍),用00—99两位数字指定,(其中f为螺纹导程); ③a表示刀尖角度;从80°、60°、55°、30°、29°、0°六个角度选择;

④Δdmin:表示最小切削深度,当计算深度小于Δdmin,则取Δdmin作为切削深度; ⑤d:表示精加工余量,用半径编程指定;Δd :表示第一次粗切深(半径值); ⑥X、Z:表示螺纹终点的坐标值; ⑦U:表示增量坐标值; ⑧W:表示增量坐标值;

⑨I:表示锥螺纹的半径差,若I=0,则为直螺纹; ⑩k:表示螺纹高度(X方向半径值); G76螺纹车削实例

图33所示为零件轴上 的一段直螺纹,螺纹高度为3.68,螺距为6,螺纹尾端倒角为1.1L,刀尖角为60°,第一次车削深度1.8,最小车削深度0.1,精车余量0.2,精车削次数1次,螺纹车削前先精车削外圆柱面,其数控程序如下:

图33 螺纹切削多次循环G76指令编程实例 O0028 /程序编号

N0 G50 X80.0 Z130.0;/设置工件原点在左端面 N2 G30 U0 W0;/返回第二参考点

N4 G96 S200 T0101 M08 M03;/指定切削速度为200m/min,调外圆车刀 N6 G00 X68.0 Z132.0;/快速走到外圆车削起点(68.0,132.0)N7 G42 G01 Z130.0 F0.2;N8 Z29.0 F0.2;/外圆车削 N9 G40 G00 U10.0;N10 G30 U0 W0;N12 G97 S800 T0202 M08 M03;/取消恒切削速度,指定主轴转速800r/min,调螺纹车刀 N14 G00 X80.0 Z130.0;/快速走到螺纹车削循环始点(80.0,130.0)N16 G76 P011160 Q0.1 R0.2;/循环车削螺纹 N18 G76 X60.64 Z25.0 P3.68 Q1.8 F6.0;N20 G30 U0 W0 M09;N22 M30;①m表示精车重复次数,从1—99;

下载Windows编程教案word格式文档
下载Windows编程教案.doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐

    Windows XP 教案

    第三章Windows XP的功能与使用 教学目的 了解Windows XP的特性及相关术语  熟练掌握Windows XP的安装、启动和退出  熟练掌握Windows XP的基本操作和系统管理 Windows 是Mic......

    WINDOWS教案大纲

    WINDOWS教案大纲 第一讲 Windows概述 简介 1、产生:由美国微软公司推出的视窗化操作系统 2、版本:Win95、Win98、Win2000、WinXP(2002)、Vista 3、特点: (1)、操作简单,易学易用......

    Scratch(编程教案)

    辅 导 计 划 第( )周 辅导内容:Scratch移动的小猫 辅导过程: 1、 介绍scrather软件,让学生scrather软件主要功能和作用 2、 学生自己探索scrather软件。 3、 学生汇报scrather软......

    数控编程教案汇总

    知识目标:1数控机床的组成 2数控机床的分类 3数控机床的加工特点 技能目标:1能说出数控机床的组成 2能说出数控机床的 各种分类特点 3能说出数控机床优于普通机床的加工特......

    Windows操作系统教学教案[最终定稿]

    Windows操作系统教学教案 【教学目的与要求】 了解操作系统的特点和发展历史,掌握WindowsXP的常用术语,掌握WindowsXP的基本操作,掌握资源管理器的操作,学会文件管理方法,掌握系......

    认识windows操作系统(教案)

    认识windows操作系统(教案) 学习者分析: 对于Windows 操作系统的基本操作,绝大部分学生在小学已经接触过,同时因为现在学生家里基本上都有电脑,在家也经常会使用,因此对这一节的内......

    Windows Api教案2(合集)

    教 案 用 纸 第三章 输出文本 一 绘制和刷新 Windows通过发送WM_PAINT消息通知窗口过程,窗口的部分客户区需要绘制。 ⒈ WM_PAINT消息 Windows利用该消息是来重新绘制屏幕......

    Windows XP操作系统教案

    Windows XP操作系统教案 主讲:杨亚东 教学目标: 1、了解操作系统的特点。2、了解操作系统的功能。 3、掌握WindowsXP基本操作。教学要求: 1、掌握WindowsXP的启动、退出。2......