瀏覽代碼

1.新增升级文件校验页面,

libo 3 年之前
父節點
當前提交
7ed64b2f2e
共有 6 個文件被更改,包括 1425 次插入1324 次删除
  1. 85 34
      Line.cpp
  2. 10 2
      Line.h
  3. 1268 1286
      Line.ui
  4. 4 2
      Tools.pro
  5. 53 0
      file_md5.cpp
  6. 5 0
      file_md5.h

+ 85 - 34
Line.cpp

@@ -1,5 +1,6 @@
 #include "Line.h"
 #include "ui_port.h"
+#include "file_md5.h"
 #include <qsettings.h>
 #include <qfiledialog.h>
 #include <qtextstream.h>
@@ -166,17 +167,32 @@ Line::Line(QWidget *parent)
 	portui.setupUi(portdialog);
     timerid=startTimer(280);
 }
+void Line::textEdit_append(QString str_txt)
+{
+    //获取当前时间
+    QDateTime current_date_time = QDateTime::currentDateTime();
+    QString str = current_date_time.toString("yyyy-MM-dd hh:mm:ss.zzz ");
+    str.append(str_txt);
+    ui.textEdit->append(str);
+}
+
 
 void Line::SerialSend(QByteArray data)
 {
-    QString str;
+   // QString str;
     if(myserial==NULL)
         return;
     if (myserial->isOpen())
     {
         myserial->write(data);
     }
-    str = QString::fromUtf8("TX: ");
+
+
+    //获取当前时间
+    QDateTime current_date_time = QDateTime::currentDateTime();
+    QString str = current_date_time.toString("yyyy-MM-dd hh:mm:ss.zzz ");
+    str.append("TX : ");
+    //str = QString::fromUtf8("TX: ");
     str.append(data.toHex().toUpper());
     ui.textEdit->append(str);
 }
@@ -1826,7 +1842,11 @@ void Line::Write_RegVal()
 void Line::portopen()
 {
 	if(myserial==NULL)
-		myserial = new QSerialPort();
+    {
+        myserial = new QSerialPort();
+        connect(myserial,SIGNAL(readyRead()),this,SLOT(Receive_Data()));
+    }
+
 	if (portui.comboBox == NULL)
 		return;
 	if (!portui.comboBox->count())
@@ -1848,47 +1868,53 @@ void Line::portopen()
 	qDebug("%s", portui.comboBox_5->currentText().toUtf8().data());
 	switch (portui.comboBox_3->currentIndex())
 	{
-	case 0:
-		myserial->setDataBits(QSerialPort::Data7);
-		break;
-	case 1:
-	default:
-		myserial->setDataBits(QSerialPort::Data8);
-		break;
+        case 0:
+            myserial->setDataBits(QSerialPort::Data7);
+            break;
+        case 1:
+        default:
+            myserial->setDataBits(QSerialPort::Data8);
+            break;
 	}
 	switch (portui.comboBox_4->currentIndex())
 	{
-	case 1:
-		myserial->setStopBits(QSerialPort::TwoStop);
-		break;
-	case 0:
-	default:
-		myserial->setStopBits(QSerialPort::OneStop);
-		break;
+        case 1:
+            myserial->setStopBits(QSerialPort::TwoStop);
+            break;
+        case 0:
+        default:
+            myserial->setStopBits(QSerialPort::OneStop);
+            break;
 
 	}
 	switch (portui.comboBox_5->currentIndex())
 	{
-	case 1:
-		myserial->setParity(QSerialPort::OddParity);
-		break;
-	case 2:
-		myserial->setParity(QSerialPort::EvenParity);
-		break;
-	case 0:
-	default:
-		myserial->setParity(QSerialPort::NoParity);
-		break;
+        case 1:
+            myserial->setParity(QSerialPort::OddParity);
+            break;
+        case 2:
+            myserial->setParity(QSerialPort::EvenParity);
+            break;
+        case 0:
+        default:
+            myserial->setParity(QSerialPort::NoParity);
+            break;
 	}
 	if (myserial->open(QIODevice::ReadWrite)==FALSE)
-		qDebug("open error");
+    {
+        qDebug("open error");
+        textEdit_append("串口打开错误!\r\n");
+    }
 	else
 	{
 		//ui.menuBar->activeAction()->setIconText("xx");
         //ui.menuBar->actions().at(1)->setText(QString::fromLocal8Bit("关闭"));
         ui.menuBar->actions().at(1)->setText("关闭");
+
 	}
-    connect(myserial,SIGNAL(readyRead()),this,SLOT(Receive_Data()));
+
+
+
     sendflag=1;
 }
 
@@ -2046,7 +2072,7 @@ void Line::Receive_Data()
     unsigned int int_val;
     float f_val;
     char *p_f;
-    QString str;
+    //QString str;
     QByteArray tt;
     QString send_buf;
     unsigned char message_type=0;
@@ -2130,8 +2156,10 @@ void Line::Receive_Data()
             return;
         }
 #endif
-        str = QString::fromUtf8("RX: ");
-
+        //str = QString::fromUtf8("RX: ");
+        QDateTime current_date_time = QDateTime::currentDateTime();
+        QString str = current_date_time.toString("yyyy-MM-dd hh:mm:ss.zzz ");
+        str.append("RX : ");
 
  #if 0
         for (i = 0; i < q.count(); ++i)
@@ -3102,12 +3130,12 @@ QString Line::getcomm(int index, QString keyorvalue)
 	valuesize = sizeof(keyvalue);
 	if (::RegEnumValue(hKey, indexnum, keyname, (LPDWORD)&keysize, 0, &type, (BYTE*)keyvalue, &valuesize) == 0)//列举键名和值
 	{
-		for (int i = 0; i<keysize; i++)
+        for (DWORD i = 0; i<keysize; i++)
 		{
 			message = keyname[i];
 			keymessage.append(message);
 		}//for(inti=0;i<=keysize;i++)    读取键名
-		for (int j = 0; j<valuesize; j++)
+        for (DWORD j = 0; j<valuesize; j++)
 		{
 			if (keyvalue[j] != 0x00)
 			{
@@ -3378,3 +3406,26 @@ int Line::xmodemTransmit(unsigned char *src, int srcsz)
         }
 	}
 }
+
+void Line::on_pushButton_clicked()
+{
+    ui.textEdit->clear();
+}
+
+void Line::on_pushButton_2_clicked()
+{
+    //ui.file_name_Edit
+    QString fileName = QFileDialog::getOpenFileName(this, tr("选择文件"), "D:\\", tr("*.bin"));
+    //int n;
+    if (!fileName.isEmpty())
+    {
+        ui.file_name_Edit->setText(fileName);
+    }
+
+}
+
+void Line::on_pushButton_md5_clicked()
+{
+    QString fileName = ui.file_name_Edit->text();
+    file_md5(fileName);
+}

+ 10 - 2
Line.h

@@ -100,13 +100,21 @@ private slots:
     void CJSetManHoleZero();
     void CJTransparentTransmition();
     void ReadControlSoftwareVer();
+    void on_pushButton_clicked();
+    void textEdit_append(QString str_txt);
+
+
+    void on_pushButton_2_clicked();
+
+    void on_pushButton_md5_clicked();
+
 public:
 	QMenu * portmenu;
 	QDialog *portdialog;
 	HKEY hKey;
 	LPCWSTR subkey;
-	wchar_t keyname[256]; //键名数组
-    unsigned char keyvalue[256];  //键值数组
+	wchar_t keyname[256]; //锟斤拷锟斤拷锟斤拷锟斤拷
+    unsigned char keyvalue[256];  //锟斤拷值锟斤拷锟斤拷
 	DWORD keysize, type, valuesize;
 	int indexnum;
 	QSerialPort* myserial;

File diff suppressed because it is too large
+ 1268 - 1286
Line.ui


+ 4 - 2
Tools.pro

@@ -14,8 +14,10 @@ TEMPLATE = app
 
 
 SOURCES += main.cpp\
-        Line.cpp
+        Line.cpp \
+        file_md5.cpp
 
-HEADERS  += Line.h
+HEADERS  += Line.h \
+    file_md5.h
 
 FORMS    += Line.ui port.ui port_dialog.ui

+ 53 - 0
file_md5.cpp

@@ -0,0 +1,53 @@
+#include <qsettings.h>
+#include <qfiledialog.h>
+#include <qtextstream.h>
+#include <qfile.h>
+#include <QTextCodec>
+#include <QCryptographicHash>
+#include "file_md5.h"
+
+void file_md5(QString fileName)
+{
+
+    if (fileName.isEmpty())
+    {
+        return;
+    }
+    QByteArray bytes;
+    QByteArray byte_md;
+    QFile qfile_in(fileName);
+
+
+    qfile_in.setFileName(fileName);
+    if (!qfile_in.open(QIODevice::ReadOnly))
+    {
+        return;
+    }
+    bytes.clear();
+    bytes=qfile_in.readAll();
+    qDebug("read size=%d\n",bytes.size());
+    qfile_in.close();
+
+    QString out_fileName = fileName.replace(".bin", "_out.bin");
+
+    QFile qfile_out(out_fileName);
+    qfile_out.setFileName(out_fileName);
+
+
+
+    //qDebug("%s", fileName.toUtf8());
+    if (!qfile_out.open(QIODevice::WriteOnly))
+    {
+        return;
+    }
+    qDebug("write size=%d\n",bytes.size());
+    qfile_out.write(bytes);
+    byte_md.clear();
+    byte_md = QCryptographicHash::hash(bytes, QCryptographicHash::Md5);
+    qDebug("md5 size=%d\n",byte_md.size());
+    qfile_out.write(byte_md);
+    qfile_out.close();
+
+
+
+}

+ 5 - 0
file_md5.h

@@ -0,0 +1,5 @@
+#ifndef FILE_MD5_H
+#define FILE_MD5_H
+void file_md5(QString fileName);
+
+#endif // FILE_MD5_H