⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 application1.java~150~

📁 使用java实现的计算机自主发短信到手机。 运行界面上
💻 JAVA~150~
字号:
package keti2;

import javax.swing.UIManager;

import java.awt.*;
import java.io.*;
import javax.comm.*;
import java.util.*;
import java.lang.*;
import java.util.StringTokenizer;


/**
 * <p>Title: </p>
 * <p>Description: </p>
 * <p>Copyright: Copyright (c) 2004</p>
 * <p>Company: </p>
 * @author not attributable
 * @version 1.0
 */

public class Application1 {
  boolean packFrame = false;
  static String []s=new String[30];
  String []smsbuffer=new String[256];
  protected static String pnum;
  protected static String chinesesms;
  int m=1;
  Vector cell= new Vector();
  Frame1 frame = new Frame1();

  //Construct the application
  public Application1() {

    //Validate frames that have preset sizes
    //Pack frames that have useful preferred size info, e.g. from their layout
    if (packFrame) {
      frame.pack();
    }
    else {
      frame.validate();
    }
    //Center the window
    Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
    Dimension frameSize = frame.getSize();
    if (frameSize.height > screenSize.height) {
      frameSize.height = screenSize.height;
    }
    if (frameSize.width > screenSize.width) {
      frameSize.width = screenSize.width;
    }
    frame.setLocation((screenSize.width - frameSize.width) / 2, (screenSize.height - frameSize.height) / 2);
    frame.setVisible(true);
  }

  //Main method
  public static void main(String[] args)
  throws IOException, NoSuchPortException, PortInUseException,
 UnsupportedCommOperationException {
    try {
      UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
    }
    catch(Exception e) {
      e.printStackTrace();
    }
    int time1=0;
    int nState;
  //1---stBeginRest 开始休息/延时
  //2---stContinueRest 继续休息/延时
  //3---stSendMessageRequest 发出发送短消息命令
  //4---stSendMessageResponse 等待发送短消息命令反馈
  //5---stSendMessageWaitIdle 发送短消息失败,等待GSM就绪
  //6---stReadMessageRequest 发送读取短消息列表的命令
  //7---stReadMessageResponse 等待读取短消息命令反馈(读取短消息列表到缓冲区)
  //8---stDeleteMessageRequest 发送删除短消息命令
  //9---stDeleteMessageResponse 等待删除短消息命令反馈
  //10--stDeleteMessageWaitIdle 删除短消息失败,等待GSM就绪
  //11--stExitThread           退出
    int nGSMState;//gsm的状态
    //1--gsm_ok
    //2--gsm_err
    //3--gsm_wait
    int nMsg=0; // 收到短消息条数
    int nDelete=0;// 目前正在删除的短消息编号
    int tmorg=0;
    int tmnow=0;//上次和现在的时间,计算超时用
    Date timenow=new Date();

    System.out.print("\n");
    QueueLink receivelink=new QueueLink();
    Application1 rapp= new Application1();
    ReceiveSMS rjob=new ReceiveSMS();

    nState=rapp.frame.nState; //1---stBeginRest 开始休息/延时
    while(nState!=11)
    {

      switch(nState)
      {
          case 1:
                 Date timenow1=new Date();
                 System.out.print("State=stBeginRest\n");
                 tmorg=timenow1.getMinutes()*60+timenow1.getSeconds();
                 nState=2;//stContinueRest

                 break;
         case 2:
                 Date timenow2=new Date();
                 System.out.print("State=stContinueRest\n");
                 try {
                 Thread.sleep(100);
                 } catch (InterruptedException e) {
                      // nothing to do
                 }
                 tmnow=timenow2.getMinutes()*60+timenow2.getSeconds();
                 System.out.print(tmnow);
                 if(rapp.frame.sendsms.total>=1)
                 {
                   nState=3;
                 }
                 else if(tmnow-tmorg>=3)
                 {
                   nState=6;
                 }
                 break;
          case 3:
                 Date timenow3=new Date();
                 System.out.print("State=stSendMessageRequest\n");
                 //发送短消息
                 String sendsms=rapp.frame.sendsms.DeQueue();
                 String sendphone=rapp.frame.sendphone.DeQueue();
                 rjob.sendChineseSMS(sendphone,true,sendsms);
                 tmorg=timenow3.getMinutes()*60+timenow3.getSeconds();
                 nState=4;
                 break;
          case 4:
                 Date timenow4=new Date();
                 System.out.print("State=stSendMessageResponse\n");
                 try {
                 Thread.sleep(100);
                 } catch (InterruptedException e) {
                      // nothing to do
                 }
                 tmnow=timenow4.getMinutes()*60+timenow4.getSeconds();
                 switch(rjob.getGSMresponse())
                 {
                    case 1:
                            System.out.print("  GSM_OK \n");
                            nState=1;
                            break;
                    case 2:
                            System.out.print("  GSM_ERR \n");
                            nState=5;
                            break;
                    default:
                            System.out.print("  GSM_WAIT \n");
                            if(tmnow-tmorg>=3)
                            {
                              System.out.print("timeout");
                              nState=5;
                            }

                 }
                 break;
          case 5:
                 Date timenow5=new Date();
                 System.out.print("State=stSendMessageWaitIdle");
                 try {
                 Thread.sleep(100);
                 } catch (InterruptedException e) {
                      // nothing to do
                 }
                 nState=3;
                 break;
          case 6:
                 Date timenow6=new Date();
                 System.out.print("State=stReadMessageRequest\n");
                 //读取短消息
                 rjob.ReadNew();
                 tmorg=timenow6.getMinutes()*60+timenow6.getSeconds();
                 nState=7;
                 break;
          case 7:
                 Date timenow7=new Date();
                 System.out.print("State=stReadMessageResponse\n");
                 try {
                   Thread.sleep(100);
                 } catch (InterruptedException e) {
                      // nothing to do
                 }
                 tmnow=timenow7.getMinutes()*60+timenow7.getSeconds();
                 nMsg=rjob.recesms.total;
                 System.out.print("\n");
                 System.out.print("nMsg="+nMsg);
                 System.out.print("\n");
                 switch(rjob.getGSMresponse())
                 {
                   case 1:
                     System.out.print("  GSM_OK \n");
                     if (nMsg > 0)
                     {
                       Vector cell1=new Vector();
                       String sms=new String();
                       sms=rjob.recesms.DeQueue();

                       System.out.print(sms);

                       ///////////利用PDU处理函数处理这部分

                       ///////////////////////////
                       String time=rjob.getpduindex(sms);
                       time1=Integer.parseInt(time);
                       pnum=rjob.getpduphone(sms,time1);
                       //根据不同的代码用不同的函数
                       if(rjob.fenxipdu(sms,time1).equals("en"))
                         sms=rjob.getenglish7pdu(sms,time1);
                        else if(rjob.fenxipdu(sms,time1).equals("cn"))
                         sms=rjob.getcnpdu(sms,time1);
                        //////////////////////

                        /////////////////////
                       /*
                       //////////////////////////////以前非PDU处理的部分
                       String time=rjob.smsindex.DeQueue();
                       time1=Integer.parseInt(time);
                       pnum=rjob.getphonenum(sms,time1);
                       sms=rjob.CnEnCode(sms,time1);
                       ///////////////////////
                       */
                       //显示出来
                       cell1.add(time);
                       cell1.add(pnum);
                       cell1.add(sms);
                       rapp.frame.row.add(cell1);
                       rapp.frame.tableModel.setDataVector(rapp.frame.row,rapp.frame.tableHeadName);
                       rapp.frame.table.setModel(rapp.frame.tableModel);
                       //
                       //send to the robot
                       String strTmp,strReturn;
                       strTmp = CommandParse.strParseCommand(sms);
                       //System.out.println("\r\ntest"+strTmp);
                       Frame1.showLogTAText("sms:"+sms+":"+strTmp);

                       Client.StartClient("Ghost02", 7458, strTmp);
                       //return message
                       strReturn = CommandParse.strParseReturnMsg(strTmp);
                       rapp.frame.sendsms.Enqueue(strReturn);
                       rapp.frame.sendphone.Enqueue(pnum);
                       nDelete = 0;
                       nState = 8;
                     }
                     else
                    {
                        nState = 1;
                    }


                     break;
                   case 2:
                     System.out.print("  GSM_ERR \n");
                     nState = 1;
                     break;
                   default:
                     System.out.print("  GSM_WAIT \n");
                     if (tmnow - tmorg >= 3) {
                       System.out.print("timeout");
                       nState = 1;
                     }

                 }
                  break;

         case 8:
                Date timenow8=new Date();
                System.out.print("State=stDeleteMessageRequest\n");
                if (nDelete < nMsg)
                {
                //gsmDeleteMessage(param[nDelete].index);
                //memset(&buff, 0, sizeof(buff));



                rjob.DelSMS(time1);

                tmorg=timenow8.getMinutes()*60+timenow8.getSeconds();
                nState = 9;
                }
                else
                {
                nState = 1;
                }
                break;
        case 9:
                Date timenow9=new Date();
                System.out.print("State=stDeleteMessageResponse\n");
                try {
                 Thread.sleep(100);
                 } catch (InterruptedException e) {
                      // nothing to do
                 }
                 tmnow=timenow9.getMinutes()*60+timenow9.getSeconds();
                 switch(rjob.getGSMresponse())
                 {
                   case 1:
                     System.out.print("  GSM_OK \n");
                     nMsg--;
                     nDelete++;
                     nState=1;

                     break;
                   case 2:
                     System.out.print("  GSM_ERR \n");
                     nState = 10;
                     break;
                   default:
                     System.out.print("  GSM_WAIT \n");
                     if (tmnow - tmorg >= 3) {
                       System.out.print("timeout");
                       nState = 1;
                     }

                 }
                  break;
          case 10:
                  Date timenow10=new Date();
                  System.out.print("State=stDeleteMessageWaitIdle\n");
                  try {
                 Thread.sleep(500);
                 } catch (InterruptedException e) {
                      // nothing to do
                 }
                  nState=8;
                  break;
      }
     if(rapp.frame.nState==11)
     {
       nState=11;
     }
    }
    /*&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&*/
    /*
    while(rjob.recesms.total>=1)
    {

      Vector cell1=new Vector();
      String sms=new String();
      sms=rjob.recesms.DeQueue();
      String time=rjob.smsindex.DeQueue();
      int time1=Integer.parseInt(time);
      pnum=rjob.getphonenum(sms,time1);
      sms=rjob.CnEnCode(sms,time1);

      cell1.add(time);
      cell1.add(pnum);
      cell1.add(sms);
      rapp.frame.row.add(cell1);
      rapp.frame.tableModel.setDataVector(rapp.frame.row,rapp.frame.tableHeadName);
      rapp.frame.table.setModel(rapp.frame.tableModel);

    }
*/
    /*&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&*/


    /*##########################################*/
/*
     int k=0;
     int l=1;
      while(true)
      {
      if(rapp.frame.Statue)

       {
        Vector cell=new Vector();
        String sms=new String();
        sms=rjob.reiceive(l);
        receivelink.Enqueue(sms);
        System.out.print("\n");
        System.out.print(receivelink.DeQueue());
        System.out.print("\n");
        l++;
        //System.out.print(sms);
        rapp.frame.jTextField1.setText(sms);
        ++k;
        s[k]=Integer.toString(k);
        pnum=rjob.Phnum;
        cell.add(s[k]);
        cell.add(pnum);
        cell.add(sms);
        rapp.frame.row.add(cell);
        rapp.frame.tableModel.setDataVector(rapp.frame.row,rapp.frame.tableHeadName);
        rapp.frame.table.setModel(rapp.frame.tableModel);
        rapp.frame.Statue=false;
        try {
              Thread.sleep(100);
              } catch (InterruptedException e) {
        // nothing to do
              }

        //rjob.sendChineseSMS(pnum,true,"已经准备就绪");

       // rjob.DelSMS(l);

        // new Application1().frame.jTextField1.setText(sms);
       }//endif
      }//end while
      /*#########################################################*/

  }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -