?? enrol.cpp
字號(hào):
#include <QHostAddress>#include <QMessageBox>#include <QTextCodec>#include "enrol.h"Enrol::Enrol(QWidget *parent):QDialog(parent){ setupUi(this); tcpSocket = new QTcpSocket(this); connect(pushButton,SIGNAL(clicked()),this,SLOT(sendMsg())); QTextCodec *chineseCodec=QTextCodec::codecForName("UTF_8"); QTextCodec::setCodecForCStrings(chineseCodec); connect(pushButton_2,SIGNAL(clicked()),this,SLOT(close())); connect(tcpSocket,SIGNAL(readyRead()),this,SLOT(recvMsg())); connect(tcpSocket,SIGNAL(error(QAbstractSocket::SocketError)),this,SLOT(error())); tcpSocket->connectToHost("192.168.0.7",8000);}int Enrol::check(){ QString str = lineEdit->text(); int n = str.size(); int i = 0; if((n < 5) || (n > 16)) return 0; while(str.data()[i] != '\0'){ if(((str.data()[i] >= '0')&&(str.data()[i] <= '9')) || ((str.data()[i] >= 'A')&&(str.data()[i] <= 'Z')) || ((str.data()[i] >= 'a')&&(str.data()[i] <= 'z'))) i++; else return 0; } QString str1 = lineEdit_2->text(); int m = str1.size(); int j = 0; if((m < 5) || (m > 16)) return 0; while(str1.data()[j] != '\0'){ if(((str1.data()[j] >= '0')&&(str1.data()[j] <= '9')) || ((str1.data()[j] >= 'A')&&(str1.data()[j] <= 'Z')) || ((str1.data()[j] >= 'a')&&(str1.data()[j] <= 'z'))) j++; else return 0; } QString str2 = lineEdit_3->text(); int r = str2.size(); int k = 0; if((r < 5) || (r > 16)) return 0; while(str1.data()[k] != '\0'){ if(((str2.data()[k] >= '0')&&(str2.data()[k] <= '9')) || ((str2.data()[k] >= 'A')&&(str2.data()[k] <= 'Z')) || ((str2.data()[k] >= 'a')&&(str2.data()[k] <= 'z'))) k++; else return 0; } if(str2==str1) return 1; else return 0;}void Enrol::sendMsg(){ int n = check(); if(n){ QTextStream out(tcpSocket); QString enrol_message; enrol_message += "Enrol"; enrol_message += " "; enrol_message += lineEdit->text(); enrol_message += " "; enrol_message += lineEdit_2->text(); enrol_message += "\n"; enrol_message += '\0'; out<<enrol_message<<endl; lineEdit->clear(); lineEdit_2->clear(); lineEdit_3->clear(); } else{ QTextCodec *chineseCodec=QTextCodec::codecForName("UTF_8"); QTextCodec::setCodecForCStrings(chineseCodec); QMessageBox::critical(this,"提示!","用戶(hù)帳號(hào)或用戶(hù)密碼不合法!"); }}void Enrol::recvMsg(){ if(!tcpSocket->canReadLine()) return; QString responseLine; do { responseLine += tcpSocket->readLine(); } while(tcpSocket->canReadLine());// QMessageBox::critical(this,"enrol success",responseLine); msgBuffer += responseLine; if(msgBuffer=="OK@\n"){ QTextCodec *chineseCodec=QTextCodec::codecForName("UTF_8"); QTextCodec::setCodecForCStrings(chineseCodec); QMessageBox::information(this,"提示!","注冊(cè)成功!"); lineEdit->clear(); lineEdit_2->clear(); lineEdit_3->clear(); tcpSocket->close(); close(); } if(msgBuffer=="FAIL@\n"){ QMessageBox::critical(this,"提示!","注冊(cè)用戶(hù)有重名!"); msgBuffer.clear(); lineEdit->clear(); lineEdit_2->clear(); lineEdit_3->clear(); } }void Enrol::error(){ QMessageBox::critical(this,"提示","網(wǎng)絡(luò)連接失敗"); tcpSocket->close();}
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -