- Danh sách các từ đã được thêm đầy đủ vào cơ sở dữ liệu - Đã sắp xếp được các từ theo chế độ ưu tiên có tham số thay đổi o Thứ tự abc.. - Đã thiết kế được giao diện phù hợp.. Các bước l
Trang 1ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN ĐIỆN TỬ VIỄN THÔNG
BÁO CÁO KẾT QUẢ
Đề tài Viết từ điển Việt – Âm thanh tiếng Mường
Trang 2NHÓM 9 GỒM
Họ tên :Trần Thanh Tùng
Mã sinh viên : 20145146
Họ tên :Phạm Trung Kiên(nhóm trưởng)
Mã sinh viên : 20152073
MAIL: kiemphamtrung1001@gmail.com
SĐT: 0365675587
Họ tên : Lê Viết Thanh
Mã sinh viên : 20163638
Họ tên Lê Văn Minh
Mã sinh viên : 20162711
Trang 3BÁO CÁO KẾT QUẢ
1 TÌM HIỂU YÊU CẦU:
ĐỀ: Thiết kế, xây dựng phần mềm từ điển Việt – Âm thanh tiếng Mường.
- Danh sách các từ đã được thêm đầy đủ vào cơ sở dữ liệu
- Đã sắp xếp được các từ theo chế độ ưu tiên (có tham số thay
đổi) o Thứ tự abc
o Mức độ giống nhau
- Đã chạy được trong thời gian thực
- Lọc và cập nhật ngay trên giao diện
- Đã thiết kế được giao diện phù hợp
2 PHÂN TÍCH + THIẾT KẾ:
Trang 4Các bước làm được chia làm 6 phần:
- Tìm hiệu vấn đề, xác định IDE dùng để code và thực hiện Project(1)
- Tiến hành đọc hiểu phương thức code, các cú pháp trên IDE đó (2)
- Thiết kế giao diện cho ứng dụng đạt đủ yêu cầu đề ra (3)
- Code chức năng cho từng UI trên ứng dụng (4)
- Tạo thử bộ CSDL cho ứng dụng bằng SQLine (5)
- Kết nối DataBase và ứng dụng (6)
PHÂN CÔNG CÔNG VIỆC:
Trần Thanh Tùng:viết code
Phạm Trung Kiên:hỗ trợ sửa code làm báo cáo world và database
Lê Viết Thanh
:hỗ trợ viết code
Lê Văn Minh
:viết lưu đồ thuật toán và sửa code
Trang 5Phần mềm đáp ứng đầu đủ các yêu cầu:
- Đầu vào: cơ sở dữ liệu được Insert sẵn vào Database và các từ khi ta muốn tìm trên giao diện
- Đầu ra: là kết quả truy vấn kết quả bằng cách lọc các từ theo từ được tìm kiếm
Trang 63 QÚA TRÌNH LÀM:
Bước 1: Viết code trên file mainwindow.cpp Viết Code connect đến cơ sở dữ liệu trống là database.spline
- Ta tạo 1 cơ sở dữ liệu đơn giản bằng SQLine Một số câu lệnh trong
cơ sở dữ liệu:
$sqlite3 DatabaseName.db
Create table libInfor (
Id primary key not null,
Name text not null
);
Insert into libInfor (Id,Name) values (1,”howkteam.com”);
Select * from libInfor;
- Ta sử dụng thư viện bộ thư viện được tích hợp sẵn trong QT
#include <QtSql>
Trang 7#include <QtDebug>
#include <QFileInfo>
- Tiếp đó ta tạo 1 biến : QSqlDatabase mydb; (là biến để kiểm tra kết nối đến database)
- Tiếp đó ta tạo kết nối đến file database mà ta đã tạo lúc trước
mydb = QSqlDatabase::addDatabase("QSQLITE");
mydb.setDatabaseName("D:/my_database.sqlite");
if(!mydb.open())
{
ui->lbStatus->setText("Fail to Connect DataBase");
}
else
{
Trang 8ui->lbStatus->setText("Connect DataBase Success");
}
Trang 9- Tiếp đến ta thiết kế giao diện sao cho thật thuận tiện để dễ dàng sử dụng, nhưng cũng thật đơn giản
Trang 10Figure 1: Giao diện app
- Tiếp đến ta cài đặt sự kiện (Event) :
on_ldSearch_textChanged(const QString &arg1)
Đây là sự kiện được thực thi khi có bất kỳ thay đổi nào của phần ô tìm kiếm trong textbox Trong đó arg1 chính là giá trị Text chúng ta nhập vào mỗi lần
if(arg1 == "")
{
ui->tdResult->setText("");
return;
}
Trang 11{
if(!mydb.isOpen())
Trang 12qDebug() << "Failed to find database";
return;
}
QSqlQuery qryExec;
QString query = "select * from libInfor where name like '%"+arg1+"%';";
if(qryExec.exec(query))
{
QString tempResult;
while(qryExec.next())
{
Trang 13tempResult += qryExec.value(1).toString() + " ";
}
ui->tdResult->setText(tempResult);
}
}
- Ở phần code này ta kiểm tra xem đã kết nối đến database chưa nếu chưa thì kết thúc hàm Nếu có kết nối ta viết câu lệnh truy vấn tìm kiếm theo chữ cái đã được viết vào sau đó ta lấy hết ra trị ở cột thứ 2 rồi gán vào phần hiển thị Kết quả lên màn hình
Khó khăn;ban đầu tìm hiểu có nhiều khó khăn , cấu trúc ban đầu
còn chưa chặt chẽ , tìm lỗi sai và sửa code có nhiều khó khăn