From b39bd80a7fd5b88dd1d0e8b6540cae9c035a6b73 Mon Sep 17 00:00:00 2001
From: 826220679@qq.com <826220679@qq.com>
Date: 星期六, 22 七月 2023 21:37:16 +0800
Subject: [PATCH] 优化

---
 src/baowen/Dell_AACC.java   |   30 ++++++++-------
 src/frame/Index1.java       |   40 +++++++++++++++++++
 src/baowen/Udp_Receive.java |   38 +++++++++++--------
 3 files changed, 77 insertions(+), 31 deletions(-)

diff --git a/src/baowen/Dell_AACC.java b/src/baowen/Dell_AACC.java
index de59d11..5d34260 100644
--- a/src/baowen/Dell_AACC.java
+++ b/src/baowen/Dell_AACC.java
@@ -56,18 +56,18 @@
 	private static String hexStr =  "0123456789ABCDEF";  
 
 	public static void dell_AACC(String message,String ip,int port) {
-		if(message.startsWith("AACC")) {
-			String[] gnggns=message.split("AACC");
-			int size=gnggns.length;
-			if(size>2) {				
-				for(int i=0;i<size;i++) {
-					if(gnggns[i].length()>5) {
-						jiexi_AACC("AACC"+gnggns[i],ip,port);
-					}
+		String[] gnggns=message.split("AACC");
+		int size=gnggns.length;
+		if(size>2) {				
+			for(int i=0;i<size;i++) {
+				if(gnggns[i].length()>80) {
+					jiexi_AACC("AACC"+gnggns[i],ip,port);
 				}
-			}else {
-				jiexi_AACC(message,ip,port);	
 			}
+		}else {
+			if(message.length()>80 && size==2) {
+				jiexi_AACC("AACC"+gnggns[1],ip,port);
+			}				
 		}
 	}
 
@@ -82,7 +82,8 @@
 		String yaw0=hex[79]+hex[78]+hex[77]+hex[76];
 		String stat0=hex[153]+hex[152];
 		String age0=hex[157]+hex[156]+hex[155]+hex[154];
-		String ns0=hex[161]+hex[160];
+		String ns0=hex[159]+hex[158];
+//		String ns20=hex[161]+hex[160];
 		lenth=decodeHEX(lenth0);		
 		lat=doubelttohex(lat0);		
 		lon=doubelttohex(lon0);		
@@ -99,15 +100,16 @@
 			if(Index1.getXieyi_type().equals("2")) {
 				mess="经度:"+lat+",纬度:"+lon+",高程:"+alt+",俯仰角:"+pitch
 						+",横滚角:"+roll+",航向角:"+yaw+",状态:"+stats+",差分龄期:"+age+",卫星颗数:"+ns;
-			}else if(Index1.getXieyi_type().equals("1")) {
-				mess=infom;
+				Index1.ara_show(mess);
 			}else if(Index1.getXieyi_type().equals("3")) {
 				mess="经度:"+lat0+",纬度:"+lon0+",高程:"+alt0+",俯仰角:"+pitch0
 						+",横滚角:"+roll0+",航向角:"+yaw0+",状态:"+stat0+",差分龄期:"+age0+",卫星颗数:"+ns0;
+				Index1.ara_show(mess);
 			}else if(Index1.getXieyi_type().equals("5")) {
 				mess="$GNGGAD,"+lat+","+lon;
+				Index1.ara_show_no_time(mess);
 			}
-			Index1.ara_show(mess);
+			
 		}		
 
 	}
diff --git a/src/baowen/Udp_Receive.java b/src/baowen/Udp_Receive.java
index 193fbbe..2f684cd 100644
--- a/src/baowen/Udp_Receive.java
+++ b/src/baowen/Udp_Receive.java
@@ -59,27 +59,33 @@
 				byt=subBytes(packet.getData(),0, lenth);
 				//获取发送端的IP地址对象
 				String ip=packet.getAddress().getHostAddress();
-				int port=packet.getPort();	
-				String datas=Tools.Bytes2HexString(byt);
-				String upinfo=datas.toUpperCase();	
-				if(Index1.isShoware() && Index1.getTagid().equals("HEX")) {
-					Index1.ara_show(upinfo);
-				}
+				int port=packet.getPort();									
 				i=i+1;
 				Index1.getUdpnum().setText(i+"条");	
 				if(i==100000) {
 					i=0;
+				}								
+				
+				if(Index1.getInput_data_type()==2) {
+					String message=new String(packet.getData(), 0, lenth);
+					message=message.replaceAll(" ", "");
+					message=message.replaceAll("\r\n", "");
+					String infor2=message.toUpperCase();
+					Dell_AACC.dell_AACC(infor2, ip, port);
+					Dell_baotou.dell_baotou_start(infor2,ip,port);
+					if(Index1.isShoware() && Index1.getXieyi_type().equals("1")) {
+						Index1.ara_show_no_time(infor2);
+					}
+				}else {
+					String datas=Tools.Bytes2HexString(byt);
+					String upinfo=datas.toUpperCase();	
+					Dell_55AA02.dell_55aa02_start(upinfo, ip, port);
+					Dell_AACC.dell_AACC(upinfo, ip, port);
+					if(Index1.isShoware() && Index1.getXieyi_type().equals("1")) {
+						Index1.ara_show_no_time(upinfo);
+					}
 				}
-				String message=new String(packet.getData(), 0, lenth);
-				message=message.replaceAll(" ", "");
-				message=message.replaceAll("\r\n", "");
-				String infor2=message.toUpperCase();				
-				Dell_baotou.dell_baotou_start(infor2,ip,port);
-				Dell_55AA02.dell_55aa02_start(upinfo, ip, port);
-				Dell_AACC.dell_AACC(upinfo, ip, port);
-				if(Index1.isShoware() && Index1.getTagid().equals("ASCLL")) {
-					Index1.ara_show(infor2);
-				}
+				
 				byt=null;
 			} catch (Exception e) {
 				e.printStackTrace(); // 输出异常信息
diff --git a/src/frame/Index1.java b/src/frame/Index1.java
index 6b2112c..8c4cac0 100644
--- a/src/frame/Index1.java
+++ b/src/frame/Index1.java
@@ -73,6 +73,7 @@
 	JButtonModel2 jbt_chushi_enhd=null;//初始化偏移量初始值
 	JButtonModel2 jbt_send=null;//发送设置基准站左边
 	JButtonModel2 jbt_getbase_jwd=null;//获取基准值经纬度
+	JButtonModel2 jbt_datatype=null;//获取基准值经纬度
 	JTextField searchFileld=null;//搜索文本框
 	JTextField send_Fileld=null;//搜索文本框
 	JlableModel  jl_UDP=new JlableModel("UDP监听端口:"+Dell_system.getPort());
@@ -85,6 +86,7 @@
 	static String tagid="0";
 	JComboBox<String> box=null;
 	static String xieyi_type="2";//协议类型选择
+	static int input_data_type=1;
 
 	public Index1() {//构造方法
 		Toolkit toolkit = getToolkit();// 获得窗体工具包
@@ -94,7 +96,7 @@
 		int w=(int) (screenSize.width* 0.15);
 		int h=(int) (screenSize.height * 0.15);
 		this.setBounds(w,h, width, height);//设置窗体尺寸
-		this.setTitle("离线记录软件V1.01");
+		this.setTitle("离线记录软件V1.02");
 		Container rq=getContentPane();//获取容器
 		rq.setLayout(new BorderLayout());
 		rq.setBackground(Color.white);
@@ -129,6 +131,7 @@
 			mb.add(getUdpnum());	
 			mb.add(getBut_shuaxin1());
 			mb.add(getBox());
+			mb.add(getJbt_datatype());
 			jl_UDP.setBounds(x+3, y,140,30);
 			//jl_tcp.setBounds(x+140, y,120,30);
 			//getTcpnum().setBounds(x+140+120+10, y,100,30);
@@ -157,6 +160,7 @@
 			getBut_start().setBounds(x, y2+h1+20,100,40);
 			getBut_clear().setBounds(x+120, y2+h1+20,100,40);
 			getBox().setBounds(x+240, y2+h1+20,120,40);
+			getJbt_datatype().setBounds(x+380, y2+h1+20,120,40);
 
 
 
@@ -369,6 +373,11 @@
 		are.append(GetNowTime.sss()+","+message+"\n");
 		are.setCaretPosition(are.getText().length());
 	}
+	
+	public static void ara_show_no_time(String message) {
+		are.append(message+"\n");
+		are.setCaretPosition(are.getText().length());
+	}
 
 	public JButtonModel getBut_start() {
 		if(but_start==null) {
@@ -571,6 +580,35 @@
 		return xieyi_type;
 	}
 
+	public JButtonModel2 getJbt_datatype() {
+		if(jbt_datatype==null) {
+			jbt_datatype=new JButtonModel2("HEX输入");
+			jbt_datatype.addActionListener(new ActionListener() {
+				public void actionPerformed(ActionEvent e) {
+					if(input_data_type==2) {
+						jbt_datatype.setText("HEX输入");
+						input_data_type=1;
+					}else {
+						jbt_datatype.setText("ASCLL输入");
+						input_data_type=2;
+					}
+					
+				}
+			});
+		}
+		return jbt_datatype;
+	}
+
+	
+
+	public static int getInput_data_type() {
+		return input_data_type;
+	}
+
+	public static void setInput_data_type(int input_data_type) {
+		Index1.input_data_type = input_data_type;
+	}
+
 
 
 }

--
Gitblit v1.9.3