Liên Thông CNTT K4

Cộng Đồng Liên Thông Công Nghệ Thông Tin Bình Thuận

Trang ChínhTrang Chính  CalendarCalendar  Trợ giúpTrợ giúp  Tìm kiếmTìm kiếm  Thành viênThành viên  NhómNhóm  Đăng kýĐăng ký  Đăng NhậpĐăng Nhập  

Share | 
 
 Thông báo hỗ trợ bài tập lớn môn Lập trình Hướng đối tượng
Xem chủ đề cũ hơn Xem chủ đề mới hơn Go down 
Tác giảThông điệp


avatar
Giới tính : Nam
Posts Posts : 33
Thanked Thanked : 82


Đề bài tập lớn tương đối khó với các anh chị em không rành về lập trình, do đó tôi tạo bài viết này nhằm mục đích là giúp đỡ cho ai có tinh thần lập trình mà search google thì không có hiệu quả, mặc khác tạo thói quen cho mọi người viết bài, trả lời bài viết, hoặc nhờ trợ giúp... 
Thứ 1: đối với các bạn mún lập trình, nhưng khó khăn ở các vấn đề load dữ liệu, cập nhật dữ liệu, cách sử dụng các control textbox, combobox, checkbox.... thì cứ viết câu hỏi lên đây, mình hoặc 1 người nào đó giải đáp được thì sẽ giải đáp ngay trên đây cho các bạn.
Thứ 2: đối với các anh chị em nào chưa rành về lập trình hoặc quá ư làm biếng thì mình có chương trình hỗ trợ quy đổi bác hồ (không mấy thích cái vụ này nhưng công sức lười biếng phải biết bồi đấp cho thời gian người lập trình bỏ ra).
Giá mình đưa ra như sau: bài tập 1 và 2: giao diện 50k, code 70k. Hiện tại bài 1 mình đã hoàn chỉnh, bài 2 đang tiến hành.
Rất mong mọi người đừng sử dụng phương án 2 nhé... Cứ tự tin làm, không biết cứ hỏi mình


-------------------------------------------------------------------------------------
PHẠM ANH DÂN
Trung tâm Công nghệ thông tin & Truyền thông Bình Thuận
284 Trần Hưng Đạo, Tp.Phan Thiết, Bình Thuận | www.itc.binhthuan.gov.vn
Tel: 062 36 36 333   |  Fax: 062 3750  290  |  Mobile: 098 890 9947  

※ Bài viết cùng chuyên mục


Xem lý lịch thành viên
Tác giảThông điệp


Posts Posts : 3
Thanked Thanked : 0

anh dân cho em hỏi bài tập 1 mình có cần phải kết nối cơ sở dữ liệu k

※ Bài viết cùng chuyên mục


Xem lý lịch thành viên
Tác giảThông điệp


avatar
Giới tính : Nam
Posts Posts : 33
Thanked Thanked : 82

@khanhnlm đã viết:
anh dân cho em hỏi bài tập 1 mình có cần phải kết nối cơ sở dữ liệu k
Không cần kết nối csdl nhé, cái này chỉ lưu xuống file txt xong đọc lên lại thôi


-------------------------------------------------------------------------------------
PHẠM ANH DÂN
Trung tâm Công nghệ thông tin & Truyền thông Bình Thuận
284 Trần Hưng Đạo, Tp.Phan Thiết, Bình Thuận | www.itc.binhthuan.gov.vn
Tel: 062 36 36 333   |  Fax: 062 3750  290  |  Mobile: 098 890 9947  

※ Bài viết cùng chuyên mục


Xem lý lịch thành viên
Tác giảThông điệp


avatar
Posts Posts : 4
Thanked Thanked : 5

private string FileName="D:\\ThongTinSV.txt";
\\Lưu dữ lieu xuống file txt
private void btnLuuDL_Click(object sender, EventArgs e)
        {
            StreamWriter sw = new StreamWriter(FileName, true);
            sw.WriteLine("Họ và chữ lót: "+txtHoLot.Text);
            sw.WriteLine("Tên: "+ txtTen.Text);
            sw.WriteLine("Ngày sinh: " + dtpNgaySinh.Text);
            sw.WriteLine("Tôn giáo: " + cmbTonGiao.Text);
            sw.WriteLine("Địa chỉ: " + txtDiaChi.Text);
            sw.WriteLine("Điện thoại: " + txtTel.Text);
            sw.WriteLine("Email: " + txtEmail.Text);
            sw.WriteLine("Dân tộc: " + cmbDanToc.Text);
            if (rbNam.Checked == true)
                sw.WriteLine("Giới tính: Nam");
            else
                sw.WriteLine("Giới tính: Nữ");
            sw.Write("Ngoại ngữ: ");
            if (chkE.Checked == true && chkF.Checked == true && chkC.Checked == true)
            {
                sw.Write(chkE.Text + " ," + chkF.Text + " ," + chkC.Text);
            }
            else
            {
                if (chkE.Checked == true && chkF.Checked == true)
                {
                    sw.Write(chkE.Text + " ," + chkF.Text);
                }
                else
                {
                    if (chkE.Checked == true && chkC.Checked == true)
                    {
                        sw.Write(chkE.Text + " ," + chkC.Text);
                    }
                    else
                    {
                        if (chkF.Checked == true && chkC.Checked == true)
                        {
                            sw.Write(chkF.Text + " ," + chkC.Text);
                        }
                        else
                        {
                            if (chkE.Checked == true)
                            {
                                sw.Write(chkE.Text);
                            }
                            else
                            {
                                if (chkF.Checked == true)
                                    sw.Write(chkF.Text);
                                else
                                {
                                    if (chkC.Checked == true)
                                        sw.Write(chkC.Text);
                                    else
                                        sw.Write("Không");
                                }
                            }
                        }
                    }
                }
            }
            sw.Flush();
            sw.WriteLine("\n");
        }

※ Bài viết cùng chuyên mục


Xem lý lịch thành viên
Tác giảThông điệp


avatar
Posts Posts : 4
Thanked Thanked : 5

\\Đọc dữ lieu từ file txt lên các Control

private void btnDocDL_Click(object sender, EventArgs e)
        {                        
                    StreamReader str = new StreamReader(FileName);                                  
                    txtHoLot.Text = str.ReadLine().Substring(15);
                    txtTen.Text = str.ReadLine().Substring(5);
                    dtpNgaySinh.Text = str.ReadLine().Substring(11);
                    cmbTonGiao.Text = str.ReadLine().Substring(10);
                    txtDiaChi.Text = str.ReadLine().Substring(12);
                    txtTel.Text = str.ReadLine().Substring(12);
                    txtEmail.Text = str.ReadLine().Substring(7);
                    cmbDanToc.Text = str.ReadLine().Substring(9);
                    if (str.ReadLine().Substring(11) == "Nam")
                        rbNam.Checked = true;
                    else
                        rbNu.Checked = true;
                    string chuoi = str.ReadLine().Substring(11);
                    string[] ChuoiNgoaiNgu = Regex.Split(chuoi, ", ");
                    foreach (string s in ChuoiNgoaiNgu)
                    {
                        if (s.ToString() == "Anh văn")
                            chkE.Checked = true;
                        if (s.ToString() == "Pháp văn")
                            chkF.Checked = true;
                        if (s.ToString() == "Hán văn")
                            chkC.Checked = true;
                    }                   
                             
            }           
                  
        }

※ Bài viết cùng chuyên mục


Xem lý lịch thành viên
Tác giảThông điệp


avatar
Giới tính : Nam
Posts Posts : 33
Thanked Thanked : 82

\\Đọc dữ lieu từ file txt lên các Control
Thứ 1: Đoạn  code này
Code:
txtHoLot.Text = str.ReadLine().Substring(15);
txtTen.Text = str.ReadLine().Substring(5);
dtpNgaySinh.Text = str.ReadLine().Substring(11);
cmbTonGiao.Text = str.ReadLine().Substring(10);
...

thay bằng đoạn này sẽ hay hơn

Code:
txtHoLot.Text = Regex.Split(str.ReadLine().ToString(), ": ")[1];
txtTen.Text = Regex.Split(str.ReadLine().ToString(), ": ")[1];
dtpNgaySinh.Text = Regex.Split(str.ReadLine().ToString(), ": ")[1];
cmbTonGiao.Text = Regex.Split(str.ReadLine().ToString(), ": ")[1];
....

ý nghĩa: cắt chuỗi, khi nào cắt chuỗi đến ": " thì dừng lại và lấy đoạn phía sau (tức [1]), khi đó mình ko cần phải đếm bao nhiêu ký tự để xóa.

vd: Họ và tên lót: Phạm Anh Dân
Regex.Split(str.ReadLine().ToString(), ": ")[0] sẽ là: "Họ và tên lót: "
Regex.Split(str.ReadLine().ToString(), ": ")[1] sẽ là: "Phạm Anh Dân"


Thứ 2: Nếu sử dụng load cách này cho combobox

Code:
cmbTonGiao.Text = str.ReadLine().Substring(10);
thì load lên đúng với tên mình lưu xuống, nhưng nếu mình tiếp tục từ giao diện lưu lại Tôn giáo bằng 1 Tôn giáo khác sẽ không được. Không có sự logic khi đọc lên lưu xuống



Thứ 3: Nếu file không tồn tại hoặc file rỗng thì sao, có đọc được ko hay là báo lỗi

Ý kiến của e thôi nha, nếu a thấy hợp lý thì a hoàn chỉnh code của a, nếu ko hợp lý thì đừng có chửi e nha, hehehe....


-------------------------------------------------------------------------------------
PHẠM ANH DÂN
Trung tâm Công nghệ thông tin & Truyền thông Bình Thuận
284 Trần Hưng Đạo, Tp.Phan Thiết, Bình Thuận | www.itc.binhthuan.gov.vn
Tel: 062 36 36 333   |  Fax: 062 3750  290  |  Mobile: 098 890 9947  

※ Bài viết cùng chuyên mục


Xem lý lịch thành viên
Tác giảThông điệp


avatar
Posts Posts : 4
Thanked Thanked : 5

@Exterminator đã viết:
\\Đọc dữ lieu từ file txt lên các Control
Đoạn  code này

Code:
txtHoLot.Text = str.ReadLine().Substring(15);
txtTen.Text = str.ReadLine().Substring(5);
dtpNgaySinh.Text = str.ReadLine().Substring(11);
cmbTonGiao.Text = str.ReadLine().Substring(10);
...

thay bằng đoạn này sẽ hay hơn


Code:
txtHoLot.Text = Regex.Split(str.ReadLine().ToString(), ": ")[1];
txtTen.Text = Regex.Split(str.ReadLine().ToString(), ": ")[1];
dtpNgaySinh.Text = Regex.Split(str.ReadLine().ToString(), ": ")[1];
cmbTonGiao.Text = Regex.Split(str.ReadLine().ToString(), ": ")[1];
....

ý nghĩa: cắt chuỗi, khi nào cắt chuỗi đến ": " thì dừng lại và lấy đoạn phía sau (tức [1]), khi đó mình ko cần phải đếm bao nhiêu ký tự để xóa.

vd: Họ và tên lót: Phạm Anh Dân
Regex.Split(str.ReadLine().ToString(), ": ")[0] sẽ là: "Họ và tên lót: "
Regex.Split(str.ReadLine().ToString(), ": ")[1] sẽ là: "Phạm Anh Dân"


ý kiến của em thôi nha, làm như anh cũng được nhek a tâm

ok, cũng hay Dân. Nhưng khi lưu từ các textbox thì phải trim(textbox.text) để cắt khoảng trắng trước các chuỗi nhập vào. Phòng trường hợp người dùng nhập khoảng trắng trước Tên, Họ lót...

※ Bài viết cùng chuyên mục


Xem lý lịch thành viên
Tác giảThông điệp


avatar
Posts Posts : 4
Thanked Thanked : 5

@Exterminator đã viết:
\\Đọc dữ lieu từ file txt lên các Control
Thứ 1: Đoạn  code này
Code:
txtHoLot.Text = str.ReadLine().Substring(15);
txtTen.Text = str.ReadLine().Substring(5);
dtpNgaySinh.Text = str.ReadLine().Substring(11);
cmbTonGiao.Text = str.ReadLine().Substring(10);
...

thay bằng đoạn này sẽ hay hơn

Code:
txtHoLot.Text = Regex.Split(str.ReadLine().ToString(), ": ")[1];
txtTen.Text = Regex.Split(str.ReadLine().ToString(), ": ")[1];
dtpNgaySinh.Text = Regex.Split(str.ReadLine().ToString(), ": ")[1];
cmbTonGiao.Text = Regex.Split(str.ReadLine().ToString(), ": ")[1];
....

ý nghĩa: cắt chuỗi, khi nào cắt chuỗi đến ": " thì dừng lại và lấy đoạn phía sau (tức [1]), khi đó mình ko cần phải đếm bao nhiêu ký tự để xóa.

vd: Họ và tên lót: Phạm Anh Dân
Regex.Split(str.ReadLine().ToString(), ": ")[0] sẽ là: "Họ và tên lót: "
Regex.Split(str.ReadLine().ToString(), ": ")[1] sẽ là: "Phạm Anh Dân"


Thứ 2: Nếu sử dụng load cách này cho combobox

Code:
cmbTonGiao.Text = str.ReadLine().Substring(10);
thì load lên đúng với tên mình lưu xuống, nhưng nếu mình tiếp tục từ giao diện lưu lại Tôn giáo bằng 1 Tôn giáo khác sẽ không được. Không có sự logic khi đọc lên lưu xuống



Thứ 3: Nếu file không tồn tại hoặc file rỗng thì sao, có đọc được ko hay là báo lỗi

Ý kiến của e thôi nha, nếu a thấy hợp lý thì a hoàn chỉnh code của a, nếu ko hợp lý thì đừng có chửi e nha, hehehe....

Thanks Dân. A cũng chỉ đưa lên phần nhập và đọc thôi. Còn các rèn buộc thì mọi người tự làm. Vì mỗi người còn làm theo ý riêng nữa.hehehe...

※ Bài viết cùng chuyên mục


Xem lý lịch thành viên
Tác giảThông điệp


avatar
Giới tính : Nam
Posts Posts : 33
Thanked Thanked : 82

Trích dẫn :
ok, cũng hay Dân. Nhưng khi lưu từ các textbox thì phải trim(textbox.text) để cắt khoảng trắng trước các chuỗi nhập vào. Phòng trường hợp người dùng nhập khoảng trắng trước Tên, Họ lót...
Nếu sợ zị thì a sử lý code ghi file như sau:
Code:
sw.WriteLine("Họ và chữ lót: "+ (txtHoLot.Text).Trim());
sw.WriteLine("Tên: "+ (txtTen.Text).Trim);

Đây chỉ ngăn ngừa cơ bản thôi, còn chek phone, email nữa nek. bắt buộc nhập ko được để trống khi lưu nữa....

Đây là file .exe chương trình hoàn chỉnh, mọi người test thoải mái nhek...
Download: Đăng nhập sẽ thấy link - WinForm Thông tin sinh viên


-------------------------------------------------------------------------------------
PHẠM ANH DÂN
Trung tâm Công nghệ thông tin & Truyền thông Bình Thuận
284 Trần Hưng Đạo, Tp.Phan Thiết, Bình Thuận | www.itc.binhthuan.gov.vn
Tel: 062 36 36 333   |  Fax: 062 3750  290  |  Mobile: 098 890 9947  

※ Bài viết cùng chuyên mục


Xem lý lịch thành viên
Tác giảThông điệp


avatar
Posts Posts : 6
Thanked Thanked : 0

mời mấy anh, chị, em test thử Notepad của mình xem còn vấn đề gì xảy ra và cho ý kiến nha.
thanks  Smile
https://drive.google.com/file/d/0B8JqslAh0NAmWHN4My1jRWdOeGM/view


KHI TÔI CHẾT, HÃY CHÔN TÔI NƠI NÀO CÓ WIFI  Very Happy
Công ty xổ số kiến thiết Bình Thuận

※ Bài viết cùng chuyên mục


Xem lý lịch thành viên
Tác giảThông điệp


avatar
Giới tính : Nam
Posts Posts : 33
Thanked Thanked : 82

@congson_upt đã viết:
mời mấy anh, chị, em test thử Notepad của mình xem còn vấn đề gì xảy ra và cho ý kiến nha.
thanks  Smile
https://drive.google.com/file/d/0B8JqslAh0NAmWHN4My1jRWdOeGM/view

Vẫn còn đang lỗi open file... đang thao tác trên notepad mà chưa save hoặc save rồi


-------------------------------------------------------------------------------------
PHẠM ANH DÂN
Trung tâm Công nghệ thông tin & Truyền thông Bình Thuận
284 Trần Hưng Đạo, Tp.Phan Thiết, Bình Thuận | www.itc.binhthuan.gov.vn
Tel: 062 36 36 333   |  Fax: 062 3750  290  |  Mobile: 098 890 9947  

※ Bài viết cùng chuyên mục


Xem lý lịch thành viên
Tác giảThông điệp
Sponsored content



※ Bài viết cùng chuyên mục


 
Thông báo hỗ trợ bài tập lớn môn Lập trình Hướng đối tượng
Xem chủ đề cũ hơn Xem chủ đề mới hơn Về Đầu Trang 
Trang 1 trong tổng số 1 trang

Permissions in this forum:Bạn không có quyền trả lời bài viết
Diễn đàn Liên thông CNTT Bình Thuận :: Góc Học Tập :: Các môn học liên thông :: Lập trình Hướng đối tượng-
[Liên thông CNTT K4] Deverloped by Phạm Anh Dân - Rip by Nguyễn Gia Phú
Powered by © Forumotion.com - phpBB™ version ©phpBB2
Go to top Go to bottom