1. Trang chủ
  2. » Thể loại khác

huong dan dc dkhp sv

1 29 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Cấu trúc

  • THÔNG BÁO

  • Quy trình điều chỉnh đăng ký học phần (dành cho sinh viên)

Nội dung

Hướng dẫn thực hành Lập trình C trên Windows 1 SỬ DỤNG KỸ THUẬT DEVICE CONTEXT ẢO 1 Mục đích  Sử dụng kỹ thuật MemDC.  Thao tác trên ảnh bitmap. 2 Kỹ thuật MemDC 2.1 Ý tưởng chính: Nếu thực hiện nhiều thao tác vẽ trực tiếp trên device context của màn hình thì sẽ bị tình trạng màn hình bị “giật”. Khi sử dụng kỹ thuật MemDC có thể hạn chế được hiện tượng “giật” màn hình:  Trước tiên cần tạo ra 1 device context ảo trong bộ nhớ tương thích với device context thật sự cần xử lý.  Sau đó, tất cả mọi thao tác vẽ sẽ được thực hiện trên dc ảo này thay vì thực hiện trực tiếp trên dc thật.  Cuối cùng chép nội dung của dc ảo vào dc thật. Xem như chỉ thao tác trực tiếp trên device context thật. 2.2 Khai báo biến Khai báo bổ sung biến thành phần trong lớp CxxxView (trong file xxxView.h): CDC m_MemDC; CBitmap m_MemBitmap, *m_pOldBitmap; 2.3 Các hàm xử lý 2.3.1 Tạo MemDC Cần phải tạo ra memdc trước khi sử dụng. Tạo hàm OnCreate ứng với sự kiện WM_CREATE của lớp CxxxView int CxxxView::OnCreate(LPCREATESTRUCT lpCreateStruct) { if (CView::OnCreate(lpCreateStruct) == -1) return -1; // TODO: Add your specialized creation code here // Lấy dc của màn hình CClientDC dc(this); // Lấy kích thước màn hình. int MaxX = ::GetSystemMetrics(SM_CXSCREEN); int MaxY = ::GetSystemMetrics(SM_CYSCREEN); // Tạo ra m_MemDC tương thích với dc của màn hình m_MemDC.CreateCompatibleDC(&dc); Hướng dẫn thực hành Lập trình C trên Windows 2 // Tạo ra 1 đối tượng CBitmap (kích thước MaxX × MaxY) // tương thích với dc màn hình m_MemBitmap.CreateCompatibleBitmap(&dc, MaxX, MaxY); // Đưa đối tượng bitmap m_MemBitmap vào m_MemDC m_pOldBitmap = m_MemDC.SelectObject(&m_MemBitmap); return 0; } 2.3.2 Hủy MemDC Cần hủy MemDC sau khi sử dụng xong. Trong hàm destructor của lớp CxxxView, bổ sung các hàm hủy đối tượng MemDC và MemBitmap CxxxView::~CxxxView() { m_MemDC.DeleteDC(); m_MemBitmap.DeleteObject(); m_Objects.RemoveAll(); } 2.3.3 Sử dụng MemDC Có thể viết code trong hàm OnDraw để sử dụng MemDC như sau : void CxxxView::OnDraw(CDC* pDC) { CVD4Doc* pDoc = GetDocument(); ASSERT_VALID(pDoc); // TODO: add draw code for native data here CRect rect; GetClientRect(rect); m_MemDC.FillSolidRect(rect, RGB(59, 112, 168)); int i, n=m_Objects.GetSize(); for (i=0; i<n; i++) ((CEllipse*)m_Objects[i])->Draw(&m_MemDC);//Vẽ lên memDC pDC->BitBlt(0, 0, rect.Width(), rect.Height(), &m_MemDC, 0, 0, SRCCOPY); } Build và thực hiện thử chương trình  Vẫn còn hiện tượng “giật” màn hình  Lý do: mỗi khi cần vẽ lại cửa sổ của View, sự kiện WM_ERASEBKGND sẽ được tự động phát sinh để yêu cầu xóa toàn bộ nền của View bằng cách tô màu trắng vào vùng client của View. Khi đã sử dụng MemDC thì việc tô màu nền có thể thực hiện bằng lệnh FillSolidRect trong đọan code trên đây. Như vậy, thao tác tô màu nền vùng client của View trong sự kiện xóa nền WM_ERASEBKGND là hoàn toàn không cần thiết và sẽ gây ra hiện tượng “giật” màn hình. Hướng dẫn thực hành Lập trình C trên Windows 3  Giải pháp: override hàm xử lý sự kiện WM_ERASEBKGND của CxxxView: Vào Class Wizard để tạo ra hàm OnEraseBkgnd tương ứng với sự kiện WM_ERASEBKGND của CxxxView. BOOL CxxxView::OnEraseBkgnd(CDC* pDC) { // TODO: Add your message handler code here and/or call default return TRUE; // return CView::OnEraseBkgnd(pDC); } Build và thực hiện chương trình để xem thử hiệu quả của việc sử dụng memdc. 2.3.4 Hàm BitBlt Hàm BitBlt của lớp CDC có tác dụng chép nội dung bitmap từ device context nguồn sang device context đích. BOOL BitBlt(int x, int y, int nWidth, int nHeight, CDC* pSrcDC, int xSrc, int ySrc, DWORD dwRop ); với x, y Góc trái TRƯỜNG ĐH CÔNG NGHỆ THÔNG TIN PHÒNG ĐÀO TẠO ĐẠI HỌC CỘNG HÒA Xà HỘI CHỦ NGHĨA VIỆT NAM Độc lập – Tự – Hạnh phúc Số: 10 /TB-ĐTĐH TP.HCM, ngày 26 tháng năm 2017 THÔNG BÁO Quy trình điều chỉnh đăng ký học phần (dành cho sinh viên) 1) Quy trình gồm bước (B) sau: B1: Sinh viên vào địa DKHP.UIT.EDU.VN thực đăng nhập tài khoản mật hệ thống quản lý DAA Trường B2: Sinh viên chọn “Loại” (“Đăng ký” “Hủy đăng ký”), “Mã lớp” tương ứng với loại đăng ký hủy đăng ký (chú ý: mã lớp dòng) B3: Sinh viên lưu lại kết điều chỉnh sau bước đăng ký hủy đăng ký (xem hình minh họa) 2) Thời gian điều chỉnh theo kế hoạch Phòng ĐTĐH thông báo Sau thời gian này, sinh viên chờ khoảng 2-4 ngày vào lại DAA.UIT.EDU.VN để xem kết hiệu chỉnh ĐKHP 3) Quy trình áp dụng từ học kỳ hè năm học 2016-2017 Nơi nhận: - Sinh viên; KT TRƯỞNG PHÒNG ĐÀO TẠO ĐẠI HỌC PHÓ TRƯỞNG PHÒNG - VPCCTĐB (p/h); - Lưu P.ĐTĐH (Po) (đã ký) Trần Bá Nhiệm Mẹo nhỏ cho bạn Hướng dẫn cài đặt WindowXP Created by: Ngo Tuan Khoi Giới Thiệu: Sau đây là hướng dẫn các bạn mới làm quen với máy tính muốn tự tay mình cài đặt cho mình một hệ điều hành mang tên XP ! Cài Đặt : Để bắt đầu cài đặt,xin đưa đĩa CD Win XP vào và khởi động lại máy(Chú ý:Bạn phải đảm bảo đã bật chế độ Boot từ CD trước thì mới có thể khởi động vào chế độ cài đặt từ CD được ,còn không thì máy sẽ vẫn vào thẳng Win,bạn có thể đọc ở đây để xem cách cài đặt máy tính khởi động từ CD) Sau khi khởi động,nếu đĩa CD WinXP đã ở trong máy ,bạn sẽ thấy dòng chữ : "Press Any Key To Setup ." dưới góc màn hình,đừng chần chừ hãy bấm một phím bất kì để chuyển qua màn hình cài đặt sau: Sau màn hình thông báo ,trình Setup hiện ra bảng chào mừng và cho bạn 3 lựa chọn: 1. Để cài đặt Win XP, hãy bấm ENTER(Đây là lựa chọn đúng đắn nhất mà bạn không cần suy nghĩ,hãy gõ ENTER đi) 2. Để sửa chửa WinXP đã cài đặt hãy bấm phím "R"(Chương trình sẽ cho bạn một cái được gọi là "Cửa Sổ Gõ Lệnh Thấy_Muốn_Bệnh" để bạn dùng những câu lệnh khó chịu nhất cho việc sữa chữa Win mà thú thật là tôi mù tịt) 3. Để . không làm gì cả và thoát ra ngoài .Hãy bấm phím "F3"(Chắc làbạn chẳng bao giờ dùng tới lựa chọn quái đản này đâu) Và tất nhiên vì là một như mọi phần mềm khác của Microsoft ,bảng yêu cầu chấp nhận giấy phép và bản quyền hiện ra đầu tiên(Xem hình) Bấm F8 để đồng ý (dại gì không đồng ý)và bạn sẽ qua màn hình đưới đây:(chú ý:nếu máy bạn đã cài WinXP trước thì trình Setup sẽ hỏi bạn là đã phát hiện ra có một Win XP trong máy và bạn muốn sữa chữa nó hay là muốn cài mới,hãy chọn cài mới để tiếp tục) Các phân vùng ổ đĩa và các phân vùng trống(chưa dùng)hiện ra để bạn lựa chọn các công việc sau 1. Để cài WinXP vào phân vùng đã chọn ,ấn ENTER 2. Để tạo một ổ đĩa mới từ phân vùng trống đã chọn ,bấm C 3. Để xoá phân vùng đã chọn và tạo ra một phân vùng trống,bấm D bạn hãy bấm ENTER để tiếp tục cài đặt. Màn hình yêu cầu bạn chọn Format phân vùng hay để nguyên như cũ và cài tiếp hiện ra Trừ khi có những lý do để làm khác,bạn nên Format phân vùng theo NTFS file system.Bấm ENTER để tiếp tục cài đặt Nếu bạn chọn Format,màn hình Format hiện ra như trên Sau khi Format xong,trình cài đặt bắt đầu copy các file cài đặt,hãy chờ đợi Sau khi Copy xong,chương trình yêu cầu khởi động lại,bạn có thể chờ hoặc giúp đỡ nó bằng cách bấm ENTER Màn hình cài đặt hiện ra như trên sau khi khởi động lại, nếu bạn đã pha sẵn Cafe ,thì uống một hớp là ý tưởng hay khi chờ đợi (cho đỡ nóng ruột) [...]... này hiếm khi bạn gặp lại ông ta vì Admin không hiện lên trong cửa sổ LOGIN thông thường(Xem hình trên) Những bước dọn đường cho WinXP,như hình trên cho thấy,bạn cần chỉnh lại giờ giấc và múi giờ cho máy ,tuy nhiên nếu nhác bạn có thể để sau hãy làm Thông báo trên là việc Win thay đổi độ phân giải màn hình,bạn sẽ không có lựa chọn nào khác ngoài việc ấn OK (Tôi tự hỏi thế thì hỏi để làm gì nhỉ???).Đừng... hỏi để làm gì nhỉ???).Đừng lo lắng vì điều đó chẳng ảnh hưởng gì đến bạn cả,thậm chí có một số máy còn không có cả thông báo này Màn hình trên cho thấy Win đang kiểm tra độ phân giải màn hình(Một số máy sẽ không có vì không_có_cũng_không_sao).Đại ý là:"Window đã thay đổi độ phân giải của màn hình bạn nhưng không biết rằng làm vậy đúng hay sai,vậy nếu bạn có thể thấy được hộp thông báo trên thì bấm Ok... cho tui mừng,nếu thấy đen thui thì ngồi chờ tui xíu để tui sửa sai".Bạn hãy làm theo nó kẻo tội Phù!Cuối cùng cũng xong,màn hình trên đem đến cho ta niềm vui như mẹ về chợ Ậy nói vậy mà không phải vậy ,Win lại ra một màn HƯỚNG DẪN CÀI ĐẶT VÀ CẤU HÌNH VISUAL SVN SERVER TRÊN WINDOWS 2008 Table of Contents I Giới thiệu 3 1 Mục đích 3 2 Phạm vi 3 II Cài đặt 3 1 Chuẩn bị phần mềm 3 2 Cài đặt 3 2.2 Cài đặt visual SVN 9 2.3 Cài đặt Tortoisesvn 13 I Giới thiệu 1 Mục đích Hướng dẫn cài đặt và cấu hình Visual SVN server trên hệ điều hành win2k8 2 Phạm vi Toàn bộ các dự án sử dụng visual SVN server trên win2k8 II Cài đặt 1 Chuẩn bị phần mềm. Visual SVN server 2.1.9 Download Here TortoiseSVN 1.6.16 Download Here 2 Cài đặt 2.1 Cài đặt AD trên win2k8 Đầu tiên chúng ta sẽ cài đặt AD trên win2k8 để cung cấp user xác thực cho SVN server. Trên màn hình Manager Server, chọn Add Role Chọn Active Directory Domain Services Nhấn Install rồi đợi quá trình hoàn tất. Start  Run  dcpromo.exe Sẽ hiện lên màn hình cài đặt Active Directory wizard, nhấn Next để tiếp tục cài đặt Màn hinh Choose a Deployment configuration sẽ cho ta 2 lựa chọn, nếu ta đã có sẵn một domain rồi thì ta chọn existing forest. Còn nếu domain này là domain mới thì ta chọn Create a new domain… Chọn tên cho domain, ở đây tôi chọn tên cho domain là om.example Quá trình cài đặt hỏi là có tích hợp DNS server vào cùng domain không? ở đây tôi chọn là có, nếu các bạn không muốn cài cùng AD thì các bạn có thể cài sau, hoặc là các bạn đã có một DNS riêng. Nơi lưu trữ những file database, logfile, SYSVOL của AD Mà hình nhập mật khẩu restore mode. Các bạn cần chú ý mật khẩu restore mode này khác biệt hoàn toàn với mật khẩu adminstrator, mật khẩu này được dùng để khôi phục lại AD trong trường hợp bị sự cố Màn hình hoàn tất quá trình cài đặt, sau khi quá trình cài đặt hoàn tất chúng ta restart lại máy tính. Vậy là chúng ta đã cài đặt xong AD cho win2k8 Bây giờ chúng ta sẽ tạo một user để truy nhập vào SVN server. Chọn Next Chọn Next , rồi finish. Vậy là chúng ta đã tạo xong một user huongdv dùng để truy nhập vào SVN server. 2.2 Cài đặt visual SVN Chúng ta download visual server từ trang web http://www.visualsvn.com/files/VisualSVN-Server- 2.1.9.msi Chọn Next Chọn VisualSVN Server and Managent Console Chúng ta chọn port cho SVN hoạt động, ở đây tôi chọn là 80 Authentication: do chúng ta sẽ xác thực user truy nhập SVN server thông qua AD cho nên ta chọn là Use Windows authentication [...]... quá trình cài đặt Visual SVN server đã hoàn thành Khởi động Visual SVN server Ta để ý trên status thấy visualSVN server in running vậy là SVN server đã đang hoạt động Chúng ta sẽ tạo thêm các Repositoires Chọn create new repository Nhấn OK vậy là chúng ta đã tạo thành công một repository mới Dùng trình duyệt web để truy nhập vào SVN theo đường dẫn http://172.16.5.37 ( địa chỉ IP server mình cài 172.16.5.37)... màn hình thông báo xác thực user Chúng ta sẽ dùng user của AD để xác thực Chúng ta sẽ sử dụng user huongdv được tạo ở trên 1 HƯỚNG DẪN SỬ DỤNG PHẦN MỀM SUBVERSION (SVN) Giới thiệu. Hệ thống SVN (http://subversion.tigris.org/) là một hệ thống quản lý phần tài nguyên của một dự án. Hệ thống có khả năng tự cập nhật, so sánh và kết hợp tài nguyên mới vào phần tài nguyên cũ. Bắt đầu từ trang 2 là hướng dẫn sử dụng các chức năng cơ bản của phần mềm TortoiseSVN (http://tortoisesvn.net/) là client tốt nhất của hệ thống SVN. Các chức năng mà các bạn cần quan tâm nhất là chức năng Commit – để đưa các dữ liệu của các bạn lên thư mục dự án (chú ý là mỗi lần các bạn đưa lên thì sẽ là một phiên bản (revision) của dự án nên các bạn chỉ nên đưa lên server một khi đã hoàn thành cơ bản chạy được một tính năng nào đó không có lỗi để tránh trường hợp có người khác update về chạy bị lỗi ở phần của các bạn mà chương trình không chịu chạy, như vậy rất nguy hiểm). Và tính năng thứ 2, là update, để cập nhập tài nguyên của dự án, phần mềm sử tự so sánh mã nguồn từ server và của các bạn và tìm ra chỗ nào khác sẽ tự động nối (merge) vào mã nguồn của các bạn đảm bảo không bị lỗi). Các bạn mỗi khi commit khuyến khích nên update xong rồi hãy update để tránh tình trạng bị lỗi. Hướng dẫn ở dưới chỉ có hướng dẫn vài tính năng cơ bản, các bạn nên đọc thêm phần hướng dẫn của tortoiseSVN để biết thêm nhiều tính năng rất mạnh của nó hoặc khi có vấn đề gì về lỗi conflic có thể mail về cho trưởng nhóm để nhận được hướng dẫn. Tùy theo tình hình của mỗi dự án mà nhóm quản lý sẽ cấp user để các bạn tham gia dự án. Các bạn sẽ nhận được username và password và url đường dẫn đến thư mục của dự án trên mạng. 2 Hướng dẫn sử dụng Subversioning (SVN) dựa trên TortoiseSVN client. Mục tiêu chính của SVN : Quản lý các phiên bản của một file nào đó (bất kỳ là file text, binary, ) vào server SVN. Quá trình kiểm tra sẽ được SVN sẽ kiểm tra tại 2 nơi 1. Thư mục dự án (Nơi thực hiện dự án). 2. Thông tin dự án được lưu trữ trên server. khi kiểm tra file hiện hành có sự thay đổi so với trên server SVN là SVN sẽ tạo một phiên bản mới lưu lại(khi người dùng update -> commit). Việc quản lý phiên bản sẽ giúp việc phục hồi lại các version trước đó dể dàng mà không cần phải lưu backup tùm lum mà không biết cái nào trước cái nào sau Khi lưu từng phiên bản sẽ cho phép lưu kèm theo các thông tin liên quan như ai là người thay đổi , thay đổi chổ nào, thay đổi cái gì giúp cho việc quản lý source nguồn một các rõ ràng. Việc lưu trử version SVN sự dụng các thuật toán so sánh và chỉ lưu trữ các thành phần khác nhau của mỗi verision nên dung lượng lưu trữ sẽ được tối ưu so với việc backup từng file. Các quy định khi làm việc với SVN: - Khi thực hiện mới dự án : Nếu là một dự án mới thì quá trình thực hiện dự án như thường lệ, sau đó "Import" dự án vào SVN . Cách thực hiện như sau : right click trên thư mục dự án chọn TortoiseSVN → Import - Khi thực hiện upgrade từ một dự án có sẳn trong SVN : Nếu phải thực hiện lại một dự án có sẵn thì phải "checkout" dự án đó từ SVN về thư mục thực hiện dự án. để SVN khởi tạo các thông tin quản lý source nguồn trên thư mục làm việc của dự án. Cách thực hiện như sau : Right click trên thư mục (rỗng) , nơi dự định để thực hiện dự án TortoiseSVN → Checkout Một số thao tác cơ bản với SVN: Đưa một project vào SVN server Mở windows explorer lên, chọn thư mục của dự án thực hiện "right click" và chọn TortoiseSVN → Import Các bước như sau : Sheet1 Page 1 UªUªf‹N$f÷áff·fÂf‰üfÇôÿÿÿÿf‹ fƒ‚¦üf=ÿÿƒœüfPfƒ!f¶^ ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» Sheet1 Page 2 f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» Sheet1 Page 3 f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» Sheet1 Page 4 f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» Sheet1 Page 5 f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» Sheet1 Page 6 f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» Sheet1 Page 7 f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» Sheet1 Page 8 f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü» ‹óf÷ãfü» f÷áfü»

Ngày đăng: 23/10/2017, 17:42

TỪ KHÓA LIÊN QUAN

w