... Lập trìnhWindows với VC/MFC Trang 14 ¾ Bước kết thúc: Nếu tạo ứng dụng dạng đơn tàiliệu hay đa tài liệu, người dùng cần làm như sau: ¾ Bước khởi đầu: ¾ Bước 1: Lập trình ... -m_nHScrollPos; else if (nScrollPos > nMaxPos) Lập trìnhWindows với VC/MFC Trang 48 #define AFX_MAINFRM_H__9CE2B4A8_9067_11D2_8E53_006008A82731__INCLUDED_ #if _MSC_VER > 1000 #pragma ... tạo. nhập thông tin cần thiết: Lập trìnhWindows với VC/MFC Trang 1TÀI LIỆU THAM KHẢO ¾ Sách: o Các sách tiếng Việt về Visual C++ /lập trìnhWindows (của SAMIS, của nhóm tác giả...
... giảng: Lậptrình C for Win Trang 39/69 Bài 3:Các thiết bị nhập liệu Trần Minh Thái crPrevBk = SetBkColor(hdc, 169 170 171 172 173 174 175 176 177 1 78 179 180 181 182 183 184 185 ... phải bỏ ra rất nhiều công sức để cài đặt. Lập trình trên Windows khó và phức tạp hơn nhiều so với lậptrình trên DOS. Tuy nhiên lậptrình trên Windows sẽ giải quyết được một số vấn đề khó ... chương trình ứng dụng sử dụng chúng thông qua các lời gọi hàm và chỉ chia sẻ được khi trong máy có cài đặt Windows. Vài điểm khác biệt giữa lậptrìnhWindows và DOS: Windows DOS Lập trình...
... Tp.HCM 2Nội dungVài điểm khác biệt giữa lậptrìnhWindows và DOSCác thư viện lậptrình của Windows Các loại ứng dụngCác khái niệm cơ bản Lập trình sự kiện (Even driven programming)Các ... tuần tự theo chỉ định Lập trình sự kiện, dựa vào thông điệp (message)DOSWindowsSpring 2004C4W - Basic - Nguyen Tri Tuan - DH.KHTN Tp.HCM 4Các thư viện lậptrình của Windows SDK - Software ... Tri Tuan - DH.KHTN Tp.HCM 38 Một chương trình tổng quát xây dựng trên Win32 APICác bước tạo lập chương trình Hàm bắt đầuWinMainĐăng ký lớp cửa sổTạo lập cửa sổ giao diệnThực...
... GDI.pdf-tr26)1 Lập trình C trên Windows Ví dụ và Bài tập (T4)Nguyễn Đức Hoàng HạKhoa CNTT –Trường ĐHKHTNEmail: ndhha@fit.hcmuns.edu.vn14Bài tập 4•Mô tả:Viết một chương trình cho phép ... wMilliseconds;} SYSTEMTIME17Ví dụ 6• Mô tả:Hãy đóng gói HDC thành lớp CMyDC nhằm hỗ trợ người lậptrình C trên Windows. • Yêu cầu:classCMyDC {Public:PAINTSTRUCT m_ps;HDC m_hdc;HWND m_hwnd;HDC ... LoadBitmap(hInst,LPCTSTR(IDB_BITMAP3));robot[3].next =0;robot[3].dx = 38- 27;robot[3].dy =0;n = 0;x = y = 0;SetTimer(hWnd,1,1000,NULL);break;15Bài tập 5Đồng hồ KIM•Mô tảViết chương trình mô phỏng đồng hồ kim trên máy...
... .container { height: 436px; } body[orient=’landscape’] .container { height: 258px;(continued)c05.indd 108c05.indd 1 08 12/7/07 2:47:04 PM12/7/07 2:47:04 PMChapter 5: Handling Touch Interactions ... interactions differently than what you might expect. How iPhone Handles Events When working with touch interactions and events for iPhone, keep in mind that the finger is not a mouse. As a ... Interactions and Events 1 08 color: #FFFFFF; } .container { position: absolute; width: 100%; } .toolbar { position: absolute; width: 100%; height: 60px; font-size: 28pt; } .anchorTop {...
... Nguyen Tri Tuan - DH.KHTN Tp.HCM 48 [3] … - Chuyển dữ liệu … – DL với định dạng chuẩnVD.3: Chuyển dữ liệu với định dạng CF_HDROPLà phương pháp mà Windows 98 và Windows 2000 sử dụng để thực hiện ... định dạng dữ liệu xác địnhHANDLE GetClipboardData(UINT uFormat );Nếu Clipboard không chứa dữ liệu với định dạng uFormat, hàm trả về NULLBước 3: Tạo dữ liệu sao chép của dữ liệu trong khối ... - DH.KHTN Tp.HCM 68 [3] … - Nhận dữ liệu … - Các bước cơ bảnLưu ý:Handle nhận từ GetClipboardData không thuộc chương trình gọi, do đó phải thực hiện sao chép. Chương trình không thể giải...
... - Tổng quan về in ấn trong Windows (tt)Spooling Windows quản lý quá trình in ấn bằng trình quản lý in (Printer Spooler)Printer spooler được tự động nạp khi Windows khởi động và kết thức ... in ấn trong Windows (tt)Print job (tác vụ in)Là một tàiliệu cần inCó thể chứa 1 hay nhiều trang inPrint job được định nghĩa bởi 1 cặp lệnh StartDoc/EndDocCấu trúc dữ liệu được ... không lưu dữ liệu cần in lên file mà gởi trực tiếp ra máy inHoặc dùng một trình điều khiển spooling khác (VD. Máy in mạng)Summer 2004C4W - GDI - Nguyen Tri Tuan - DH.KHTN Tp.HCM 48 In ấn (Printing)...
... Tuan - DH.KHTN Tp.HCM 48 [3] … - Chuyển dữ liệu … – DL với định dạng chuẩnVD.3: Chuyển dữ liệu với định dạng CF_HDROPLà phương pháp mà Windows 98 và Windows 2000 sử dụng để thực hiện các thao ... Clipboard - Nguyen Tri Tuan - DH.KHTN Tp.HCM 38 [3] Các kỹ thuật … - Chuyển dữ liệu vào ClipboardCác bước cơ bảnDữ liệu với định dạng chuẩnDữ liệu với định dạng riêngKỹ thuật Delayed ... nhớ trong Windows Một số hàm quản lý vùng nhớ toàn cụcVí dụ13/06/2003C4W - Clipboard - Nguyen Tri Tuan - DH.KHTN Tp.HCM 28 [3] … - Định vị bộ nhớ trong Windows – Sơ lược Windows 32 bits...
... Tp.HCM 2Nội dung Lập trình sự kiệnGiới thiệu kỹ thuật HookMinh họa cách lậptrình Hook 8 Spring 2004C4W - Hook - Nguyen Tri Tuan - DH.KHTN Tp.HCM 15Minh họa cách lậptrình HookCác hàm ... thốngBOOL UnhookWindowsHooks(HHOOK hHook);hHook: handle của hook cần hủy bỏ1 Lập trình C trên Windows Kỹ thuật lậptrình Hook(phụ lục)Nguyễn Tri TuấnKhoa CNTT – ĐH.KHTN.Tp.HCMEmail: nttuan@ ... - Nguyen Tri Tuan - DH.KHTN Tp.HCM 16Minh họa cách lậptrình Hook - Các hàm thao tác với HookSetWindowsHookExCallNextHookExUnhookWindowsHookEx7Spring 2004C4W - Hook - Nguyen Tri Tuan...
... Lậptrình căn bản IV. BÀI TẬP IV.1 Mục đích yêu cầu Đi sâu vào kiểu dữ liệu chuỗi và các phép toán trên chuỗi. IV.2 Nội dung 1. Viết chương trình nhập một chuỗi ký ... Ví dụ : chuỗi “Nguyễn Văn Minh” đảo thành “Minh Văn Nguyễn” 8. Viết chương trình đổi số tiền từ số thành chữ. 9. Viết chương trình nhập vào họ và tên của một người, cắt bỏ các khoảng trống ... chương trình nhập vào một danh sách họ và tên của n người theo kiểu chữ thường, đổi các chữ cái đầu của họ, tên và chữ lót của mỗi người thành chữ hoa. In kết quả lên màn hình. Trang 97 Lập trình...
... System.out.print(node.data + " "); node = node.nextNode;}System.out.println("\n"); }}30Sử dụng Binary Search Treepublic class TreeTest { public static void main( String[] args ) { Tree tree = new Tree(); int value; for ( int i = 1; i <= 10; i++ ) { value = ( int ) ( Math.random() * 100 ); tree.insertNode( value ); }System.out.println ( "\n\nPreorder traversal" );tree.preorderTraversal();System.out.println ( "\n\nInorder traversal" );tree.inorderTraversal();System.out.println ( "\n\nPostorder traversal" );tree.postorderTraversal(); }}25Binary Search Tree•Ví dụ về Binary Search Tree4725 7711 43 65 93 687 17 3144Cây con trái Cây con phải 38 Giao tiếp List•List kế thừa từ Collection, nó cung cấp thêm các phương thức để xử lý collection kiểu danh sách (Danh sách là một collection với các phần tử được xếp theo chỉ số).•Một số phương thức của List•Object get(int index);•Object set(int index, Object o);•void add(int index, Object o);•Object remove(int index);•int indexOf(Object o);•int lastIndexOf(Object o);21Cài đặt Queuepublic class Queue{ private LinkedList queueList; public Queue() { queueList = new LinkedList(); } public void enqueue( int value ) { queueList.insertAtBack( value ); } public int dequeue() { return queueList.removeFromFront(); } public boolean isEmpty() { return queueList.isEmpty(); } public void print() { queueList.print(); }}10Cài đặt Linked List public int removeFromBack() {int removeItem = ... lastNode(b)removeItemcurrent1113Mô tả insertAtBack12 7 11firstNode lastNode(a)5new ListNode12 11firstNode lastNode(b)5new ListNode71 Lập trình Java cơ bảnCao Đức Thông Trần Minh Tuấncdthong@ifi.edu.vn, tmtuan@ifi.edu.vn 50Ví dụ 1: TreeSet// This program sorts a set of namesimport java.util.*;public class TreeSetTest1{ public static void main(String[] args) { SortedSet names = new TreeSet(); names.add(new String("Minh Tuan")); names.add(new String("Hai Nam")); names.add(new String("Anh Ngoc")); names.add(new String("Trung Kien")); names.add(new String("Quynh Chi")); names.add(new String("Thu Hang")); System.out.println(names); }}31Bài tập tại lớp•Bài 1: Dùng Stack để viết chương trình in ra dạng nhị phân của một số nguyên dương cho trước.•Bài 2: Cài đặt phương thức search trong lớp Tree để tìm một phần tử có giá trị cho trước.7Cài đặt Linked List// Dinh nghia mot node trong linked list ... removeItem = lastNode.data; if ( firstNode == lastNode )firstNode = lastNode = null; else {ListNode current = firstNode;while ( current.nextNode != lastNode ) current = current.nextNode;lastNode = current;current.nextNode = null; }}return removeItem; }32Collection•Collection là đối tượng có khả năng chứa các đối tượng khác.•Các thao tác thông thường trên collection•Thêm/Xoá đối tượng vào/khỏi collection•Kiểm tra một đối tượng có ở trong collection không•Lấy một đối tượng từ collection•Duyệt các đối tượng trong collection•Xoá toàn bộ collection42Duyệt collection•Iterator cho phép duyệt tuần tự một collection.•Các phương thức của Iterator:•boolean hasNext();•Object next();•void remove();•Ví dụ:Iterator it = c.iterator();while ( it.hasNext() ) { Point p = (Point) it.next(); System.out.println( p.toString() );} 18 Cài đặt Stackpublic class Stack{ private LinkedList stackList; public Stack() { stackList = new LinkedList(); } public void push( int value ) { stackList.insertAtFront( value ); } public int pop() { return stackList.removeFromFront(); } public boolean isEmpty() { return stackList.isEmpty(); } public void print() { stackList.print(); }}15Mô tả removeFromBack5511771212firstNode...
... bằng cách dùng hàm SetWindowsHook hay SetWindowsHookExHook Procedure cài sau sẽ luôn nằm ở vị trí đầu tiên trong dãy thủ tục Hook1 Lập trình C trên Windows Kỹ thuật lậptrình Hook(phụ lục)Nguyễn ... Tp.HCM 2Nội dung Lập trình sự kiệnGiới thiệu kỹ thuật HookMinh họa cách lậptrình Hook9Spring 2004C4W - Hook - Nguyen Tri Tuan - DH.KHTN Tp.HCM 17Minh họa cách lậptrình Hook - Cài đặt ... Hook - Nguyen Tri Tuan - DH.KHTN Tp.HCM 18 Minh họa cách lậptrình Hook - Cài đặt thủ tục Hook…(tt)Ví dụ 1: cài đặt Keyboard Hook toàn cục (load-time)SetWindowsHookEx(WH_KEYBOARD, (HOOKPROC)fnKeyboardProc,...