-
Notifications
You must be signed in to change notification settings - Fork 6
/
Copy pathaddbook.cpp
125 lines (113 loc) · 3.68 KB
/
addbook.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
#include "addbook.h"
#include "ui_addbook.h"
#include <string>
#include <qmessagebox.h>
using namespace BookManagement;
addbook::addbook(QWidget *parent) :
QDialog(parent),
ui(new Ui::addbook)
{
ui->setupUi(this);
setWindowFlags(Qt::CustomizeWindowHint);
setFixedSize(this->width(), this->height());
}
addbook::~addbook()
{
delete ui;
}
void addbook::clearbookinfo(){
ui->nameEdit->clear();
ui->authorEdit->clear();
ui->isbnEdit->clear();
ui->pubEdit->clear();
ui->priceEdit->clear();
ui->numEdit->clear();
ui->warn->clear();ui->warn_2->clear();ui->warn_3->clear();ui->warn_4->clear();ui->warn_5->clear();ui->warn_6->clear();
}
void addbook::on_pushButton_2_clicked()
{
clearbookinfo();
this->hide();
}
void addbook::on_pushButton_clicked()
{
if(ui->isbnEdit->text().isEmpty()||ui->nameEdit->text().isEmpty()||ui->authorEdit->text().isEmpty()||ui->pubEdit->text().isEmpty()||ui->priceEdit->text().isEmpty()||ui->numEdit->text().isEmpty()){
QMessageBox::warning(this,tr("Warning"),QString::fromLocal8Bit("请补全书籍信息后再添加!!"),QMessageBox::Ok);
return;
}
if(ui->warn->text()!=""||ui->warn_2->text()!=""||ui->warn_3->text()!=""||ui->warn_4->text()!=""||ui->warn_5->text()!=""||ui->warn_6->text()!=""){
QMessageBox::warning(this,tr("Warning"),QString::fromLocal8Bit("存在输入错误,请查看红色错误提示!!"),QMessageBox::Ok);
return;
}
int addr = AddBook(q_s(ui->isbnEdit->text()),q_s(ui->nameEdit->text()),q_s(ui->authorEdit->text()),q_s(ui->pubEdit->text()),atof(q_s(ui->priceEdit->text()).c_str()),atoi(q_s(ui->numEdit->text()).c_str()));
if(addr == -1){
QMessageBox::warning(this,tr("Warning"),QString::fromLocal8Bit("所填信息与已有ISBN的书籍信息不同!!"),QMessageBox::Ok);
}
else{
QMessageBox::information(this,tr("Promot"),QString::fromLocal8Bit("添加成功"),QMessageBox::Ok);
}
}
void addbook::on_isbnEdit_textEdited()
{
if(!isbnCheck(q_s(ui->isbnEdit->text()))){
ui->warn->setText(s_q("请输入正确的ISBN号"));
}
else{
ui->warn->setText(s_q(""));
}
}
void addbook::on_priceEdit_textEdited()
{
QString strPatt = "^[0-9]+(.[0-9]{2})?$";
QRegExp rx(strPatt);
if(!rx.exactMatch(ui->priceEdit->text())){
ui->warn_2->setText(s_q("请输入正确价格(非负的整数或两位小数)"));
}
else{
ui->warn_2->setText(s_q(""));
}
}
void addbook::on_numEdit_textEdited()
{
QString strPatt = "^[1-9][0-9]$|^0[1-9]$|^[1-9]$";
QRegExp rx(strPatt);
if(!rx.exactMatch(ui->numEdit->text())){
ui->warn_3->setText(s_q("请输入正确数量(小于100的正整数)"));
}
else{
ui->warn_3->setText(s_q(""));
}
}
void addbook::on_nameEdit_textEdited()
{
QString s = ui->nameEdit->text();
string str = _trim(q_s(s));
if (str.size() <= 0 || str.size() > BOOK_NAME_LEN){
ui->warn_4->setText(s_q("请输入书名信息且长度小于100"));
}
else{
ui->warn_4->setText(s_q(""));
}
}
void addbook::on_authorEdit_textEdited()
{
QString s = ui->authorEdit->text();
string str = _trim(q_s(s));
if (str.size() <= 0 || str.size() > BOOK_AUTHOR_LEN){
ui->warn_5->setText(s_q("请输入作者信息且长度小于50"));
}
else{
ui->warn_5->setText(s_q(""));
}
}
void addbook::on_pubEdit_textEdited()
{
QString s = ui->pubEdit->text();
string str = _trim(q_s(s));
if (str.size() <= 0 || str.size() > BOOK_PUBLISHER_LEN){
ui->warn_6->setText(s_q("请输入出版社信息且长度小于50"));
}
else{
ui->warn_6->setText(s_q(""));
}
}