记事本程序的设计与实现(实验版)

合集下载

java记事本实验报告

java记事本实验报告

期末考查大作业任务书课程名称:Java语言程序设计设计实验题目:简单记事本的设计与实现学院:管理学院系:信息管理系专业班级:学号:学生姓名:起讫日期:2015-09-01至2015-12-31课任教师:郭路生学院审核(签名):审核日期:精选文库一、实验内容完成一个简单的记事本程序。

二、实验要求1. 实现一个记事本窗口,能够处理关闭处理窗口事件。

2. 记事本可进行文本编辑3.记事本具有菜单。

4. 具有保存和打开功能。

5. 具有字体大小、风格等功能6. 具有复制、粘贴功能(可选项)三、主要仪器设备及耗材计算机、eclipse四、主要参考资料1. 网络教学台平教材材料列出的资料2. 教材及实验指导3. 老师演示的视频4. 网络上相关资料五、实验步骤1、程序代码截图精选文库精选文库程序源代码(文本版)import java.awt.event.*;import java.awt.*;import java.io.*;import javax.swing.*;public class MyJnp extends Frame implements ActionListener{ //主界面设置Menu wenjian = new Menu("文件");Menu geshi = new Menu("格式");Menu help = new Menu("帮助");MenuBar bar = new MenuBar();MenuItem dakai = new MenuItem("打开");MenuItem xinjian = new MenuItem("新建");MenuItem baocun = new MenuItem("保存");MenuItem tuichu = new MenuItem("退出");MenuItem zitixuanz= new MenuItem("字体选择");MenuItem lingcunwei = new MenuItem("另存为");MenuItem guanyu = new MenuItem("关于记事本");TextArea bianjiqu = new TextArea();public MyJnp(){super("记事本");bar.add(wenjian);bar.add(geshi);bar.add(help);wenjian.add(xinjian);wenjian.add(dakai);wenjian.add(baocun);wenjian.add(lingcunwei);wenjian.add(tuichu);geshi.add(zitixuanz);help.add(guanyu);add(bianjiqu);setMenuBar(bar);setVisible(true);setBounds(200,100,800,600);addWindowListener(new WindowAdapter(){ public voidwindowClosing(WindowEvent e){System.exit(0); }});}精选文库String path;public void addActionListener() //添加事件监听{dakai.addActionListener(this);tuichu.addActionListener(this);xinjian.addActionListener(this);baocun.addActionListener(this);lingcunwei.addActionListener(this);guanyu.addActionListener(this);zitixuanz.addActionListener(this);}public void actionPerformed(ActionEvent e) //事件处理{if(e.getSource()== tuichu)System.exit(0);else if(e.getSource()==dakai){dakaiwenjian temp = new dakaiwenjian();bianjiqu.setText(temp.getData());}else if(e.getSource()==xinjian){bianjiqu.setText("");path=null;}else if(e.getSource()== baocun){if(path==null){String s = bianjiqu.getText();baocunwenjian wen = new baocunwenjian();wen.saveData(s);path=wen.getPath();}else{baoc bao = new baoc(path);String s = bianjiqu.getText();bao.saveData(s);}}else if(e.getSource()==guanyu){JOptionPane.showMessageDialog(null, "信管131班 6104113035 郝君","帮助", RMATION_MESSAGE);}else if(e.getSource()==lingcunwei){String s = bianjiqu.getText();new baocunwenjian().saveData(s);}else if(e.getSource()==zitixuanz){new ziti(bianjiqu);}}public static void main(String[] args){new MyJnp().addActionListener();}}class dakaiwenjian{ //打开文件得到字符串并在getData方法中返回字符串BufferedReader temp;String data="";public dakaiwenjian(){try{FileDialog s = new FileDialog(new Frame(),"打开",FileDialog.LOAD); s.setVisible(true);String path1 =s.getDirectory()+"\\"+s.getFile();temp = new BufferedReader(new FileReader(path1));String aline;while((aline=temp.readLine())!=null)data= data+aline+'\n';temp.close();}catch(Exception e ){System.out.println("打开失败");}}public String getData(){return data;}}class baocunwenjian{ //第一次保存和另存为调用的类BufferedWriter bw ;String teamp;public baocunwenjian(){try{FileDialog s = new FileDialog(new Frame(),"保存",FileDialog.SAVE); s.setVisible(true);teamp= s.getDirectory()+s.getFile();bw= new BufferedWriter(new FileWriter(teamp));}catch(Exception e){System.out.println("保存失败");}}public String getPath(){return teamp;}public void saveData(String temp1){try{bw.write(temp1);bw.close();}catch(Exception e){System.out.println("保存失败");}}}class baoc { //多次保存类BufferedWriter bw ;String teamp;public baoc(String teamp){try{this.teamp= teamp;bw= new BufferedWriter(new FileWriter(teamp));}catch(Exception e){System.out.println("保存失败");}}public void saveData(String temp1){try{bw.write(temp1);bw.close();}catch(Exception e){System.out.println("保存失败");}}}精选文库class ziti extends Dialog implementsActionListener{ //字体设置类int sty=0;int size=0;Label ys ;Label sz;Panel pan1 = new Panel();Panel pan2 = new Panel();TextField yangshi ;TextField daxiao;Font s;Button queding ;TextArea ta;public ziti(TextArea ta){super(new Frame(),"字体设置");this.ta=ta;queding= new Button("确定");yangshi= new TextField(5);daxiao = new TextField(5);ys = new Label("样式:(请输入正整数)");sz = new Label("大小:(请输入正整数)");pan1.add(ys);pan1.add(yangshi);pan2.add(sz);pan2.add(daxiao);pan2.add(queding);add(pan1,BorderLayout.NORTH);add(pan2,BorderLayout.SOUTH);queding.addActionListener(this);setVisible(true);setBounds(200,200,300,100);setResizable(false);addWindowListener(new WindowAdapter(){public void windowClosing(WindowEvent e){ziti.this.dispose();}});}public void actionPerformed(ActionEvente ){ //字体设置处理String k;if(e.getSource()==queding){精选文库if((k=yangshi.getText())!=null){sty=Integer.valueOf(k);}if((k=daxiao.getText())!=null){size= Integer.valueOf(k);}if(sty>=0&&sty<=100&&size>=0&&size<=100){s = new Font("myfont",sty,size);ta.setFont(s);}ziti.this.dispose();}}}2、程序运行截图(1)运行软件记事本能够处理关闭处理窗口事件精选文库记事本中可以进行文本编辑,达成要求2记事本拥有菜单,完成要求3文件选项中有保存和打开将文件保存为文件一打开文件一具有打开和保存的功能完成要求4点击格式-字体选项样式输入1,大小输入30,字体如下样式输入2,大小输入50,字体如下完成要求具有字体大小、风格等功能,完成要求5六、思考讨论题或体会或对改进实验的建议具有复制、粘贴功能这个要求我没有实现,最近临近期末,事情实在是有点多,时间实在是不够了,所以我在尝试了修改以后发现没有实现功能,就放弃了制作。

java记事本代码及实验报告

java记事本代码及实验报告

一、实验内容实验题目:记事本应用程序设计要求:1.分析WINDOWS “记事本程序”各主要菜单项的功能,画出详细的程序流程图2.设计完整的UI ,并实现“文件”菜单中“新建”“打开”“保存”“另存为”“退出”等 主要菜单项功能3.将各主要菜单项的程序流程图及主要代码写入实验报告二、实验过程1、写出程序的程序流程图,主要是各个功能的程序流程图 新建 打开NYN Y YN保存 另存N Y开始 isModifiedissave 调用保存函数初始化记事本 结束 开始是否打开文件 选择文件 将文件内容写入记事本 结束开始 开始 第一次保存 调用另存函数将记事本内容写入原文结束 弹出另存对话框 选择路径文件读入记事本内容设置记事本标题为文件名结束退出开始isModifiedY N调用保存函数结束2、根据程序流程图写出各个方法,新建,打开,保存,另存,退出。

三、实验结果(应先列出测试数据,要写明实验的现象,实验数据的处理等。

对于实验结果的表述,一般有三种方法:文字叙述(根据实验目的将实验结果系统化、条理化,用准确的专业术语客观地描述实验现象和结果,要有时间顺序以及各项指标在时间上的关系),图表(用表格或坐标图的方式使实验结果突出、清晰,便于相互比较,尤其适合于分组较多,且各组观察指标一致的实验,使组间异同一目了然;每一图表应有表目和计量单位,应说明一定的中心问题),屏幕截图(实验结果也可以是屏幕截图,充分表明实验的实际情况)。

在实验报告中,可任选其中一种或几种方法并用,以获得最佳效果。

)1、记事本界面布局2、功能描述a、新建:若记事本内容经过修改则提示保存;否则直接初始化记事本b、打开:选择打开的文件,将文件内容读出,写入记事本c、保存:若为第一次保存,调用另存函数;否则将文件内容存为新的记事本内容d、另存:选择另存路径,将记事本内容写入文件e、退出:若未保存或经过修改,则提示保存,调用保存函数,再退出;否则直接退出四、讨论与分析1、实验纠错:a、实验中,出现打开对话框出现两次的情况,即文件选择之后又弹出对话框,需要再选择一次,但是程序中并未出现两次调用。

C_实验-记事本(带源码)

C_实验-记事本(带源码)

记事本实验报告一、实验目的创建一个Windows窗体应用程序,实现记事本的基本功能,具体包括新建文件、打开文件、保存文件、查找等功能。

该实验的目的是掌握:(一)窗体程序的开发(二)常用控件的使用(三)常用事件的处理(四)对话框的设计和使用(五)文件访问的基本方法二、实验内容(一)主窗口Form1图1 主窗口主窗口界面如图1所示,功能包括基本编辑操作、主菜单和其它快捷键功能。

1、编辑功能用文本框实现。

2、窗口标题与文件名相一致。

未打开文件时为“无标题”,打开文件(另存为)后为文件名。

3、支持菜单的热键和快捷键。

二者的区别是前者是激活菜单且显示出该菜单项时有效,后者在任何时候有效。

4、实现新建、打开、保存和查找功能。

5、支持F3(查找下一个)。

表1 Form1控件列表using System;using System.Collections.Generic;using ponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;using System.IO;namespace WindowsFormsApplication1{public partial class Form1 : Form{public Form2 fm2 = null;public string searchText = "";public Form1(){InitializeComponent();}private void saveFile(){if (textBox1.Text.Length > 0 && textBox1.Modified) {if (MessageBox.Show("想保存文件吗?", "记事本",MessageBoxButtons.YesNoCancel,MessageBoxIcon.Warning) == DialogResult.Yes){SaveFileDialog d = new SaveFileDialog();d.Filter = "文本文件(*.txt)|*.txt|所有文件(*.*)|*.*";if (d.ShowDialog() == DialogResult.OK){FileStream fs = File.OpenWrite(d.FileName);StreamWriter sr = new StreamWriter(fs);sr.Write(textBox1.Text);sr.Flush();fs.Close();}}}}private void文件NToolStripMenuItem_Click(object sender, EventArgs e) {saveFile();textBox1.Text = "";Text = "无标题 - 记事本";}private void OpenFile(){OpenFileDialog d = new OpenFileDialog();d.Filter = "文本文件(*.txt)|*.txt|所有文件(*.*)|*.*";if (d.ShowDialog() == DialogResult.OK){FileStream fs = File.OpenRead(d.FileName);StreamReader sr = new StreamReader(fs);string s;string s1 = "";while ((s = sr.ReadLine()) != null){s1 += s;}textBox1.Text = s1;string fname = d.FileName.Substring(stIndexOf("\\") + 1);Text = fname + " - 记事本";}}private void打开OToolStripMenuItem_Click(object sender, EventArgs e) {saveFile();OpenFile();}private void保存SToolStripMenuItem_Click(object sender, EventArgs e) {saveFile();}private void查找FToolStripMenuItem_Click(object sender, EventArgs e) {if (fm2 == null){fm2 = new Form2();fm2.fm1 = this;Form2.textBox2 = textBox1;fm2.Show();}elsefm2.Activate();}private void textBox1_KeyDown(object sender, KeyEventArgs e){if (e.KeyCode == Keys.A && e.Control && !e.Shift && !e.Alt){textBox1.SelectAll();e.Handled = true;}else if (e.KeyCode == Keys.F3 && !e.Control && !e.Shift && !e.Alt) {Form2.findNext();}}}}(二)查找对话框图2 查找对话框查找对话框的界面(图2)与记事本的相同。

记事本程序设计与实现-java

记事本程序设计与实现-java

Java程序设计—课程设计报告题目:记事本程序设计专业:信息管理与信息系统班级:学号:**************:***成绩:完成时间:2011年12月目录第一章、需求分析 (3)1.1需求分析 (3)1.2功能设计 (3)第二章、概要设计 (4)2.1 程序设计思路 (4)2.2 模块说明图 (4)2.3 程序流程 (5)2.4 程序相关说明 (5)2.5 程序运行界 (6)第三章. 程序详细设计与分析 (6)3.1.初始化组件 (6)3.2.构建菜单栏及其下拉菜单 (8)3.3. 创建右键弹出菜单 (13)3.4. 创建工具栏 (15)第四章.使用说明 (17)第五章.测试分析 (18)第六章.课程设计总结 (19)第七章、参考文献 (20)记事本程序的设计摘要:该报告中的程序是使用Java语言编写,能够进行输入文字操作,并具有新建文件,打开文件,保存文件,退出,复制,粘贴,剪切,查找,帮助等功能。

该程序主要用到了Java swing和事件监听等。

关键字:记事本;Java语言第一章、需求分析1.1需求分析现在网络上各种文档编辑器数不胜数,有EmEditor ,UEStudio ,GridinSoft Notepad ,Notepad++,win32pad ,SkimEdit,UniRed, xint 。

功能也是应有尽有,有能改变字体的,有能改变文字颜色的。

但是,这些软件又存在各种各样的瑕疵或问题:有的文件体积相对于一般文字编辑来说太大;有的功能太繁杂,使初级使用者一时难以掌握。

仅从日常应用方面来说,一个文本编辑器只需一些简单实用的功能就够了。

本程序设计就是依照这样一种使用需要设计了一个的记事本程序,基本能够满足大多数人的日常功能需求。

1.2功能设计本程序要构建的记事本程序参照了Windows操作系统的记事本工具,其功能有以下几个方面:(1)菜单中有“文件”,“编辑”,“格式”,“查看”,“关于”五个主菜单(2)“文件”有“新建”“打开”“保存”“退出”,“另存为”,“打印”6个子菜单:分别用于新建文件,打开文件,保存文件,退出记事本。

c语言课设实验报告-记事本程序(含源码)

c语言课设实验报告-记事本程序(含源码)

C语言课设实验报告[记事本程序]班级:学号:姓名:指导老师:C语言课设实验报告#define key_down 80#define key_up 72#define key_esc 1#define key_alt_f 33#define key_alt_x 45#define key_enter 28#define key_alt_e 18int get_key();void box(int startx,int stary,int high,int width);{int i,key,x,y,l;char *w=NULL,*d=NULL,*s=NULL;FILE *fp;char *menu[]={ "File ", "Edit ","Format","View","Help"};char *red[]={ "F", "E","F","V","H"};char *f[]={ "New ", "Open" , "Save", "Another","Quit alt_x"};char *e[]={"Search","Search next","Replace","Date"};char buf[16*10*2],buf1[16*2];textbackground(3);clrscr();window(1,1,80,1);textbackground(WHITE);textcolor(BLUE);clrscr();window(1,1,80,2);for(i=0, l=0; i <5;i++){x=wherex();y=wherey();textcolor(BLACK);cprintf( " %s ",menu[i]);l=strlen(menu[i]);gotoxy(x,y); x.y等的头文件*//*功能键的扫描码的定义*//* i为循环次数的序数,key为从键盘输入的功能键,x,y 为光标的坐标,l为菜单栏中菜单的字符长度*//*w是存放输入的内容(记录的事情)的指针,*s是存放输入的文件名的指针,*d是存放输入要定时的文件的文件名的指针*/ /*菜单栏中各个菜单的定义*//*菜单栏中菜单开头要标颜色的字母的定义*//* file 子菜单中项目的定义*//*edit子菜单的定义*/ /*缓冲区的定义*//*整个大窗口的背景颜色设置*//*创建菜单栏窗口*/ /*设置菜单栏窗口背景颜色为白色,字体颜色为蓝色*//*利用循环输出menu菜单栏,有多少个菜单循环多少次。

C#记事本小程序实验报告解读

C#记事本小程序实验报告解读
{
case DialogResult.Yes:
{
另存为_Click(sender, e);
richTextBox1.Clear();
IsSaved = false;
Isnewnote = true; //表示此时文本为新建文本
this.Text = "新建-记事本";
break;
}
case DialogResult.No:
{
InitializeComponent(); //初始化窗体
openfile = false;
//菜单栏选项
撤销.Enabled = false;
剪切.Enabled = false;
复制.Enabled = false;
粘贴.Enabled = true;
删除.Enabled = false;
全选.Enabled = false;
{richTextBox1.Undo();}//撤销
private void menuItemEditRedo_Click(object sender,EventArgs e)
{richTextBox1.Redo();}//恢复
2、存取文件功能
文本编辑器都应具有文件存取功能,菜单顶级菜单项“文件”的弹出菜单中一般包括如下菜单项:新建、打开、关闭、保存和另存为等。需要用到打开文件对话框(OpenFileDialog控件)和保存文件对话框(SaveFileDialog控件)。和
洛阳理工学院实验报告
系别
计算机与信息工程系
班级
学号
姓名
课程名称
C#面向对象程序设计
实验日期
实验名称
综合实验,记事本
成绩

实验八_电子记事本的设计与实现

实验八_电子记事本的设计与实现

实验八电子记事本的设计与实现掌握用户图形界面设计(GUI)的设计方法,了解布局管理器的知识,了解树形分层结构,掌握Java 中的控件的使用。

二、实验内容利用Java中的用户GUI图形界面设计、文件操作、数据库编程等方面的知识,实现电子记事本的设计与实现。

三、实验要求(1)该实验应能体现本课程中的综合知识;(2)该电子记事本应具有实用性。

(3)界面友好,操作简单。

四、实验步骤与结果:(由学生按照实验内容完成)import javax.swing.*;import java.awt.Container;import java.awt.event.*;import java.awt.*;import javax.swing.event.*;import java.util.*;import java.io.PrintWriter;public class gf extends JFrame implements ActionListener,ItemListener{JTextArea tf=new JTextArea();JLabel lb1=new JLabel("字体");String ziti[]={"宋体","黑体","楷体","Arial","Courier","TimesRoman","Helvetica"}; JLabel lb2=new JLabel("字体样式");String yangshi[]={"粗体","斜体","正常体","粗体倾斜"};JLabel lb3=new JLabel("字号");String zihao[]={"10","20","30","40","50","60"};JComboBox cbx1=new JComboBox();JComboBox cbx2=new JComboBox();JComboBox cbx3=new JComboBox();Font font;String str; int c=20;int n=Font.PLAIN;class savel implements ActionListener{public void actionPerformed(ActionEvent e){JFileChooser jf = new JFileChooser();jf.showSaveDialog(gf.this);}} //保存监听class exitl implements ActionListener{public void actionPerformed(ActionEvent e){System.exit(0);}} //退出监听class cutl implements ActionListener{public void actionPerformed(ActionEvent e){tf.cut();}} //剪切监听class copyl implements ActionListener{public void actionPerformed(ActionEvent e){tf.copy();}} //复制监听class pastel implements ActionListener{public void actionPerformed(ActionEvent e){tf.paste();}} //粘切监听class ziti1 implements ActionListener,ItemListener {public void actionPerformed(ActionEvent e){JFrame nf=new JFrame();Container cp=nf.getContentPane();cp.setLayout(new FlowLayout());nf.setSize(400,100);nf.setVisible(true);for (int i=0;i<ziti.length;i++)cbx1.addItem(ziti[i]);for (int i=0;i<yangshi.length;i++)cbx2.addItem(yangshi[i]);for (int i=0;i<zihao.length;i++)cbx3.addItem(zihao[i]);cp.add(lb1);cp.add(cbx1);cp.add(lb2);cp.add(cbx2);cp.add(lb3);cp.add(cbx3);cbx1.addItemListener(this);cbx2.addItemListener(this);cbx3.addItemListener(this);}public void itemStateChanged(ItemEvent e){if(e.getSource()==cbx1) //字体str=(String)e.getItem();if(e.getSource()==cbx2){ //字体样式if((String)e.getItem()=="粗体")n=Font.BOLD;if((String)e.getItem()=="斜体")n=Font.ITALIC;if((String)e.getItem()=="正常体")n=Font.PLAIN;if((String)e.getItem()=="粗体倾斜")n=Font.BOLD+Font.ITALIC;}if(e.getSource()==cbx3){ //字号String str=(String)e.getItem();for(int i=0;i<zihao.length;i++)if(str==zihao[i])c=(i+1)*10;}font=new Font(""+str,n,c);tf.setFont(font);}} //字体格式监听public gf(){super("记事本"); //设定JFrame的标签tf=new JTextArea("",24,40);getContentPane().add(new JScrollPane(tf)); //创建JFrame的容器对象 JMenuBar bar=new JMenuBar(); //创建JMenuBar对象JMenu menu1=new JMenu("文件");JMenu menu2=new JMenu("编辑");bar.setOpaque(true); //设置bar为不透明setJMenuBar(bar); //加入bar到JFramebar.add(menu1);bar.add(menu2);JMenuItem open=new JMenuItem("打开"); menu1.add(open);JMenuItem save=new JMenuItem("保存"); menu1.add(save);save.addActionListener(new savel());JMenuItem quit=new JMenuItem("退出");menu1.add(quit);quit.addActionListener(new exitl());JMenuItem cut=new JMenuItem("剪切");menu2.add(cut);cut.addActionListener(new cutl());JMenuItem copy=new JMenuItem("复制"); menu2.add(copy);copy.addActionListener(new copyl());JMenuItem paste=new JMenuItem("粘切"); menu2.add(paste);paste.addActionListener(new pastel());JMenuItem zt=new JMenuItem("字体格式"); menu2.add(zt);zt.addActionListener(new ziti1());}public static void main(String[] args){JFrame f = new gf();f.setSize(400,200);f.setVisible(true);}}五、总结。

VC++实验报告之记事本

VC++实验报告之记事本

西安科技大学《VC++程序设计》实验报告题目记事本功能实现院、系(部)计算机科学与技术专业及班级学号姓名日期1 题目要求本实验目的是通过所学知识对文档进行操作。

可以实现文字的复制、保存、粘贴、剪贴、字体设置、背景设置等功能。

在保证实现基本公能的同时尽量界面友好。

2 功能需求此记事本的基本功能是实现对文字的编辑、字体设置等功能。

(1)对文档内的文字可以进行粘贴、复制、剪贴、删除等功能;(2)可以对背景进行设置;(3)可以对字体进行设置(字体和文字大小等);3 总体设计3.1 实现步骤1、首先创建基于对话框的工程,建立空白的单文档;2、定义所需的变量、宏、消息映射以及函数声明等;3、按照要求逐个实现具体的函数功能,如文字的复制粘贴、删除、字体的设置等。

3.2 模块划分4 详细设计4.1 主要代码(1)初始化各个控件void CEditDemoDlg::initData(){CRect rect;GetClientRect(&rect);m_bar.Create(this); //创建状态栏m_bar.SetIndicators(indicators,3); //设置状态栏Pane的数量adaptStatusBarWidth(rect);m_bShowStatusBar = false;AdaptWindowPostion();pathName = _T("");}(2)文字的剪贴、复制与删除实现代码void CEditDemoDlg::OnEditCut(){// TODO: Add your command handler code here//直接调用类CEdit的成员函数cut()((CEdit*)(this->GetDlgItem(IDC_EDIT)))->Cut();}void CEditDemoDlg::OnEditCopy(){// TODO: Add your command handler code here//直接调用类CEdit的成员函数copy()((CEdit*)(this->GetDlgItem(IDC_EDIT)))->Copy();}void CEditDemoDlg::OnEditPaste(){// TODO: Add your command handler code here//调用类CEdit的成员函数paste()((CEdit*)(this->GetDlgItem(IDC_EDIT)))->Paste();}void CEditDemoDlg::OnEditDel(){// TODO: Add your command handler code here//直接调用类CEdit的成员函数Clear()((CEdit*)(this->GetDlgItem(IDC_EDIT)))->Clear();}(3)查找等功能void CEditDemoDlg::OnEditSerach(){// TODO: Add your command handler code here//查找替换对话框是非模式对话框,不能使用domodalif(NULL != m_dlgFindReplace){m_dlgFindReplace->SetFocus();}else{m_dlgFindReplace = new CFindReplaceDialog;m_dlgFindReplace->Create(TRUE, _T(""), _T(""), FR_DOWN, this);m_dlgFindReplace->m_fr.lStructSize = sizeof(FINDREPLACE);m_dlgFindReplace->m_fr.hwndOwner = this->m_hWnd;}}void CEditDemoDlg::OnEditSerachNext(){// TODO: Add your command handler code hereif(NULL != m_dlgFindReplace){m_dlgFindReplace->SetFocus();}else{m_dlgFindReplace = new CFindReplaceDialog;m_dlgFindReplace->Create(TRUE, _T(""), _T(""), FR_DOWN, this);m_dlgFindReplace->m_fr.lStructSize = sizeof(FINDREPLACE);m_dlgFindReplace->m_fr.hwndOwner = this->m_hWnd;}}void CEditDemoDlg::OnEditReplace(){// TODO: Add your command handler code herem_dlgFindReplace = new CFindReplaceDialog;m_dlgFindReplace->Create(FALSE,NULL);m_dlgFindReplace->ShowWindow(SW_SHOW);}long CEditDemoDlg::OnFindReplace(WPARAM wParam, LPARAM lParam){CString m_strSource;this->GetDlgItemText(IDC_EDIT,m_strSource);CString strFind = m_dlgFindReplace->GetFindString();int len = strFind.GetLength();return len;}void CEditDemoDlg::OnEditGo(){// TODO: Add your command handler code here//MessageBox(_T("转到"),_T("转到下列行"),MB_APPLMODAL);CGotoDlg cGotoDlg = new CGotoDlg;cGotoDlg.DoModal();}//自动换行void CEditDemoDlg::OnFormatAutoLine(){// TODO: Add your command handler code hereDWORD style = m_EditControl.GetStyle();if(AfxGetMainWnd()->GetMenu()->GetMenuState(ID_FORMAT_AUTO_LINE,MF_CHEC KED)){AfxGetMainWnd()->GetMenu()->CheckMenuItem(ID_FORMAT_AUTO_LINE,MF_ UNCHECKED);m_EditControl.ModifyStyle(0, ES_AUTOHSCROLL | WS_HSCROLL,SWP_NOSIZE);style = m_EditControl.GetStyle();}else{AfxGetMainWnd()->GetMenu()->CheckMenuItem(ID_FORMAT_AUTO_LINE,MF_ CHECKED);m_EditControl.ModifyStyle(ES_AUTOHSCROLL | WS_HSCROLL,0,SWP_NOSIZE);style = m_EditControl.GetStyle();}UpdateWindow();}void CEditDemoDlg::OnUpdateViewStatus(CCmdUI* pCmdUI){// TODO: Add your command update UI handler code hereif(m_bShowStatusBar){m_bShowStatusBar = false;// pCmdUI->SetCheck(1);}else{m_bShowStatusBar = true;// pCmdUI->SetCheck(0);}if(AfxGetMainWnd()->GetMenu()->GetMenuState(ID_VIEW_STATUS,MF_CHECKED)) {AfxGetMainWnd()->GetMenu()->CheckMenuItem(ID_VIEW_STATUS,MF_UNCHE CKED);}else{AfxGetMainWnd()->GetMenu()->CheckMenuItem(ID_VIEW_STATUS,MF_CHECK ED);}}void CEditDemoDlg::OnSize(UINT nType, int cx, int cy)CDialog::OnSize(nType, cx, cy);// TODO: Add your message handler code hereCRect rect;GetClientRect(&rect);/*//设置状态栏Pane的大小//m_bar.SetPaneInfo(0,IDS_SAVE_STATUS,SBPS_NORMAL,rect.Width()-10 0);//m_bar.SetPaneInfo(1,IDS_TIME,SBPS_STRETCH,0);//m_bar.SetPaneInfo(2,IDS_LINE,SBPS_STRETCH,0);//This is where we actually draw it on the screenRepositionBars(AFX_IDW_CONTROLBAR_FIRST,AFX_IDW_CONTROLBAR_LAST,I DS_SAVE_STATUS);//m_bar.GetStatusBarCtrl().SetBkColor(RGB(212,208,200));//设置背景颜色//获得父窗口的客户区矩形GetClientRect(&rect);CRect mRect;if(m_bar){m_bar.GetWindowRect(&mRect);rect.bottom -= mRect.Height();}CEdit* pEdit=(CEdit*)(GetDlgItem(IDC_EDIT));if(pEdit){pEdit->MoveWindow(&rect);}*/adaptStatusBarWidth(rect);AdaptWindowPostion();}void CEditDemoDlg::OnHelpAbout(){// TODO: Add your command handler code here//弹出关于对话框CAboutDlg dlgAbout;dlgAbout.DoModal();}//关闭或者开启状态栏void CEditDemoDlg::OnViewStatus(){// TODO: Add your command handler code hereAdaptWindowPostion();}void CEditDemoDlg::OnFileAnothersave(){// TODO: Add your command handler code here//对文件对话框进行初始化CString sFileName = _T("Test");CFileDialog dlgFile(FALSE, "txt",文件(*.txt)|*.txt|所有文件|*.*||"), this);//开始显示文件对话框if(dlgFile.DoModal() == IDOK){pathName = dlgFile.GetPathName();UpdateData(TRUE);ofstream txt(pathName);if(txt.fail()){MessageBox("Open file failed.");return;}else{txt << m_Edit;txt.close();UpdateData(FALSE);}}}void CEditDemoDlg::OnFileOpen(){// TODO: Add your command handler code here//对文件对话框进行初始化CString sFileName = _T("Test");CFileDialog dlgFile(TRUE, "txt", NULL,OFN_FILEMUSTEXIST|OFN_HIDEREADONLY,_T("文本文件(*.txt)|*.txt||"), this);//开始显示文件对话框if(dlgFile.DoModal() == IDOK){pathName = dlgFile.GetPathName();UpdateData(TRUE);ifstream txt(pathName);if(txt.fail()){MessageBox("Open file failed.");return;}string str;m_Edit = "";while(!txt.eof()){getline(txt, str);m_Edit += str.c_str();m_Edit += _T("\xd\xa");}txt.close();UpdateData(FALSE);//Change the window's title to the opened file's title.CString fileName = dlgFile.GetFileTitle();SetWindowText(fileName);}}void CEditDemoDlg::OnFileSave(){// TODO: Add your command handler code hereif(pathName != _T(""))//如果当前路径有文件,直接保存{CFile file(pathName,CFile::modeWrite|CFile::modeCreate);CString str;GetDlgItemText(IDC_EDIT,str);file.Write(str.GetBuffer(str.GetLength()),str.GetLength());file.Close();}else//否则直接另存为{OnFileAnothersave();}}void CEditDemoDlg::OnFilePagecfg(){// TODO: Add your command handler code here//页面设置CPageSetupDialog m_Cpagecfg(PSD_MARGINS | PSD_INWININIINTLMEASURE,this);if(m_Cpagecfg.DoModal() == IDOK){ }}void CEditDemoDlg::OnFilePrint(){// TODO: Add your command handler code hereCPrintDialog m_dlgPrint(FALSE);m_dlgPrint.DoModal();/*CPrintDialog m_dlgPrint1(FALSE, PD_ALLPAGES | PD_COLLATE | PD_NOPAGENUMS | PD_HIDEPRINTTOFILE);m_dlgPrint1.DoModal();CPrintDialog m_dlgPrint2(FALSE, PD_SELECTION | PD_USEDEVMODECOPIES);m_dlgPrint2.DoModal();*/}(4)设置背景颜色BOOL CEditDemoApp::InitInstance(){AfxEnableControlContainer();// Standard initialization// If you are not using these features and wish to reduce the size// of your final executable, you should remove from the following// the specific initialization routines you do not need.CEditDemoApp::SetDialogBkColor(RGB(0, 255, 0),RGB(255,0,255 ));//调用背景颜色设置函数}4.2 效果展示5 心得体会此次实验报告的主要内容是实现类似windows记事本的功能,能够完成诸如剪贴、复制、粘贴以及字体设置等功能。

记事本实验报告

记事本实验报告

一、实验目的、内容1.了解Windows编程的基础知识,掌握MFC应用程序的基本知识;2.基本掌握面向对象程序设计的基本思路和方法;3.掌握用VC++开发应用程序的一般步骤和方法;4. 本实验建立了一个MFC单文档项目,采用MFC中单文档的基类CEditView类实现了不少记事本的功能,另外自己再需添加几个功能,如:添加显示系统日期时间,改变字体大小,改变背景颜色,添加日历项,使EditSoft应用程序成为多文档程序等等。

包含的类主要有CMainFrame,CMyApp,CMyDoc,CMyView,C CalendarDlg,C TipDlg, CAboutDlg.二.设计思路本实验中因为大部分借助了系统的功能,所以实现起来较简单。

添加显示系统日期时间:在应用程序的右下角的状态栏中显示出来,用到的是CMainFrame的OnCreate函数。

改变字体大小和背景颜色:在菜单栏中可以改变字体与颜色,用到的是文档类和视图类。

应用程序添加每日提示:用到的是CTipDlg类。

添加日历项:在菜单栏的帮助中添加了日历项目,可以做到看日历的功能,用到的是C CalendarDlg类。

使EditSoft应用程序成为多文档程序: 在状态栏的左上角有新建的图标,实现的是新建一个文本对话框的功能,用到的主要是应用类。

应用程序窗口左上角标题栏上的应用程序图标动起来:图标看起来是动态的,用到的类是主框架类CMainFrame。

保存前面设置的字体颜色、背景颜色和字体大小,用到的主要是文档类与视图类。

三.代码实现1.动态图标实现的代码:void CMainFrame::LoadNewIcon(UINT nIconID){HICON hIconNew=AfxGetApp()->LoadIcon(nIconID);HICON hIconOld=(HICON)GetClassLong(m_hWnd,GCL_HICON);ASSERT(hIconNew);ASSERT(hIconOld);if(hIconNew!=hIconOld){DestroyIcon(hIconOld);SetClassLong(m_hWnd,GCL_HICON,(long)hIconNew);RedrawWindow(NULL,NULL,RDW_FRAME|RDW_ERASE|RDW_INVALIDATE);}}在主框架类的int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)函数中添加一个定时器。

《JAVA语言课程设计》记事本课程设计报告

《JAVA语言课程设计》记事本课程设计报告

河南工程学院《Java语言程序设计》课程设计记事本的设计与实现学生姓名: X X X学院:计算机学院专业班级:软件工程1242专业课程:《Java语言程序设计》指导教师: X X X2014 年 6 月 13 日目录第1章系统设计目的 (1)1.1题目与要求 (1)1.2设计目的 (1)第2章系统实现思路 (2)2.1 实现思路 (2)2.2系统流程图 (3)第3章系统详细设计 (6)3.1界面设计 (6)3.2功能设计 (7)3.3功能实现 (8)第4章系统调试运行 (13)4.1界面测试 (13)4.2 功能测试 (13)第5章课程设计体会 (17)参考文献 (18)第1章系统设计目的1.1题目与要求设计一个简单的Windows记事本,可以实现以下功能: 1:文件的新建,打开,保存;2:对文件的编辑,如复制,剪切,粘贴;3:执行完操作后,能够顺利关闭记事本。

1.2设计目的1:提高对Java语言设计的掌握能力;2:理论联系实际,进一步提高学生的软件开发技术;3:培养学生分析、解决问题的能力。

第2章系统实现思路2.1 实现思路1、首先设计出整个记事本的主体框架,添加菜单栏(JMenu),添加菜单选项(JMenuItem)。

这部分应用到了JMenuBar、JMenu、JMenuItem的构造方法,实现对记事本的基本页面设计。

2、在页面中添加编辑局域,应用了JTextArea的构造方法。

3、实现各个菜单选项的功能。

在具体的功能实现中,为每一个功能设计了一个类,通过监听调用类方法实现所需要实现的功能。

4、程序中的类以及它们之间的关系:本程序总共含有8个类:Notepad()主类:他实现了记事本的基本框架构造,以及对记事本各个功能的监听,并且调用各个功能的类方法。

在Notepad()中,加入了编辑菜单的弹出菜单功能。

在Notepad()主类中,通过事件监听调用了剪切、复制、保存等功能的类方法:newActionListener():实现“新建”功能的类saveActionListener():实现“保存”功能的类openActionListener():实现“打开”功能的类exitActionListener():实现“退出”功能的类cutActionListener():实现“剪切”功能的类copyActionListener():实现“复制”功能的类pasteActionListener():实现“粘贴”功能的类aboutActionListener():实现“关于”功能的类2.2系统流程图记事本总体框架实现思路:框架内包含文件、编辑、关于三个菜单选项,文件菜单内又包括新建、打开、保存、退出功能,编辑内包括剪切、复制、粘贴功能,关于菜单内包括关于功能。

android开发记事本实验报告,记事本实验报告(含源代码运行结果).doc

android开发记事本实验报告,记事本实验报告(含源代码运行结果).doc

android开发记事本实验报告,记事本实验报告(含源代码运⾏结果).doc记事本实验报告(含源代码运⾏结果)嘉应学院计算机学院实验报告系/班别: 计算机学院 1203班指导⽼师: 肖**课程名称: Java语⾔程序设计实验内容: ⽤Java编写记事本学⽣学号:学⽣姓名: 曾朝阳实验地点: 锡科403实验类型: 设计实验时间: 第⼗四周⾄第⼗七周实验要求:能够通过使⽤JDK1.6安装开发windows 桌⾯应⽤程序。

实验⽬的:熟悉事件触发和事件监听以及组件和容器的界⾯安排,能够⽤java设计⼀个仿windows的标准型记事本。

实验过程描述:实验环境:⽹络实验室实验设备:PC机, ⽹络实验平台:winxp. JDK1.6过程描述:1.⾸先,安装JDK1.62.打开开始-》运⾏->输⼊cmd进⼊dos->cd 路径(原程序的路径)->javac NotepadTest.java(编绎)->java NotepadTest运⾏编写程序:import java.io.File;import .URLClassLoader;import .URL;import ng.InterruptedException;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.PrintStream;import java.util.Scanner;import java.util.Date;import java.util.Iterator;import java.util.List;import java.text.SimpleDateFormat; import javax.swing.JButton;import javax.swing.JCheckBox;import javax.swing.JCheckBoxMenuItem; import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JPanel;import javax.swing.JTextArea;import javax.swing.JMenu;import javax.swing.JMenuBar;import javax.swing.ImageIcon;import javax.swing.JScrollPane;import javax.swing.JToolBar;import javax.swing.JMenuItem;import javax.swing.KeyStroke;import javax.swing.JPopupMenu;import javax.swing.JFileChooser;import javax.swing.JOptionPane;import javax.swing.JFileChooser;import javax.swing.JColorChooser; import javax.swing.JDialog;import javax.swing.JTextField;import javax.swing.BorderFactory;import javax.swing.JList;import javax.swing.JComboBox;import javax.swing.UIManager;import javax.swing.JRadioButton;import javax.swing.JToggleButton;import javax.swing.ButtonGroup;import javax.swing.TransferHandler;import javax.swing.border.Border; import javax.swing.border.TitledBorder; import javax.swing.text.Document; import javax.swing.undo.UndoManager; import javax.swing.undo.UndoableEdit; import。

JAVA简单记事本程序设计实验报告(带源码)

JAVA简单记事本程序设计实验报告(带源码)

JAVA程序设计实验报告院系:信息工程系专业:计算机应用技术班级:11计算机01班姓名:Civen任课教师:XXX实验题目:JA V A简单记事本程序设计目录目录 (1)一、引言 (2)1.1 课程设计目的 (2)1.2 题目说明 (2)1.3 开发工具介绍 (2)二、总体设计 ..............................................错误!未定义书签。

2.1系统开发平台...................................错误!未定义书签。

2.2 系统流程图 (4)2.3功能结构图.......................................错误!未定义书签。

2.4数据库设计.......................................错误!未定义书签。

三、详细说明 (4)3.1 系统实施..........................................错误!未定义书签。

四、系统的调试和运行 (9)五、课程设计总结 (9)六、参考文献 (9)附录(源程序代码) (10)一、引言1.1 课程设计目的1) 复习,巩固Java语言的基础知识,进一步加深对Java语言的理解和掌握;2) 课程设计为学生提供了一个既动手又动脑,独立实践的机会,将课本上的理论知识和实际有机的结合起来,锻炼学生的分析解决实际问题的能力,提高学生适应实际,实践编程的能力;3) 培养学生在项目开发中团队合作精神,创新意识及能力。

1.掌握窗口、菜单等高级组件的应用。

2.掌握Java Swing的使用方法。

3.了解GUI应用程序的创建过程与方法。

1.2 题目说明课题:学生成绩管理4.功能要求: 编写一个简单记事本程序,要求包含以下菜单项文件新建、打开、保存、退出编辑剪切、拷贝、粘贴、查找帮助关于5.实现文件和编辑菜单里的功能1.3 开发工具介绍Eclipse是一种可扩展的开放源代码IDE。

JAVA记事本的设计与实现

JAVA记事本的设计与实现

《面向对象程序设计》课程设计报告题目:《日记本的设计与实现》课程设计学院:信息工程姓名:xxxx学号:**********专业:软件工程班级:软工1101班指导教师:xxxx二0一二年十二月十四日目录1.引言 (2)2.设计目的与任务 (3)3.设计方案 (3)3.1总体设计 (3)3.2设计要求 (3)3.3系统的主要功能 (4)3.4开发环境 (4)3.5系统的功能模块划分与系统流程图 (4)3.5.1系统的功能模块划分 (4)3.5.2万年历模块流程图 (5)3.5.3日记本模块流程图 (6)3.6各个类说明 (6)3.6.1主类NoteBook (6)3.6.2记事本Note类 (7)3.6.3左侧面板LeftPane类 (7)3.6.4月份显示MonthPane类 (8)3.6.5年月显示YearMonth类 (8)3.6.6背景音乐Music类 (8)3.6.7日期获取DateTime类 (9)3.6.8右侧记事本显示NotePane类 (9)3.6.9记事本弹出菜单NotePopupMenu类 (10)4.各种功能截图 (10)5.课程设计总结 (14)6.个人心得体会 ............................................................................... 错误!未定义书签。

7.附录 (15)摘要摘要本课程设计通过代码实现将理论知识和具体实践相结合,巩固提高了对JAVA的相关方法与概念的理解,使学生的发散思维及动手能力进一步加强,加强对计算机及软件工程的进一步了解。

在这个课程设计中,做成了一个有日历标记的记事本软件,日记本面板由日历、记事本、图片、时钟四部分组成。

日历部分可以选择不同的年份、月份、日期和星期;记事本模块可以实现查看,保存,删除日志等操作;并且每一步操作都有相应提示;图片模块可以显示预设的图片;时钟模块可以用时钟来显示当前时间。

记事本实现C#记事本课程设计

记事本实现C#记事本课程设计

C#课程设计班级:实验项目名称:记事本实现学号:学生姓名:一、实验目的(本次实验所涉及并要求掌握的知识点)1.通过实验掌握windows程序设计的基础,以及常见windows控件的使用;2.学习掌握记事本实现的思想以及编程方法;二、实验内容与设计思想(设计思路、主要数据结构、主要代码结构、主要代码段分析、电路图等)实现记事本的Window运用程序,其功能能够实现记事本的功能(可参见Window附件中的记事本基本格式);三、实验使用环境(本次实验所使用的平台和相关软件)Windows操作系统Microsoft Visual Studio 2010编程软件四、实验步骤和调试过程(实验步骤、测试数据设计、测试结果分析)记事本的实现:设计过程主要通过运用Window工具,利用MenuStrip工具设计主要的功能格式,之后再通过RichTextBox工具设置所要实现的记事本的编辑框,作为输入输出时用(设置时为了提高实用性要求其在父容器中停靠);最后就是对照相应的控件进行相应的编程。

其实现代码如下:using System;using System.Collections.Generic;using ponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;using System.IO;namespace WindowsFormsApplication2{public partial class Form1 : Form{public Form1(){InitializeComponent();}private void另存为ToolStripMenuItem_Click(object sender, EventArgs e){}private void printDocument1_PrintPage(object sender,System.Drawing.Printing.PrintPageEventArgs ev){TextReader streamToPrint = (TextReader)newStringReader(this.richTextBox1.Text);Font printFont = new Font("Arial", 10);float linesPerPage = 0;float yPos = 0;int count = 0;float leftMargin = ev.MarginBounds.Left;float topMargin = ev.MarginBounds.Top;string line = null;//计算每页的行数linesPerPage = ev.MarginBounds.Height / printFont.GetHeight(ev.Graphics);// 逐行打印while (count < linesPerPage && ((line = streamToPrint.ReadLine()) != null)) {yPos = topMargin + (count * printFont.GetHeight(ev.Graphics));ev.Graphics.DrawString(line, printFont, Brushes.Black, leftMargin, yPos, new StringFormat());count++;}// 还有没有打印内容则另打印一页if (line != null)ev.HasMorePages = true;elseev.HasMorePages = false;}private static string openfilepath = ""; //保存所打开文件的路径private void新建ToolStripMenuItem_Click_1(object sender, EventArgs e){if (richTextBox1.Modified){/*提示保存对话框*/DialogResult dResult = MessageBox.Show("文件" + this.Text + "的内容已改变,需要保存吗?", "保存文件", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question);switch (dResult){case DialogResult.Yes:另存为ToolStripMenuItem_Click(null, null);richTextBox1.Clear();this.Text = "无标题-记事本";break;case DialogResult.No:richTextBox1.Clear();this.Text = "无标题-记事本";break;case DialogResult.Cancel:break;}}else{richTextBox1.Clear();this.Text = "无标题-记事本";richTextBox1.Modified = false;}}private void打开ToolStripMenuItem_Click_1(object sender, EventArgs e){openFileDialog1.Filter = "文本文件(*.txt)|*.txt|所有文件(*.*)|*.*"; //设置文件类型openFileDialog1.FilterIndex = 1; //设置默认文件类型的显示顺序openFileDialog1.RestoreDirectory = true; //打开对话框是否记忆上次打开的目录StreamReader sr = null; //定义StreamReader对象if (openFileDialog1.ShowDialog() == DialogResult.OK){try{openfilepath = openFileDialog1.FileName; //获取打开的文件路径string name = openfilepath.Substring(stIndexOf("\\") + 1);this.Text = name; //文件名作为标题 sr = new StreamReader(openfilepath, Encoding.Default); //实例化srrichTextBox1.Text = sr.ReadToEnd(); //读取所有文件内容}catch{MessageBox.Show("打开文件时出错。

c#记事本实验报告

c#记事本实验报告

题目:文本编译器课程设计报告姓名:学号:专业:实验室:设计时间:2012年12月31日——2013年01月11日目录一、系统概要设计 (1)二、系统详细设计 (1)三、系统实现与测试(或调试) (4)四、分析与总结 (11)参考文献 (11)一、系统概要设计本实验的目的是建立一个文本编译器,同时介绍控件的用法。

首先使用RichTeextBox控件可用来输入和编辑文本。

其次是实现剪切板功能。

通过剪切板可以完成数据的剪切,复制,粘贴等功能。

然后实现保存打开功能。

在文件下弹出,新建,打开,关闭,保存。

修改字体使用的是字体对话框FontDialog,然后选择指定字体就行了。

最后是实现打印功能,PrintDocument组件是用于完成打印的类。

最后代码实现所有功能,这就是本实验的设计思路。

二、系统详细设计1、新建项目。

放置RichTextBox控件到窗体。

属性Name=richTextBox1,Dock=Fill,Text=””2、放置MenuStrip控件到窗体。

为菜单增加顶级菜单:编辑,Name为mainMenuEdit,为其弹出菜单增加菜单项:剪切、复制、粘贴、撤销,属性Name分别为:menuItemEditCut、menuItemEditCopy、menuItemEditPaste、menuItemEditUndo。

为各个菜单项增加单击事件处理函数如下:private void menuItemEditCut_Click(object sender, EventArgs e){richTextBox1.Cut();}private void menuItemEditCopy_Click(object sender, EventArgs e){richTextBox1.Copy();}private void menuItemEditPaste_Click(object sender, EventArgs e){richTextBox1.Paste();}private void menuItemUndo_Click(object sender, EventArgs e){richTextBox1.Undo();}3、运行,输入一些字符后,选中一段实验复制,剪切,粘贴,撤销等功能。

实验三利用记事本等编制程序,.

实验三利用记事本等编制程序,.

实验三:利用记事本等编制程序,将程序导入并利用模拟功能进行轨迹检验一、使用记事本或写字板,编写简单零件的数控车床加工程序对几何形状简单、单一的切削路线,如:外径、内径、端面的切削,若加工余量较大,刀具常常要反复地执行相同的动作,才能达到工件要求的尺寸。

要完成上述加工,在一个程序中就要写入很多的程序段,为了简化程序,减少程序所占内存,数控机床设有各种固定循环指令,只需用一个指令,一个程序段,便可完成一次乃至多次重复的切削动作。

轴向(圆柱或圆锥)切削循环指令(G90)如图3-1所示,刀具从循环起点开始按矩形循环,其加工顺序按1,2,3,4进行,最后又回到循环起点。

图中虚线表示按R快速移动,点划线表示按F指定的工件进给速度移动。

图3-1(a)和(b)分别为圆柱或圆锥切削循环示意图。

(1)圆柱面切削循环指令格式:G90 X(U)- Z(W)- F-;(2)圆锥面切削循环指令格式:G90 X(U)- Z(W)- I- F-;功能:进行外圆及内孔直线加工和锥面加工循环,可以简化编程。

其中:X、Z为切削终点坐标;U、W为切削终点相对于循环起点坐标值的增量;I为工件加工锥面大小端直径差的1/2,当锥面的起点坐标大于终点坐标时为正,反之为负;F为切削进给速度。

注意事项如下。

(1)使用循环切削指令,刀具必须先定位至循环起点,再执行循环切削指令,且完成一循环切削后,刀具仍回到此循环起点。

(2)G90是模态指令。

一旦规定,以下程序段一直有效,在完成固定切削循环后,用另一个G代码来取消。

格式中的I(R)值在圆柱切削时是不用的,在圆锥切削时才要用,这一点,我们可从图3-1中清楚看到。

(a)(b)图3-1 轴向(圆柱或圆锥)切削循环指令G90(a)(b)图3-2 轴向(圆柱或圆锥)切削循环指令G90应用如图3-2(a)所示, 加工余量(Z向)为:30mm,如果进刀量为5mm(直径测量),就分3次循环。

设循环起点为A点(50,52)。

C#记事本程序实验报告

C#记事本程序实验报告

实验报告1.对Windows窗体的属性Text进行修改,设置为“记事本2011”,对属性“MaximizeBox”设置为False2添加MenuStrip菜单栏,根据需要添加:“文件(&F)”,“编辑(&E)”,“工具(&T)”,“格式(&O)”3添加ToolStrip工具栏,根据需要添加:“新建”“打开”“保存”“剪切”“复制”“粘贴”“帮助”,用快捷图标表示4添加TextBox文本控件,对其属性“Multiline”设置为True,“Dock”属性设置为Fill,填充整个剩余空间。

对属性“ScrollBars”设置为V ertical5.依次添加“OpenDialog”“SaveDialog”“ColorDialog”“FontDialog”对话框控件。

(对具有同等功能的控件可以省去编码,而在该控件的属性区对属性“Click”进行新建NToolStripMenuItem_Click退出XToolStripMenuItem_Click关于A ToolStripMenuItem_Click复制CToolStripMenuItem_Click剪切TToolStripMenuItem_Click粘贴PToolStripMenuItem_Click字体ToolStripMenuItem_Click字体颜色ToolStripMenuItem1_Click背景颜色ToolStripMenuItem1_Click保存SToolStripMenuItem_Click打开OToolStripMenuItem_Click前一同等功能代码的关联设置即可)以上完成后进行代码编写:using System;using System.Collections.Generic; using ponentModel; using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;using System.IO;namespace WindowsApplication1 {public partial class Form1 : Form{public Form1(){InitializeComponent();}private void 新建NToolStripMenuItem_Click(object sender, EventArgs e){this.textBox1.Clear();}private void 退出XToolStripMenuItem_Click(object sender, EventArgs e){this.Close();}private void 关于A ToolStripMenuItem_Click(object sender, EventArgs e){MessageBox.Show("记事本2011");}private void 复制CToolStripMenuItem_Click(object sender, EventArgs e){this.textBox1.Copy();private void 剪切TToolStripMenuItem_Click(object sender, EventArgs e){this.textBox1.Cut();}private void 粘贴PToolStripMenuItem_Click(object sender, EventArgs e){this.textBox1.Paste();}private void 字体ToolStripMenuItem_Click(object sender, EventArgs e){if (fontDialog1.ShowDialog() == DialogResult.OK){this.textBox1.Font = fontDialog1.Font;}private void 字体颜色ToolStripMenuItem1_Click(object sender, EventArgs e){if (colorDialog1.ShowDialog() == DialogResult.OK){this.textBox1.ForeColor = colorDialog1.Color;}}private void 背景颜色ToolStripMenuItem1_Click(object sender, EventArgs e){if (colorDialog1.ShowDialog() == DialogResult.OK){this.textBox1.BackColor = colorDialog1.Color;}}private void 保存SToolStripMenuItem_Click(object sender, EventArgs e)if (saveFileDialog1.ShowDialog() == DialogResult.OK){File.WriteAllText(this.saveFileDialog1.FileName, this.textBox1.Text);}}private void 打开OToolStripMenuItem_Click(object sender, EventArgs e){if (this.openFileDialog1.ShowDialog() == DialogResult.OK){this.textBox1.Text = File.ReadAllText(this.openFileDialog1.FileName);}} }。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验设计和步骤
7. 菜单“打开”功能代码 方法:单击“打开”菜单项,在该菜单的单击事件相应过程中,编写代 码:
8. 菜单“保存”功能代码 方法:单击“保存”菜单项,在该菜单的单击事件相应过程中,编写代码:
实验设计和步骤
9. 菜单“自动换行”功能代码 方法:单击“自动换行”菜单项,在该菜单的单击事件相应过程中,编 写代码:
实验设计和步骤
把一个TOpenDialog打开文件对话框组件放到窗体上,并在对象观察器里 设置它的属性: Filter属性:文件类型过滤器,用来设置哪些类型的文件可以在对话框中
显示。
设置为:文本文件 (*.txt)|*.txt InitialDir属性:指定对话框打开时的默认目录。 设置为:D:\
1. 菜单“新建”功能代码 方法:单击“新建”菜单项,在该菜单的单击事件相应过程中,编写代码:
2. 菜单“复制”功能代码 方法:单击“复制”菜单项,在该菜单的单击事件相应过程中,编写代码:
实验设计和步骤
3. 菜单“粘贴”功能代码 方法:单击“粘贴”菜单项,在该菜单的单击事件相应过程中,编写代 码:
各菜单项如图:
实验设计和步骤
注意:当设计好一个菜单后,并不代表在程序执行时就可以使用,因为窗体
(Form)并不知道还有快捷菜单,为此还要设置窗体的PopupMenu属性,单
击PopupMenu属性右边的下三角按钮,选择窗体中所创建的快捷菜单的名字 如PopupMenul,这样在程序执行时,当右击窗体后,便会弹出相应的菜单。
实验设计和步骤
11. 菜单“字体设置”功能代码 方法:单击“字体设置”菜单项,在该菜单的单击事件相应过程中,编写代 码:
12. 快捷菜单“复制”功能代码(其它右键快捷菜单的用法相同) 方法:单击快捷菜单“复制”菜单项,在该菜单的单击事件相应过程中,编 写代码:
实验设计和步骤
13. 补充:判断如果文本框中原来有内容,当“新建”时,需要提示用户是 否要保存。
实验设计和步骤
• 设置快捷键(在对象观察器(按F11)里设置) 方法:先双击主菜单组件TMainMenu,然后选中要设置的菜单项, 按F11调出对象观察器,修改它的ShortCut属性即可。
实验设计和步骤
7. TPopupMenu组件
弹出菜单组件 用来设计用户的弹出菜单,将一个组件添加到窗 体双击该组件后,在此可进行弹出菜单设计。
相关知识:消息框 (8.3)
表8-5 Abuttom参数的取值(消息框按钮类型)
取值 mbYes mbNo mbOk mbCancel mbHelp mbAbort mbRetry mbIgnore mbAll
说明 一个表面上显示“Yes”的按钮 一个表面上显示“No”的按钮 一个表面上显示“OK”的按钮 一个表面上显示“Cancel”的按钮 一个表面上显示“Help”的按钮 一个表面上显示“Abort”的按钮 一个表面上显示“Retry”的按钮 一个表面上显示“Ignore”的按钮 一个表面上显示“All”的按钮
相关知识:对话框组件
9. TSaveDialog保存文件对话框
主要属性
FileName属性 :用户为要保存的文件指定文件名和路径信息


Filter属性:文件类型过滤器,把文件保存为哪些类型的文件
InitialDir属性:指定对话框打开时的默认目录。 Execute方法:打开对话框,如果用户选择“保存”按钮则返回true, 否则返回false;
2. ScrollBars属性:用来设置文本框是否有滚动条。 3. Clear方法:清空文本框中的内容。
4. CopyToClipboard方法:将文本框中选择文本拷贝到剪贴板上。
5. CutToClipboard方法:将文本框中选择的文本剪切到剪贴板上。
6. PasteFromClipboard方法:将剪贴板内容拷贝到文本框中光标所在的位置。 7. SelectAll方法:选择文本框中的所有文本。 8. SaveToFile方法:将当前文本框中的文本以指定的文件名保存到磁盘中。 9. LoadFromFile方法:将磁盘上指定文件装载到文本框中并显示。 10.Wordwrap:设置文本是否可以自动换行。
相关知识:对话框组件
8. TOpenDiaቤተ መጻሕፍቲ ባይዱog打开文件对话框
主要属性
FileName属性 :保存了用户选中的文件的文件名和路径信息 Filter属性:文件类型过滤器,用来设置哪些类型的文件可以在对话 框中显示。 InitialDir属性:指定对话框打开时的默认目录。 Execute方法:打开对话框,如果用户选择“打开”按钮则返回true, 否则返回false;
Atype参数指定消息框的类型,它的取值及含义见表8-
4。
Abuttons参数指定消息框包含哪些按钮,取值及含义
相关知识:消息框 (8.3)
表8-4 Atype参数的取值(消息框类型) 取值 mtWarning mtError mtInformation mtConfirmatio n mtCustom 说明 显示一个带有蓝色惊叹号的消息框 显示一个带有红色停止符号的消息框 显示一个带有蓝色“i”标志的消息框 显示一个带有绿色问号的消息框 消息框中没有位图,对话框的标题是应用程 序执行文件名
mrIgnore
mrAll mrNoToAll mrYesToAll
相关知识:消息框 (8.3)
2. MessageDlg函数
– 例如:
– MessageDlg('记事本中还有文本内容未保存,是 否保存?',mtWarning,[mbyes,mbno],0);
实验设计和步骤
13. 补充:判断如果文本框中原来有内容,当“新建”时,需要 提示用户是否要保存。 – – 修改菜单“新建”功能代码 方法:单击“新建”菜单项,在该菜单的单击事件相应过 程中,编写代码:
实验设计和步骤
6. TMainMenu组件
主菜单组件用来设计用户的主菜单,将一个TMainMenu组件添 加到窗体双击该组件后,在此可进行菜单设计。
实验设计和步骤
双击该组件后,在 这里输入各菜单项
实验设计和步骤
各菜单项如下:
菜单分组,主要是使用分隔条,可以通过设置 Caption属性为“-” (减号)来实现菜单的分隔条。
记事本程序界面设计
OpenDialog打开文件对话框 组件(在dialogs面板上) FontDialog字体设置 对话框组件(在 dialogs面板上)
MainMenu主菜单 组件(在standard 面板上)
PopupMenu弹出菜单 组件(在standard 面板上)
SaveDialog保存文件对话 框组件(在dialogs面板上)
记事本程序的设计与实现
实验设计和步骤
1. 2. 运行Delphi7,利用File菜单下的“New- Application”新建一个工程; 在D盘下新建一个文件夹(以自己名字命名),把
工程文件 以“NotePad.dpr”为文件名保存到该文件
夹中; 3. 4. 把单元文件以“NotePadSource.pas”为文件名也保 存到该文件夹中; 在窗体上,设计出如下图所示的程序界面;
设置Filter属性为:文本文件 (*.txt)|*.txt
相关知识:对话框组件
10. TFontDialog字体设置对话框
主要属性 Font属性:保存了用户在对话框中设置的字体设置信息。

Execute方法:打开字体设置对话框,如果用户选择“确定”按钮
则返回true,否则返回false;
实验设计和步骤
4. 菜单“剪切”功能代码 方法:单击“剪切”菜单项,在该菜单的单击事件相应过程中,编写代码:
实验设计和步骤
5. 菜单“删除”功能代码 方法:单击“删除”菜单项,在该菜单的单击事件相应过程中,编写代 码:
6. 菜单“全选”功能代码 方法:单击“全选”菜单项,在该菜单的单击事件相应过程中,编写代码:
Memo文本框组 件(在standard 面板上)
实验设计和步骤
5. TMemo文本框组件位于组件面板的Standard选项卡上可以显 示、编辑多行文本。
设置组件的属性: Align:alClient //让组件充满整个客户区
相关知识:TMemo文本框组件
主要属性和方法
1. Lines属性:保存用户在文本框中输入的文本。
相关知识:消息框 (8.3)
2. MessageDlg函数
弹出带多个图标和按钮的消息框。
– 函数的语法如下:
MessageDlg(const Msg:string;Atype:TmsgDlgType;
Abuttons:TmsaDlgButton;HelpCtx:Longint):Word;

Msg参数指定了消息框显示的内容,
相关知识:消息框 (8.3)
1. ShowMessage过程
调用ShowMessage过程可以显示一个带有OK按钮
的简单消息框。
例如: ShowMessage („欢迎使用本系统!’);
其语法如下:
procedure ShowMessage(const Msg:String);
Msg参数指定在消息框中显示的消息字符串,对 话框的标题即为应用程序的执行文件名。
相关知识:消息框 (8.3)
函数返回值与用户所选的按钮有关。表8-6 各按钮的返回值
TMsgDlgBtn值 mbOK mbCancel mbYes mbNo mbAbort mbRetry 返回值 mrOk mrCancel mrYes mrNo mrAbort mrRetry
mbIgnore
mbAll mbNoToAll mbYesToAll
相关文档
最新文档