Khóa luận tốt nghiệp: Tìm hiểu ngôn ngữ lập trình trong Adobe Flash Xây dựng ứng dụng minh họa

122 4 0
Khóa luận tốt nghiệp: Tìm hiểu ngôn ngữ lập trình trong Adobe Flash  Xây dựng ứng dụng minh họa

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

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Mục tiêu nghiên cứu đề tài là tìm hiểu ngôn ngữ lập trình ActionScript 3.0 và công nghệ Flex; qua đó xây dựng chương trình quản lý album ảnh và tạo slideshow hình ảnh trực tuyến. Đề tài Hoàn thiện công tác quản trị nhân sự tại Công ty TNHH Mộc Khải Tuyên được nghiên cứu nhằm giúp công ty TNHH Mộc Khải Tuyên làm rõ được thực trạng công tác quản trị nhân sự trong công ty như thế nào từ đó đề ra các giải pháp giúp công ty hoàn thiện công tác quản trị nhân sự tốt hơn trong thời gian tới.

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN KHOA CÔNG NGHỆ THƠNG TIN VŨ TẤN HƯNG NGUYỄN THỊ MINH TỒN TÌM HIỂU NGƠN NGỮ LẬP TRÌNH TRONG ADOBE FLASH VÀ XÂY DỰNG ỨNG DỤNG MINH HỌA 6f87e 1b11a 932da b860 f81 b6 f9bdc3 2eca c777 6e0cf7 b60da 52f6cf66 b5ff294 1e747 e e1b11a9 32da b860 f81 b6f9bdc32 ecac7776 e0cf7b60da5 2f6 cf66b5ff2941e 747e 6f8 932dab860 f81b6f9 bdc32e cac7776e 0cf7b6 0da5 2f6 cf66b5ff2 941e 747e6 f87e 1b1 1a 860f8 1b6 f9bdc32eca c77 76e0 cf7 b60 da52 f6cf66 b5ff29 41e74 7e6f87e1 b11a9 32da b f81b6f9 bdc32e cac7 776e0 cf7b6 0da52 f6 cf6 6b5ff2 941e7 47e6 f87e 1b11a 932da b86 6f9bdc3 2eca c77 76e0 cf7 b60 da52 f6cf66 b5ff294 1e74 7e6f87e1 b11a9 32dab860 f81 b dc32e cac7776 e0cf7b60da5 2f6 cf66b5ff2941e 747e 6f87 e1b1 1a932 dab8 60f81b6 f9 b 32eca c7776 e0cf7 b60da 52f6cf66b5ff2941 e747e 6f8 7e1b11a932 dab8 60f81b6 f9 bdc c7776 e0cf7b60da 52f6 cf66b5ff2941 e747e 6f8 7e1b11a932 dab8 60f81b6 f9 bdc32e ca e0cf7b60 da52 f6 cf6 6b5ff2 941e7 47e6 f87e 1b11a 932da b860 f81 b6 f9bdc3 2eca c777 fc3a3 f93a 08582 6d66a 60f835 d2406 ea15 f7e7 b88cbf5e9cb78 cc9e16 d1072 e24 c3ee4 7d0800 c6a8 0136 f54 da448 1c2 b397 7f6 f33 e0be 8a4b3 d678 cc5b77 828 cc3 7ae38 f66a4 KHÓA LUẬN TỐT NGHIỆP CỬ NHÂN CNTT 9c84a7 1dc1cb825a 4f1 d7c732fb9a4 e5765 f83 10c1984 f96 1e06 cf3 fc71f185b5ad74 b fac7b7b2 0dfcfdcdf1 cf4 2b2 fc6 b5a c1e9 c4a51ae fef5b7 de7f4b3 cc9e5d780d33d5 94 9e3f2 1bf4656 147e4 1c5 63d1 76a97 9e946 6be8 9c63 c0e 2907 0df0e654 8e28 c32 c6 f8f7 7ea8e433 c9 f051 8c9 06b9a 684d9d02 5cb598 854db148 3a8024 9bc348 7e1be 4646 2d7a b f21d145b5b08 b8e1 f8 c76 f42 b4ce 759fb93 c48 e7f8a41e7 8571e 64a2 f48b0e5 c8d4 bb8 df3 fa34df8 f2c9de ba5dcb1e e30bc7d67cb1d4163 72d9 47cdab0 1c5 76b2 b2efb3 c49a2 08d258 539 bc6 96d5a 3b1a4 c49 7180 bae30 dc4 4793a3 dc5d19 4ad09 3cb5c3f9 9f2 02398 30ff2d29 b07 f39 d69e d7d2 e358bfca d25b40c5434 0e68a b4ee2 b76e0 b2a8 65300 be6e 95f4 fcb5fd1f4 934 f29e7 ee6d7cfa 31ddc0 5b49 f94 3c1 e22 f3b5 c0e4a d46 2e7c96fc5b 3f9 f11 c9f0 8a6db91a1 7118e 3de6 3e7a02 f9 c1d19137 7d0a7a 34d40ff5b8 453 f6f4e0e 59e15a9 f853 8397 40b3 e9ac33e6fc51 7d8 b739 3a5076 c67 d16e 7cc03df1 b1f0b9 fc0 46 3a67e368 0a4d3d50 cf8d5 f476 8201 e328 cbbba50 c741 ebd4f6 b2e1 0316e d218 e1d2 918 0d4204 90efb3ab05fb73 c76 f04 f402 4609 30bbbd8c70 8725 e74dc8 cf9a 5b23 c6 ce52 6d 5a2ffad28c03f5ddc8 b5b1 9f6 5a9a4 f8ff22e 5e28b515a6 e2baff25 e0185 e7457 d94 b3 6e74e1a5 eb8e 6a6629 e94dc3 b8533 4599 8a334 c325 5d17 f25 1a9f0fc09d15d4 76fc381 TP HCM, NĂM 2008 14dd4 024 c2f27f32d2 1896e 863 d2798 93b4 5fb87d4d3 b709a d32bf1 f855 3822 14eb1 0a 4a2b893 e6f264e6 3adfe30c144aa d9ad6 d154a 23f6b2 be48 d55b74c3677 f31a2 6752 77 TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN KHOA CÔNG NGHỆ THÔNG TIN VŨ TẤN HƯNG – 05HC084 NGUYỄN THỊ MINH TỒN – 05HC192 TÌM HIỂU NGƠN NGỮ LẬP TRÌNH TRONG ADOBE FLASH VÀ XÂY DỰNG ỨNG DỤNG MINH HỌA KHÓA LUẬN TỐT NGHIỆP CỬ NHÂN CNTT 6f87e 1b11a 932da b860 f81 b6 f9bdc3 2eca c777 6e0cf7 b60da 52f6cf66 b5ff294 1e747 e e1b11a9 32da b860 f81 b6f9bdc32 ecac7776 e0cf7b60da5 2f6 cf66b5ff2941e 747e 6f8 932dab860 f81b6f9 bdc32e cac7776e 0cf7b6 0da5 2f6 cf66b5ff2 941e 747e6 f87e 1b1 1a 860f8 1b6 f9bdc32eca c77 76e0 cf7 b60 da52 f6cf66 b5ff29 41e74 7e6f87e1 b11a9 32da b f81b6f9 bdc32e cac7 776e0 cf7b6 0da52 f6 cf6 6b5ff2 941e7 47e6 f87e 1b11a 932da b86 6f9bdc3 2eca c77 76e0 cf7 b60 da52 f6cf66 b5ff294 1e74 7e6f87e1 b11a9 32dab860 f81 b dc32e cac7776 e0cf7b60da5 2f6 cf66b5ff2941e 747e 6f87 e1b1 1a932 dab8 60f81b6 f9 b 32eca c7776 e0cf7 b60da 52f6cf66b5ff2941 e747e 6f8 7e1b11a932 dab8 60f81b6 f9 bdc GIÁO VIÊN HƯỚNG DẪN c7776 e0cf7b60da 52f6 cf66b5ff2941 e747e 6f8 7e1b11a932 dab8 60f81b6 f9 bdc32e ca e0cf7b60 da52 f6 cf6 6b5ff2 941e7 47e6 f87e 1b11a 932da b860 f81 b6 f9bdc3 2eca c777 fc3a3 f93a 08582 6d66a 60f835 d2406 ea15 f7e7 b88cbf5e9cb78 cc9e16 d1072 e24 c3ee4 7d0800 c6a8 0136 f54 da448 1c2 b397 7f6 f33 e0be 8a4b3 d678 cc5b77 828 cc3 7ae38 f66a4 Thạc sĩ LƯƠNG HÁN CƠ 9c84a7 1dc1cb825a 4f1 d7c732fb9a4 e5765 f83 10c1984 f96 1e06 cf3 fc71f185b5ad74 b fac7b7b2 0dfcfdcdf1 cf4 2b2 fc6 b5a c1e9 c4a51ae fef5b7 de7f4b3 cc9e5d780d33d5 94 9e3f2 1bf4656 147e4 1c5 63d1 76a97 9e946 6be8 9c63 c0e 2907 0df0e654 8e28 c32 c6 f8f7 7ea8e433 c9 f051 8c9 06b9a 684d9d02 5cb598 854db148 3a8024 9bc348 7e1be 4646 2d7a b f21d145b5b08 b8e1 f8 c76 f42 b4ce 759fb93 c48 e7f8a41e7 8571e 64a2 f48b0e5 c8d4 bb8 df3 fa34df8 f2c9de ba5dcb1e e30bc7d67cb1d4163 72d9 47cdab0 1c5 76b2 b2efb3 c49a2 08d258 539 bc6 96d5a 3b1a4 c49 7180 bae30 dc4 4793a3 dc5d19 4ad09 3cb5c3f9 9f2 02398 30ff2d29 b07 f39 d69e d7d2 e358bfca d25b40c5434 0e68a b4ee2 b76e0 b2a8 65300 be6e 95f4 fcb5fd1f4 934 f29e7 ee6d7cfa 31ddc0 5b49 f94 3c1 e22 f3b5 c0e4a d46 2e7c96fc5b 3f9 f11 c9f0 8a6db91a1 7118e 3de6 3e7a02 f9 c1d19137 7d0a7a 34d40ff5b8 453 f6f4e0e 59e15a9 f853 8397 40b3 e9ac33e6fc51 7d8 b739 3a5076 c67 d16e 7cc03df1 b1f0b9 fc0 46 3a67e368 0a4d3d50 cf8d5 f476 8201 e328 cbbba50 c741 ebd4f6 b2e1 0316e d218 e1d2 918 0d4204 90efb3ab05fb73 c76 f04 f402 4609 30bbbd8c70 8725 e74dc8 cf9a 5b23 c6 ce52 6d 5a2ffad28c03f5ddc8 b5b1 9f6 5a9a4 f8ff22e 5e28b515a6 e2baff25 e0185 e7457 d94 b3 6e74e1a5 eb8e 6a6629 e94dc3 b8533 4599 8a334 c325 5d17 f25 1a9f0fc09d15d4 76fc381 KHÓA 2005 - 2008 14dd4 024 c2f27f32d2 1896e 863 d2798 93b4 5fb87d4d3 b709a d32bf1 f855 3822 14eb1 0a 4a2b893 e6f264e6 3adfe30c144aa d9ad6 d154a 23f6b2 be48 d55b74c3677 f31a2 6752 77 Tìm hiểu ngơn ngữ lập trình Adobe Flash - Xây dựng ứng dụng minh họa LỜI CÁM ƠN Chúng em chân thành cám ơn Thầy Cô Khoa Công nghệ Thông tin trường Đại học Khoa học Tự Nhiên hướng dẫn, giảng dạy tận tình truyền đạt cho chúng em kiến thức vô quý báu suốt năm học vừa qua Chúng em xin gửi lời cám ơn chân thành sâu sắc đến Thầy Lương Hán Cơ tận tụy hướng dẫn, động viên giúp đỡ chúng em suốt thời gian thực đề tài Chúng em xin cám ơn giúp đỡ tận tình Thầy Lương Vĩ Minh Chúng xin gửi lòng biết ơn đến Ơng Bà, Cha Mẹ ln chăm sóc, ủng hộ chúng suốt bước đường học vấn Xin cám ơn anh chị bạn bè động viên giúp đỡ chúng em suốt thời gian học tập nghiên cứu Mặc dù chúng em cố gắng để hoàn thành luận văn cách tốt chắn khơng tránh khỏi thiếu xót Chúng em kính mong nhận cảm thơng tận tình bảo quý Thầy Cô bạn 6f87e 1b11a 932da b860 f81 b6 f9bdc3 2eca c777 6e0cf7 b60da 52f6cf66 b5ff294 1e747 e e1b11a9 32da b860 f81 b6f9bdc32 ecac7776 e0cf7b60da5 2f6 cf66b5ff2941e 747e 6f8 932dab860 f81b6f9 bdc32e cac7776e 0cf7b6 0da5 2f6 cf66b5ff2 941e 747e6 f87e 1b1 1a 860f8 1b6 f9bdc32eca c77 76e0 cf7 b60 da52 f6cf66 b5ff29 41e74 7e6f87e1 b11a9 32da b Sinh viên thực f81b6f9 bdc32e cac7 776e0 cf7b6 0da52 f6 cf6 6b5ff2 941e7 47e6 f87e 1b11a 932da b86 6f9bdc3 2eca c77 76e0 cf7 b60 da52 f6cf66 b5ff294 1e74 7e6f87e1 b11a9 32dab860 f81 b dc32e cac7776 e0cf7b60da5 2f6 cf66b5ff2941e 747e 6f87 e1b1 1a932 dab8 60f81b6 f9 b Vũ Tấn Hưng – Nguyễn Thị Minh Toàn 32eca c7776 e0cf7 b60da 52f6cf66b5ff2941 e747e 6f8 7e1b11a932 dab8 60f81b6 f9 bdc c7776 e0cf7b60da 52f6 cf66b5ff2941 e747e 6f8 7e1b11a932 dab8 60f81b6 f9 bdc32e ca e0cf7b60 da52 f6 cf6 6b5ff2 941e7 47e6 f87e 1b11a 932da b860 f81 b6 f9bdc3 2eca c777 fc3a3 f93a 08582 6d66a 60f835 d2406 ea15 f7e7 b88cbf5e9cb78 cc9e16 d1072 e24 c3ee4 7d0800 c6a8 0136 f54 da448 1c2 b397 7f6 f33 e0be 8a4b3 d678 cc5b77 828 cc3 7ae38 f66a4 9c84a7 1dc1cb825a 4f1 d7c732fb9a4 e5765 f83 10c1984 f96 1e06 cf3 fc71f185b5ad74 b fac7b7b2 0dfcfdcdf1 cf4 2b2 fc6 b5a c1e9 c4a51ae fef5b7 de7f4b3 cc9e5d780d33d5 94 9e3f2 1bf4656 147e4 1c5 63d1 76a97 9e946 6be8 9c63 c0e 2907 0df0e654 8e28 c32 c6 f8f7 7ea8e433 c9 f051 8c9 06b9a 684d9d02 5cb598 854db148 3a8024 9bc348 7e1be 4646 2d7a b f21d145b5b08 b8e1 f8 c76 f42 b4ce 759fb93 c48 e7f8a41e7 8571e 64a2 f48b0e5 c8d4 bb8 df3 fa34df8 f2c9de ba5dcb1e e30bc7d67cb1d4163 72d9 47cdab0 1c5 76b2 b2efb3 c49a2 08d258 539 bc6 96d5a 3b1a4 c49 7180 bae30 dc4 4793a3 dc5d19 4ad09 3cb5c3f9 9f2 02398 30ff2d29 b07 f39 d69e d7d2 e358bfca d25b40c5434 0e68a b4ee2 b76e0 b2a8 65300 be6e 95f4 fcb5fd1f4 934 f29e7 ee6d7cfa 31ddc0 5b49 f94 3c1 e22 f3b5 c0e4a d46 2e7c96fc5b 3f9 f11 c9f0 8a6db91a1 7118e 3de6 3e7a02 f9 c1d19137 7d0a7a 34d40ff5b8 453 f6f4e0e 59e15a9 f853 8397 40b3 e9ac33e6fc51 7d8 b739 3a5076 c67 d16e 7cc03df1 b1f0b9 fc0 46 3a67e368 0a4d3d50 cf8d5 f476 8201 e328 cbbba50 c741 ebd4f6 b2e1 0316e d218 e1d2 918 0d4204 90efb3ab05fb73 c76 f04 f402 4609 30bbbd8c70 8725 e74dc8 cf9a 5b23 c6 ce52 6d 5a2ffad28c03f5ddc8 b5b1 9f6 5a9a4 f8ff22e 5e28b515a6 e2baff25 e0185 e7457 d94 b3 6e74e1a5 eb8e 6a6629 e94dc3 b8533 4599 8a334 c325 5d17 f25 1a9f0fc09d15d4 76fc381 14dd4 024 c2f27f32d2 1896e 863 d2798 93b4 5fb87d4d3 b709a d32bf1 f855 3822 14eb1 0a 4a2b893 e6f264e6 3adfe30c144aa d9ad6 d154a 23f6b2 be48 d55b74c3677 f31a2 6752 77 Vũ Tấn Hưng Nguyễn Thị Minh Tồn Tìm hiểu ngơn ngữ lập trình Adobe Flash - Xây dựng ứng dụng minh họa MỤC LỤC Chương Tổng quan Chương FLEX 11 2.1 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.2 2.2.1 2.2.2 2.2.3 2.3 2.3.1 2.3.2 2.3.3 2.4 2.4.1 2.4.2 2.4.3 2.4.4 Giới thiệu 11 Những công nghệ ứng dụng Flex 11 Sử dụng phần tử Flex 14 Bảo mật Flash Player 15 Làm việc với dịch vụ liệu - Data services .15 Sự khác biệt ứng dụng HTML ứng dụng Flex Web 16 Cách làm việc ứng dụng Flex 16 Làm việc với liệu 17 Sử dụng mơ hình liệu 17 Kết buộc liệu 19 Kết buộc liệu cho lớp tự định nghĩa 21 Giao tiếp liệu từ xa 21 Việc yêu cầu nhận giao tiếp liệu 22 Kết nối Real-Time/ Socket 27 Tải file lên tải file xuống 27 Các thành phần giao diện 28 Khái quát 28 Khởi tạo thành phần giao diện .30 Các thuộc tính phổ biến thành phần giao diện 30 Xử lý kiện 31 6f87e 1b11a 932da b860 f81 b6 f9bdc3 2eca c777 6e0cf7 b60da 52f6cf66 b5ff294 1e747 e e1b11a9 32da b860 f81 b6f9bdc32 ecac7776 e0cf7b60da5 2f6 cf66b5ff2941e 747e 6f8 932dab860 f81b6f9 bdc32e cac7776e 0cf7b6 0da5 2f6 cf66b5ff2 941e 747e6 f87e 1b1 1a 860f8 1b6 f9bdc32eca c77 76e0 cf7 b60 da52 f6cf66 b5ff29 41e74 7e6f87e1 b11a9 32da b 2.5 2.5.1 2.5.2 2.5.3 Làm việc với Media 33 Những kiểu Media hỗ trợ Flex 33 Cách thêm Media vào ứng dụng 33 Làm việc với loại Media khác 36 f81b6f9 bdc32e cac7 776e0 cf7b6 0da52 f6 cf6 6b5ff2 941e7 47e6 f87e 1b11a 932da b86 6f9bdc3 2eca c77 76e0 cf7 b60 da52 f6cf66 b5ff294 1e74 7e6f87e1 b11a9 32dab860 f81 b dc32e cac7776 e0cf7b60da5 2f6 cf66b5ff2941e 747e 6f87 e1b1 1a932 dab8 60f81b6 f9 b 32eca c7776 e0cf7 b60da 52f6cf66b5ff2941 e747e 6f8 7e1b11a932 dab8 60f81b6 f9 bdc c7776 e0cf7b60da 52f6 cf66b5ff2941 e747e 6f8 7e1b11a932 dab8 60f81b6 f9 bdc32e ca e0cf7b60 da52 f6 cf6 6b5ff2 941e7 47e6 f87e 1b11a 932da b860 f81 b6 f9bdc3 2eca c777 2.6 2.6.1 2.6.2 2.6.3 2.6.4 2.6.5 2.6.6 2.6.7 Quản lý trạng thái 41 Khởi tạo trạng thái 42 Áp dụng trạng thái 42 Định nghĩa trạng thái dựa trạng thái có sẵn .42 Thêm bớt thành phần .43 Thiết lập thuộc tính 44 Thiết lập kiểu 45 Thiết lập điều khiển kiện - Event Handlers 45 fc3a3 f93a 08582 6d66a 60f835 d2406 ea15 f7e7 b88cbf5e9cb78 cc9e16 d1072 e24 c3ee4 7d0800 c6a8 0136 f54 da448 1c2 b397 7f6 f33 e0be 8a4b3 d678 cc5b77 828 cc3 7ae38 f66a4 9c84a7 1dc1cb825a 4f1 d7c732fb9a4 e5765 f83 10c1984 f96 1e06 cf3 fc71f185b5ad74 b fac7b7b2 0dfcfdcdf1 cf4 2b2 fc6 b5a c1e9 c4a51ae fef5b7 de7f4b3 cc9e5d780d33d5 94 9e3f2 1bf4656 147e4 1c5 63d1 76a97 9e946 6be8 9c63 c0e 2907 0df0e654 8e28 c32 c6 f8f7 7ea8e433 c9 f051 8c9 06b9a 684d9d02 5cb598 854db148 3a8024 9bc348 7e1be 4646 2d7a b f21d145b5b08 b8e1 f8 c76 f42 b4ce 759fb93 c48 e7f8a41e7 8571e 64a2 f48b0e5 c8d4 bb8 df3 fa34df8 f2c9de ba5dcb1e e30bc7d67cb1d4163 72d9 47cdab0 1c5 76b2 b2efb3 c49a2 08d258 539 bc6 96d5a 3b1a4 c49 7180 bae30 dc4 4793a3 dc5d19 4ad09 3cb5c3f9 9f2 02398 30ff2d29 b07 f39 d69e d7d2 e358bfca d25b40c5434 0e68a b4ee2 b76e0 b2a8 65300 be6e 95f4 fcb5fd1f4 934 f29e7 ee6d7cfa 31ddc0 5b49 f94 3c1 e22 f3b5 c0e4a d46 2e7c96fc5b 2.7 2.7.1 2.7.2 Sử dụng hiệu ứng chuyển tiếp trạng thái 46 Sử dụng hiệu ứng 46 Transitions - Sự chuyển tiếp trạng thái 49 Chương ActionScript 51 3f9 f11 c9f0 8a6db91a1 7118e 3de6 3e7a02 f9 c1d19137 7d0a7a 34d40ff5b8 453 f6f4e0e 59e15a9 f853 8397 40b3 e9ac33e6fc51 7d8 b739 3a5076 c67 d16e 7cc03df1 b1f0b9 fc0 46 3a67e368 0a4d3d50 cf8d5 f476 8201 e328 cbbba50 c741 ebd4f6 b2e1 0316e d218 e1d2 918 0d4204 90efb3ab05fb73 c76 f04 f402 4609 30bbbd8c70 8725 e74dc8 cf9a 5b23 c6 ce52 6d 5a2ffad28c03f5ddc8 b5b1 9f6 5a9a4 f8ff22e 5e28b515a6 e2baff25 e0185 e7457 d94 b3 6e74e1a5 eb8e 6a6629 e94dc3 b8533 4599 8a334 c325 5d17 f25 1a9f0fc09d15d4 76fc381 14dd4 024 c2f27f32d2 1896e 863 d2798 93b4 5fb87d4d3 b709a d32bf1 f855 3822 14eb1 0a 4a2b893 e6f264e6 3adfe30c144aa d9ad6 d154a 23f6b2 be48 d55b74c3677 f31a2 6752 77 3.1 Giới thiệu 51 Vũ Tấn Hưng Nguyễn Thị Minh Tồn Tìm hiểu ngơn ngữ lập trình Adobe Flash - Xây dựng ứng dụng minh họa 3.2 3.2.1 3.2.2 3.2.3 3.3 3.3.1 3.3.2 3.3.3 3.3.4 3.3.5 3.4 3.4.1 3.4.2 3.4.3 3.5 3.5.1 3.5.2 3.5.3 3.5.4 3.5.5 3.5.6 3.5.7 3.5.8 Các thành phần ActionScript 51 Lớp đối tượng 51 Packages 53 Hàm biến 53 Sự kiện xử lý kiện 57 Sự kiện ActionScript 57 Đăng ký phương thức đăng ký kiện - Event listener 58 Hủy đăng ký phương thức đăng ký kiện - Event listener 61 Đối tượng Target 61 Quyền ưu tiên phương thức đăng ký kiện - Event Listener 61 ActionScript động 62 Biến động .63 Tự động thêm hành vi cho thể 63 Tham chiếu động cho biến phương thức 64 XML E4X 65 Dữ liệu phân cấp XML 65 Truy cập liệu XML 67 Thao tác liệu XML với câu lệnh for-each-in for-in 69 Trích lọc liệu XML 69 Thay đổi tạo nội dung XML 71 Thêm thuộc tính thành phần 72 Xóa thành phần thuộc tính 73 Nạp liệu XML 73 Chương Ứng dụng 75 4.1 Giới thiệu ứng dụng 75 4.2 Yêu cầu chức 75 6f87e 1b11a 932da b860 f81 b6 f9bdc3 2eca c777 6e0cf7 b60da 52f6cf66 b5ff294 1e747 e e1b11a9 32da b860 f81 b6f9bdc32 ecac7776 e0cf7b60da5 2f6 cf66b5ff2941e 747e 6f8 4.3 Yêu cầu phi chức 76 932dab860 f81b6f9 bdc32e cac7776e 0cf7b6 0da5 2f6 cf66b5ff2 941e 747e6 f87e 1b1 1a 860f8 1b6 f9bdc32eca c77 76e0 cf7 b60 da52 f6cf66 b5ff29 41e74 7e6f87e1 b11a9 32da b 4.4 Mơ hình use case 76 4.5 Mô tả ứng dụng 77 f81b6f9 bdc32e cac7 776e0 cf7b6 0da52 f6 cf6 6b5ff2 941e7 47e6 f87e 1b11a 932da b86 6f9bdc3 2eca c77 76e0 cf7 b60 da52 f6cf66 b5ff294 1e74 7e6f87e1 b11a9 32dab860 f81 b dc32e cac7776 e0cf7b60da5 2f6 cf66b5ff2941e 747e 6f87 e1b1 1a932 dab8 60f81b6 f9 b 4.5.1 4.5.2 4.5.3 4.5.4 4.5.5 Màn hình đăng nhập 77 Màn hình đăng ký 79 Màn hình quản lý 80 Màn hình xem ảnh 86 Màn hình tạo slideshow 90 32eca c7776 e0cf7 b60da 52f6cf66b5ff2941 e747e 6f8 7e1b11a932 dab8 60f81b6 f9 bdc c7776 e0cf7b60da 52f6 cf66b5ff2941 e747e 6f8 7e1b11a932 dab8 60f81b6 f9 bdc32e ca e0cf7b60 da52 f6 cf6 6b5ff2 941e7 47e6 f87e 1b11a 932da b860 f81 b6 f9bdc3 2eca c777 fc3a3 f93a 08582 6d66a 60f835 d2406 ea15 f7e7 b88cbf5e9cb78 cc9e16 d1072 e24 c3ee4 7d0800 c6a8 0136 f54 da448 1c2 b397 7f6 f33 e0be 8a4b3 d678 cc5b77 828 cc3 7ae38 f66a4 9c84a7 1dc1cb825a 4f1 d7c732fb9a4 e5765 f83 10c1984 f96 1e06 cf3 fc71f185b5ad74 b fac7b7b2 0dfcfdcdf1 cf4 2b2 fc6 b5a c1e9 c4a51ae fef5b7 de7f4b3 cc9e5d780d33d5 94 9e3f2 1bf4656 147e4 1c5 63d1 76a97 9e946 6be8 9c63 c0e 2907 0df0e654 8e28 c32 c6 f8f7 7ea8e433 c9 f051 8c9 06b9a 684d9d02 5cb598 854db148 3a8024 9bc348 7e1be 4646 2d7a b 4.6 4.6.1 4.6.2 4.6.3 Cơ sở liệu 93 Mơ hình quan hệ 93 Thuyết minh mơ hình quan hệ thuộc tính 94 Mơ tả ràng buộc khóa .95 Chương Tổng kết 96 f21d145b5b08 b8e1 f8 c76 f42 b4ce 759fb93 c48 e7f8a41e7 8571e 64a2 f48b0e5 c8d4 bb8 df3 fa34df8 f2c9de ba5dcb1e e30bc7d67cb1d4163 72d9 47cdab0 1c5 76b2 b2efb3 c49a2 08d258 539 bc6 96d5a 3b1a4 c49 7180 bae30 dc4 4793a3 dc5d19 4ad09 3cb5c3f9 9f2 02398 30ff2d29 b07 f39 d69e d7d2 e358bfca d25b40c5434 0e68a b4ee2 b76e0 b2a8 65300 be6e 95f4 fcb5fd1f4 934 f29e7 ee6d7cfa 31ddc0 5b49 f94 3c1 e22 f3b5 c0e4a d46 2e7c96fc5b 3f9 f11 c9f0 8a6db91a1 7118e 3de6 3e7a02 f9 c1d19137 7d0a7a 34d40ff5b8 453 f6f4e0e 59e15a9 f853 8397 40b3 e9ac33e6fc51 7d8 b739 3a5076 c67 d16e 7cc03df1 b1f0b9 fc0 46 Chương Danh mục tài liệu tham khảo 97 3a67e368 0a4d3d50 cf8d5 f476 8201 e328 cbbba50 c741 ebd4f6 b2e1 0316e d218 e1d2 918 0d4204 90efb3ab05fb73 c76 f04 f402 4609 30bbbd8c70 8725 e74dc8 cf9a 5b23 c6 ce52 6d 5a2ffad28c03f5ddc8 b5b1 9f6 5a9a4 f8ff22e 5e28b515a6 e2baff25 e0185 e7457 d94 b3 Chương Phụ lục 98 6e74e1a5 eb8e 6a6629 e94dc3 b8533 4599 8a334 c325 5d17 f25 1a9f0fc09d15d4 76fc381 14dd4 024 c2f27f32d2 1896e 863 d2798 93b4 5fb87d4d3 b709a d32bf1 f855 3822 14eb1 0a Phần 1: FLEX 98 Vũ Tấn Hưng Nguyễn Thị Minh Toàn 4a2b893 e6f264e6 3adfe30c144aa d9ad6 d154a 23f6b2 be48 d55b74c3677 f31a2 6752 77 Tìm hiểu ngơn ngữ lập trình Adobe Flash - Xây dựng ứng dụng minh họa 7.1 Các kiện hiệu ứng 98 7.2 Chuẩn hóa định dạng liệu 99 7.2.1 7.2.2 7.3 Chuẩn hóa liệu người dùng nhập vào .99 Định dạng liệu 101 Tùy biến giao diện 102 7.3.1 7.3.2 7.3.3 7.3.4 Sử dụng Style 102 Sử dụng Skin .102 Dùng Themes .103 CSS thực thi .104 Phần 2: ActionScript 105 7.4 Điều kiện – Vịng lập – Tốn tử 105 7.4.1 Điều kiện 105 7.5 Phương thức tĩnh biến tĩnh 106 7.6 Kế thừa 106 7.6.1 7.6.2 7.6.3 7.6.4 7.7 Tái định nghĩa – ghi đè phương thức 107 Phương thức Super() 108 Ngăn chặn kế thừa phương thức định nghĩa lại .108 Composition .109 Interfaces 109 7.7.1 7.7.2 7.7.3 7.8 Tại phải dùng Interface? 110 Cú pháp cách sử dụng interface 110 Kế thừa interface 111 Mảng 112 7.8.1 7.8.2 7.8.3 7.8.4 Thêm phần tử vào mảng 112 Xóa bỏ phần tử mảng: 114 Phương thức toString(): .114 Mảng đa chiều .115 6f87e 1b11a 932da b860 f81 b6 f9bdc3 2eca c777 6e0cf7 b60da 52f6cf66 b5ff294 1e747 e e1b11a9 32da b860 f81 b6f9bdc32 ecac7776 e0cf7b60da5 2f6 cf66b5ff2941e 747e 6f8 932dab860 f81b6f9 bdc32e cac7776e 0cf7b6 0da5 2f6 cf66b5ff2 941e 747e6 f87e 1b1 1a 860f8 1b6 f9bdc32eca c77 76e0 cf7 b60 da52 f6cf66 b5ff29 41e74 7e6f87e1 b11a9 32da b f81b6f9 bdc32e cac7 776e0 cf7b6 0da52 f6 cf6 6b5ff2 941e7 47e6 f87e 1b11a 932da b86 6f9bdc3 2eca c77 76e0 cf7 b60 da52 f6cf66 b5ff294 1e74 7e6f87e1 b11a9 32dab860 f81 b dc32e cac7776 e0cf7b60da5 2f6 cf66b5ff2941e 747e 6f87 e1b1 1a932 dab8 60f81b6 f9 b 32eca c7776 e0cf7 b60da 52f6cf66b5ff2941 e747e 6f8 7e1b11a932 dab8 60f81b6 f9 bdc 7.9 Xử lý lỗi 115 c7776 e0cf7b60da 52f6 cf66b5ff2941 e747e 6f8 7e1b11a932 dab8 60f81b6 f9 bdc32e ca e0cf7b60 da52 f6 cf6 6b5ff2 941e7 47e6 f87e 1b11a 932da b860 f81 b6 f9bdc3 2eca c777 fc3a3 f93a 08582 6d66a 60f835 d2406 ea15 f7e7 b88cbf5e9cb78 cc9e16 d1072 e24 c3ee4 7.10 XML E4X 116 7.10.1 7.10.2 7.10.3 7.10.4 7.10.5 Truy cập nút văn 116 Truy cập nút cha 117 Truy cập nút anh em 118 Truy cập thuộc tính 118 Truy cập nút hậu duệ .119 7d0800 c6a8 0136 f54 da448 1c2 b397 7f6 f33 e0be 8a4b3 d678 cc5b77 828 cc3 7ae38 f66a4 9c84a7 1dc1cb825a 4f1 d7c732fb9a4 e5765 f83 10c1984 f96 1e06 cf3 fc71f185b5ad74 b fac7b7b2 0dfcfdcdf1 cf4 2b2 fc6 b5a c1e9 c4a51ae fef5b7 de7f4b3 cc9e5d780d33d5 94 9e3f2 1bf4656 147e4 1c5 63d1 76a97 9e946 6be8 9c63 c0e 2907 0df0e654 8e28 c32 c6 f8f7 7ea8e433 c9 f051 8c9 06b9a 684d9d02 5cb598 854db148 3a8024 9bc348 7e1be 4646 2d7a b f21d145b5b08 b8e1 f8 c76 f42 b4ce 759fb93 c48 e7f8a41e7 8571e 64a2 f48b0e5 c8d4 bb8 df3 fa34df8 f2c9de ba5dcb1e e30bc7d67cb1d4163 72d9 47cdab0 1c5 76b2 b2efb3 c49a2 08d258 539 bc6 96d5a 3b1a4 c49 7180 bae30 dc4 4793a3 dc5d19 4ad09 3cb5c3f9 9f2 02398 30ff2d29 b07 f39 d69e d7d2 e358bfca d25b40c5434 0e68a b4ee2 b76e0 b2a8 65300 be6e 95f4 fcb5fd1f4 934 f29e7 ee6d7cfa 31ddc0 5b49 f94 3c1 e22 f3b5 c0e4a d46 2e7c96fc5b 3f9 f11 c9f0 8a6db91a1 7118e 3de6 3e7a02 f9 c1d19137 7d0a7a 34d40ff5b8 453 f6f4e0e 59e15a9 f853 8397 40b3 e9ac33e6fc51 7d8 b739 3a5076 c67 d16e 7cc03df1 b1f0b9 fc0 46 3a67e368 0a4d3d50 cf8d5 f476 8201 e328 cbbba50 c741 ebd4f6 b2e1 0316e d218 e1d2 918 0d4204 90efb3ab05fb73 c76 f04 f402 4609 30bbbd8c70 8725 e74dc8 cf9a 5b23 c6 ce52 6d 5a2ffad28c03f5ddc8 b5b1 9f6 5a9a4 f8ff22e 5e28b515a6 e2baff25 e0185 e7457 d94 b3 6e74e1a5 eb8e 6a6629 e94dc3 b8533 4599 8a334 c325 5d17 f25 1a9f0fc09d15d4 76fc381 14dd4 024 c2f27f32d2 1896e 863 d2798 93b4 5fb87d4d3 b709a d32bf1 f855 3822 14eb1 0a 4a2b893 e6f264e6 3adfe30c144aa d9ad6 d154a 23f6b2 be48 d55b74c3677 f31a2 6752 77 Vũ Tấn Hưng Nguyễn Thị Minh Toàn Tìm hiểu ngơn ngữ lập trình Adobe Flash - Xây dựng ứng dụng minh họa DANH MỤC CÁC BẢNG Bảng 1: Các thành phần giao diện 29 Bảng 2: Một số kiện thành phần chuẩn Flex 33 Bảng 3: Những kiểu media hỗ trợ Flex .33 Bảng : Một số hiệu ứng 46 Bảng 5: Các lớp tự nhiên ActionScript 52 Bảng 6: Điều khiển truy xuất biến .54 Bảng 7: Điều khiển truy xuất hàm 54 Bảng 8: Mơ tả chi tiết hình đăng nhập 77 Bảng 9: Mô tả chi tiết hình đăng ký 80 Bảng 10: Mô tả chi tiết hình quản lý 83 Bảng 11: Mơ tả chi tiết hình xem ảnh dạng thumbnail 87 Bảng 12: Mơ tả chi tiết hình xem ảnh dạng carousel 87 Bảng 13: Mô tả chi tiết hình xem ảnh dạng list 89 6f87e 1b11a 932da b860 f81 b6 f9bdc3 2eca c777 6e0cf7 b60da 52f6cf66 b5ff294 1e747 e e1b11a9 32da b860 f81 b6f9bdc32 ecac7776 e0cf7b60da5 2f6 cf66b5ff2941e 747e 6f8 Bảng 14: Mơ tả chi tiết hình xem thơng tin ảnh 89 Bảng 15: Mơ tả chi tiết hình tạo slideshow 91 932dab860 f81b6f9 bdc32e cac7776e 0cf7b6 0da5 2f6 cf66b5ff2 941e 747e6 f87e 1b1 1a 860f8 1b6 f9bdc32eca c77 76e0 cf7 b60 da52 f6cf66 b5ff29 41e74 7e6f87e1 b11a9 32da b f81b6f9 bdc32e cac7 776e0 cf7b6 0da52 f6 cf6 6b5ff2 941e7 47e6 f87e 1b11a 932da b86 6f9bdc3 2eca c77 76e0 cf7 b60 da52 f6cf66 b5ff294 1e74 7e6f87e1 b11a9 32dab860 f81 b dc32e cac7776 e0cf7b60da5 2f6 cf66b5ff2941e 747e 6f87 e1b1 1a932 dab8 60f81b6 f9 b Bảng 16:Thuyết minh bảng NGUOIDUNG 94 32eca c7776 e0cf7 b60da 52f6cf66b5ff2941 e747e 6f8 7e1b11a932 dab8 60f81b6 f9 bdc c7776 e0cf7b60da 52f6 cf66b5ff2941 e747e 6f8 7e1b11a932 dab8 60f81b6 f9 bdc32e ca Bảng 17:Thuyết minh bảng HINH 94 e0cf7b60 da52 f6 cf6 6b5ff2 941e7 47e6 f87e 1b11a 932da b860 f81 b6 f9bdc3 2eca c777 fc3a3 f93a 08582 6d66a 60f835 d2406 ea15 f7e7 b88cbf5e9cb78 cc9e16 d1072 e24 c3ee4 7d0800 c6a8 0136 f54 da448 1c2 b397 7f6 f33 e0be 8a4b3 d678 cc5b77 828 cc3 7ae38 f66a4 Bảng 18:Thuyết minh bảng ALBUM 94 9c84a7 1dc1cb825a 4f1 d7c732fb9a4 e5765 f83 10c1984 f96 1e06 cf3 fc71f185b5ad74 b fac7b7b2 0dfcfdcdf1 cf4 2b2 fc6 b5a c1e9 c4a51ae fef5b7 de7f4b3 cc9e5d780d33d5 94 Bảng 19:Thuyết minh bảng CHITIETALBUM 95 Bảng 20: Mô tả ràng buộc khóa 95 9e3f2 1bf4656 147e4 1c5 63d1 76a97 9e946 6be8 9c63 c0e 2907 0df0e654 8e28 c32 c6 f8f7 7ea8e433 c9 f051 8c9 06b9a 684d9d02 5cb598 854db148 3a8024 9bc348 7e1be 4646 2d7a b f21d145b5b08 b8e1 f8 c76 f42 b4ce 759fb93 c48 e7f8a41e7 8571e 64a2 f48b0e5 c8d4 bb8 df3 fa34df8 f2c9de ba5dcb1e e30bc7d67cb1d4163 72d9 47cdab0 1c5 76b2 b2efb3 c49a2 08d258 539 bc6 96d5a 3b1a4 c49 7180 bae30 dc4 4793a3 dc5d19 4ad09 3cb5c3f9 9f2 02398 Bảng 21: Mơ tả ràng buộc khóa ngoại 95 30ff2d29 b07 f39 d69e d7d2 e358bfca d25b40c5434 0e68a b4ee2 b76e0 b2a8 65300 be6e 95f4 fcb5fd1f4 934 f29e7 ee6d7cfa 31ddc0 5b49 f94 3c1 e22 f3b5 c0e4a d46 2e7c96fc5b 3f9 f11 c9f0 8a6db91a1 7118e 3de6 3e7a02 f9 c1d19137 7d0a7a 34d40ff5b8 453 f6f4e0e 59e15a9 f853 8397 40b3 e9ac33e6fc51 7d8 b739 3a5076 c67 d16e 7cc03df1 b1f0b9 fc0 46 3a67e368 0a4d3d50 cf8d5 f476 8201 e328 cbbba50 c741 ebd4f6 b2e1 0316e d218 e1d2 918 0d4204 90efb3ab05fb73 c76 f04 f402 4609 30bbbd8c70 8725 e74dc8 cf9a 5b23 c6 ce52 6d 5a2ffad28c03f5ddc8 b5b1 9f6 5a9a4 f8ff22e 5e28b515a6 e2baff25 e0185 e7457 d94 b3 6e74e1a5 eb8e 6a6629 e94dc3 b8533 4599 8a334 c325 5d17 f25 1a9f0fc09d15d4 76fc381 14dd4 024 c2f27f32d2 1896e 863 d2798 93b4 5fb87d4d3 b709a d32bf1 f855 3822 14eb1 0a 4a2b893 e6f264e6 3adfe30c144aa d9ad6 d154a 23f6b2 be48 d55b74c3677 f31a2 6752 77 Vũ Tấn Hưng Nguyễn Thị Minh Tồn Tìm hiểu ngơn ngữ lập trình Adobe Flash - Xây dựng ứng dụng minh họa DANH MỤC CÁC HÌNH Hình 1: Silverlight .8 Hình 2: Flex .9 Hình 3: Những ứng dụng sử dụng cơng nghệ Flex 10 Hình 4: Flex SDK 11 Hình 5: Flex Framework 12 Hình 6: Flex Builder 13 Hình 7: Mơ hình nguồn – biên dịch – triển khai ứng dụng Flex 16 Hình 8: Mối quan hệ thành phần giao diện lớp Flash Player 29 Hình 9: Mơ hình use case 76 Hình 10: Màn hình đăng nhập .77 Hình 11: Màn hình đăng ký 79 Hình 12: Màn hình quản lý 81 Hình 13: Màn hình xem ảnh dạng thumbnail 86 6f87e 1b11a 932da b860 f81 b6 f9bdc3 2eca c777 6e0cf7 b60da 52f6cf66 b5ff294 1e747 e e1b11a9 32da b860 f81 b6f9bdc32 ecac7776 e0cf7b60da5 2f6 cf66b5ff2941e 747e 6f8 Hình 14: Màn hình xem ảnh dạng carousel 87 Hình 15: Màn hình xem ảnh dạng list 88 932dab860 f81b6f9 bdc32e cac7776e 0cf7b6 0da5 2f6 cf66b5ff2 941e 747e6 f87e 1b1 1a 860f8 1b6 f9bdc32eca c77 76e0 cf7 b60 da52 f6cf66 b5ff29 41e74 7e6f87e1 b11a9 32da b f81b6f9 bdc32e cac7 776e0 cf7b6 0da52 f6 cf6 6b5ff2 941e7 47e6 f87e 1b11a 932da b86 6f9bdc3 2eca c77 76e0 cf7 b60 da52 f6cf66 b5ff294 1e74 7e6f87e1 b11a9 32dab860 f81 b dc32e cac7776 e0cf7b60da5 2f6 cf66b5ff2941e 747e 6f87 e1b1 1a932 dab8 60f81b6 f9 b Hình 16: Màn hình xem thơng tin ảnh 89 32eca c7776 e0cf7 b60da 52f6cf66b5ff2941 e747e 6f8 7e1b11a932 dab8 60f81b6 f9 bdc c7776 e0cf7b60da 52f6 cf66b5ff2941 e747e 6f8 7e1b11a932 dab8 60f81b6 f9 bdc32e ca Hình 17: Màn hình tạo slideshow 90 e0cf7b60 da52 f6 cf6 6b5ff2 941e7 47e6 f87e 1b11a 932da b860 f81 b6 f9bdc3 2eca c777 fc3a3 f93a 08582 6d66a 60f835 d2406 ea15 f7e7 b88cbf5e9cb78 cc9e16 d1072 e24 c3ee4 7d0800 c6a8 0136 f54 da448 1c2 b397 7f6 f33 e0be 8a4b3 d678 cc5b77 828 cc3 7ae38 f66a4 Hình 18: Mơ hình quan hệ 93 9c84a7 1dc1cb825a 4f1 d7c732fb9a4 e5765 f83 10c1984 f96 1e06 cf3 fc71f185b5ad74 b fac7b7b2 0dfcfdcdf1 cf4 2b2 fc6 b5a c1e9 c4a51ae fef5b7 de7f4b3 cc9e5d780d33d5 94 9e3f2 1bf4656 147e4 1c5 63d1 76a97 9e946 6be8 9c63 c0e 2907 0df0e654 8e28 c32 c6 f8f7 7ea8e433 c9 f051 8c9 06b9a 684d9d02 5cb598 854db148 3a8024 9bc348 7e1be 4646 2d7a b f21d145b5b08 b8e1 f8 c76 f42 b4ce 759fb93 c48 e7f8a41e7 8571e 64a2 f48b0e5 c8d4 bb8 df3 fa34df8 f2c9de ba5dcb1e e30bc7d67cb1d4163 72d9 47cdab0 1c5 76b2 b2efb3 c49a2 08d258 539 bc6 96d5a 3b1a4 c49 7180 bae30 dc4 4793a3 dc5d19 4ad09 3cb5c3f9 9f2 02398 30ff2d29 b07 f39 d69e d7d2 e358bfca d25b40c5434 0e68a b4ee2 b76e0 b2a8 65300 be6e 95f4 fcb5fd1f4 934 f29e7 ee6d7cfa 31ddc0 5b49 f94 3c1 e22 f3b5 c0e4a d46 2e7c96fc5b 3f9 f11 c9f0 8a6db91a1 7118e 3de6 3e7a02 f9 c1d19137 7d0a7a 34d40ff5b8 453 f6f4e0e 59e15a9 f853 8397 40b3 e9ac33e6fc51 7d8 b739 3a5076 c67 d16e 7cc03df1 b1f0b9 fc0 46 3a67e368 0a4d3d50 cf8d5 f476 8201 e328 cbbba50 c741 ebd4f6 b2e1 0316e d218 e1d2 918 0d4204 90efb3ab05fb73 c76 f04 f402 4609 30bbbd8c70 8725 e74dc8 cf9a 5b23 c6 ce52 6d 5a2ffad28c03f5ddc8 b5b1 9f6 5a9a4 f8ff22e 5e28b515a6 e2baff25 e0185 e7457 d94 b3 6e74e1a5 eb8e 6a6629 e94dc3 b8533 4599 8a334 c325 5d17 f25 1a9f0fc09d15d4 76fc381 14dd4 024 c2f27f32d2 1896e 863 d2798 93b4 5fb87d4d3 b709a d32bf1 f855 3822 14eb1 0a 4a2b893 e6f264e6 3adfe30c144aa d9ad6 d154a 23f6b2 be48 d55b74c3677 f31a2 6752 77 Vũ Tấn Hưng Nguyễn Thị Minh Tồn Tìm hiểu ngơn ngữ lập trình Adobe Flash - Xây dựng ứng dụng minh họa TÓM TẮT KHÓA LUẬN Nội dung khóa luận chia làm chương: Chương 1: Tổng quan Phân tích đánh giá hướng nghiên cứu có liên quan đến đề tài Lí chọn đề tài, mục đích, đối tượng phạm vi nghiên cứu Chương 2: Tìm hiểu cơng nghệ Flex Giới thiệu cơng nghệ Flex Lí chọn công nghệ Flex để triển khai ứng dụng với ưu khuyết điểm Flex Các kỹ thuật cơng nghệ Flex Chương 3: Tìm hiểu ngơn ngữ ActionScript Giới thiệu ngôn ngữ ActionScript Các thành phần kỹ thuật ActionScript Chương 4: Mô tả ứng dụng Giới thiệu ứng dụng Các yêu cầu ứng dụng 6f87e 1b11a 932da b860 f81 b6 f9bdc3 2eca c777 6e0cf7 b60da 52f6cf66 b5ff294 1e747 e e1b11a9 32da b860 f81 b6f9bdc32 ecac7776 e0cf7b60da5 2f6 cf66b5ff2941e 747e 6f8 Phân tích ứng dụng theo mơ hình UML (Unified Model Language) Một số thành phần, đối tượng kỹ thuật tiêu biểu sử dụng ứng dụng 932dab860 f81b6f9 bdc32e cac7776e 0cf7b6 0da5 2f6 cf66b5ff2 941e 747e6 f87e 1b1 1a 860f8 1b6 f9bdc32eca c77 76e0 cf7 b60 da52 f6cf66 b5ff29 41e74 7e6f87e1 b11a9 32da b f81b6f9 bdc32e cac7 776e0 cf7b6 0da52 f6 cf6 6b5ff2 941e7 47e6 f87e 1b11a 932da b86 6f9bdc3 2eca c77 76e0 cf7 b60 da52 f6cf66 b5ff294 1e74 7e6f87e1 b11a9 32dab860 f81 b dc32e cac7776 e0cf7b60da5 2f6 cf66b5ff2941e 747e 6f87 e1b1 1a932 dab8 60f81b6 f9 b Chương 5: Tổng kết 32eca c7776 e0cf7 b60da 52f6cf66b5ff2941 e747e 6f8 7e1b11a932 dab8 60f81b6 f9 bdc c7776 e0cf7b60da 52f6 cf66b5ff2941 e747e 6f8 7e1b11a932 dab8 60f81b6 f9 bdc32e ca Tổng kết kết đạt mặt hạn chế đề tài đồng thời đưa e0cf7b60 da52 f6 cf6 6b5ff2 941e7 47e6 f87e 1b11a 932da b860 f81 b6 f9bdc3 2eca c777 fc3a3 f93a 08582 6d66a 60f835 d2406 ea15 f7e7 b88cbf5e9cb78 cc9e16 d1072 e24 c3ee4 7d0800 c6a8 0136 f54 da448 1c2 b397 7f6 f33 e0be 8a4b3 d678 cc5b77 828 cc3 7ae38 f66a4 hướng phát triển cho hệ thống sau 9c84a7 1dc1cb825a 4f1 d7c732fb9a4 e5765 f83 10c1984 f96 1e06 cf3 fc71f185b5ad74 b fac7b7b2 0dfcfdcdf1 cf4 2b2 fc6 b5a c1e9 c4a51ae fef5b7 de7f4b3 cc9e5d780d33d5 94 Chương 6: Danh mục tài liệu tham khảo 9e3f2 1bf4656 147e4 1c5 63d1 76a97 9e946 6be8 9c63 c0e 2907 0df0e654 8e28 c32 c6 f8f7 7ea8e433 c9 f051 8c9 06b9a 684d9d02 5cb598 854db148 3a8024 9bc348 7e1be 4646 2d7a b f21d145b5b08 b8e1 f8 c76 f42 b4ce 759fb93 c48 e7f8a41e7 8571e 64a2 f48b0e5 c8d4 bb8 Chương 7: Phụ lục df3 fa34df8 f2c9de ba5dcb1e e30bc7d67cb1d4163 72d9 47cdab0 1c5 76b2 b2efb3 c49a2 08d258 539 bc6 96d5a 3b1a4 c49 7180 bae30 dc4 4793a3 dc5d19 4ad09 3cb5c3f9 9f2 02398 Giới thiệu thêm số thành phần kỹ thuật ActionScript Flex 30ff2d29 b07 f39 d69e d7d2 e358bfca d25b40c5434 0e68a b4ee2 b76e0 b2a8 65300 be6e 95f4 fcb5fd1f4 934 f29e7 ee6d7cfa 31ddc0 5b49 f94 3c1 e22 f3b5 c0e4a d46 2e7c96fc5b 3f9 f11 c9f0 8a6db91a1 7118e 3de6 3e7a02 f9 c1d19137 7d0a7a 34d40ff5b8 453 f6f4e0e 59e15a9 f853 8397 40b3 e9ac33e6fc51 7d8 b739 3a5076 c67 d16e 7cc03df1 b1f0b9 fc0 46 3a67e368 0a4d3d50 cf8d5 f476 8201 e328 cbbba50 c741 ebd4f6 b2e1 0316e d218 e1d2 918 0d4204 90efb3ab05fb73 c76 f04 f402 4609 30bbbd8c70 8725 e74dc8 cf9a 5b23 c6 ce52 6d 5a2ffad28c03f5ddc8 b5b1 9f6 5a9a4 f8ff22e 5e28b515a6 e2baff25 e0185 e7457 d94 b3 6e74e1a5 eb8e 6a6629 e94dc3 b8533 4599 8a334 c325 5d17 f25 1a9f0fc09d15d4 76fc381 14dd4 024 c2f27f32d2 1896e 863 d2798 93b4 5fb87d4d3 b709a d32bf1 f855 3822 14eb1 0a 4a2b893 e6f264e6 3adfe30c144aa d9ad6 d154a 23f6b2 be48 d55b74c3677 f31a2 6752 77 Vũ Tấn Hưng Nguyễn Thị Minh Toàn Tìm hiểu ngơn ngữ lập trình Adobe Flash - Xây dựng ứng dụng minh họa Chương Tổng quan Trong thời gian gần đây, hạ tầng CNTT phát triển với băng thông kết nối Internet rộng triển khai đại trà dẫn đến nhu cầu sử dụng ứng dụng trực tuyến (RIA: Rich Internet Appliacation) gia tăng mạnh mẽ RIA ứng dụng triển khai Web, thi hành trình duyện Web có tính đặc điểm ứng dụng máy đơn thông thường (Desktop Application) Những ưu điểm chương trình RIA người dùng khơng cần cài đặt chương trình, việc cập nhật chương trình dễ dàng, nhanh chóng, người dùng sử dụng chương trình từ máy tính có kết nối Internet,vv… RIA làm mờ ranh giới ứng dụng desktop trực tuyến Đây cho tương lai ứng dụng trực tuyến Để tạo RIA, nhà phát triển sử dụng giải pháp sauc: Một dùng DHTML (gồm HTML, CSS, Javascript) kết hợp với AJAX Đây công cụ mạnh, nhiên HTML cơng cụ trình diễn, mà chuẩn tài liệu Javascript chưa đủ mạnh, thiếu chặt chẽ DHTML thường gặp vấn đề tương thích với trình duyệt 6f87e 1b11a 932da b860 f81 b6 f9bdc3 2eca c777 6e0cf7 b60da 52f6cf66 b5ff294 1e747 e Giải pháp thứ hai sử dụng công nghệ SilverLight e1b11a9 32da b860 f81 b6f9bdc32 ecac7776 e0cf7b60da5 2f6 cf66b5ff2941e 747e 6f8 932dab860 f81b6f9 bdc32e cac7776e 0cf7b6 0da5 2f6 cf66b5ff2 941e 747e6 f87e 1b1 1a Microsoft, plug-in hoạt động đa 860f8 1b6 f9bdc32eca c77 76e0 cf7 b60 da52 f6cf66 b5ff29 41e74 7e6f87e1 b11a9 32da b f81b6f9 bdc32e cac7 776e0 cf7b6 0da52 f6 cf6 6b5ff2 941e7 47e6 f87e 1b11a 932da b86 6f9bdc3 2eca c77 76e0 cf7 b60 da52 f6cf66 b5ff294 1e74 7e6f87e1 b11a9 32dab860 f81 b tảng, đa trình duyệt cho chuyên gia phát triển dc32e cac7776 e0cf7b60da5 2f6 cf66b5ff2941e 747e 6f87 e1b1 1a932 dab8 60f81b6 f9 b 32eca c7776 e0cf7 b60da 52f6cf66b5ff2941 e747e 6f8 7e1b11a932 dab8 60f81b6 f9 bdc ứng dụng Plug-in cho phép phát triển c7776 e0cf7b60da 52f6 cf66b5ff2941 e747e 6f8 7e1b11a932 dab8 60f81b6 f9 bdc32e ca e0cf7b60 da52 f6 cf6 6b5ff2 941e7 47e6 f87e 1b11a 932da b860 f81 b6 f9bdc3 2eca c777 ứng dụng cách phong phú gồm có media, khả fc3a3 f93a 08582 6d66a 60f835 d2406 ea15 f7e7 b88cbf5e9cb78 cc9e16 d1072 e24 c3ee4 7d0800 c6a8 0136 f54 da448 1c2 b397 7f6 f33 e0be 8a4b3 d678 cc5b77 828 cc3 7ae38 f66a4 9c84a7 1dc1cb825a 4f1 d7c732fb9a4 e5765 f83 10c1984 f96 1e06 cf3 fc71f185b5ad74 b tương tác hoạt ảnh Silverlight plug-in fac7b7b2 0dfcfdcdf1 cf4 2b2 fc6 b5a c1e9 c4a51ae fef5b7 de7f4b3 cc9e5d780d33d5 94 9e3f2 1bf4656 147e4 1c5 63d1 76a97 9e946 6be8 9c63 c0e 2907 0df0e654 8e28 c32 c6 f8f7 làm việc trình duyệt Internet Explorer 7ea8e433 c9 f051 8c9 06b9a 684d9d02 5cb598 854db148 3a8024 9bc348 7e1be 4646 2d7a b f21d145b5b08 b8e1 f8 c76 f42 b4ce 759fb93 c48 e7f8a41e7 8571e 64a2 f48b0e5 c8d4 bb8 df3 fa34df8 f2c9de ba5dcb1e e30bc7d67cb1d4163 72d9 47cdab0 1c5 76b2 b2efb3 c49a2 Firefox Windows Firefox trình 08d258 539 bc6 96d5a 3b1a4 c49 7180 bae30 dc4 4793a3 dc5d19 4ad09 3cb5c3f9 9f2 02398 30ff2d29 b07 f39 d69e d7d2 e358bfca d25b40c5434 0e68a b4ee2 b76e0 b2a8 65300 be6e duyệt Safari hệ điều hành Mac 95f4 fcb5fd1f4 934 f29e7 ee6d7cfa 31ddc0 5b49 f94 3c1 e22 f3b5 c0e4a d46 2e7c96fc5b 3f9 f11 c9f0 8a6db91a1 7118e 3de6 3e7a02 f9 c1d19137 7d0a7a 34d40ff5b8 453 f6f4e0e Hình 1: Silverlight 59e15a9 f853 8397 40b3 e9ac33e6fc51 7d8 b739 3a5076 c67 d16e 7cc03df1 b1f0b9 fc0 46 3a67e368 0a4d3d50 cf8d5 f476 8201 e328 cbbba50 c741 ebd4f6 b2e1 0316e d218 e1d2 918 0d4204 90efb3ab05fb73 c76 f04 f402 4609 30bbbd8c70 8725 e74dc8 cf9a 5b23 c6 ce52 6d 5a2ffad28c03f5ddc8 b5b1 9f6 5a9a4 f8ff22e 5e28b515a6 e2baff25 e0185 e7457 d94 b3 6e74e1a5 eb8e 6a6629 e94dc3 b8533 4599 8a334 c325 5d17 f25 1a9f0fc09d15d4 76fc381 14dd4 024 c2f27f32d2 1896e 863 d2798 93b4 5fb87d4d3 b709a d32bf1 f855 3822 14eb1 0a 4a2b893 e6f264e6 3adfe30c144aa d9ad6 d154a 23f6b2 be48 d55b74c3677 f31a2 6752 77 Vũ Tấn Hưng Nguyễn Thị Minh Tồn Tìm hiểu ngơn ngữ lập trình Adobe Flash - Xây dựng ứng dụng minh họa NOT: ! biểu thức 7.5 Phương thức tĩnh biến tĩnh Không có kế thừa Lớp B kế thừa từ lớp A không kế thừa phương thức biến tĩnh lớp A Ví dụ: public class A { public static function s ( ) { trace("A.s( ) was called"); } } public class B extends A { public function B ( ) { B.s(); // Error! Illegal attempt to access A.s( ) through B }} Những phương thức tĩnh hàm tĩnh gọi trực tiếp mà không cần thông 6f87e 1b11a 932da b860 f81 b6 f9bdc3 2eca c777 6e0cf7 b60da 52f6cf66 b5ff294 1e747 e e1b11a9 32da b860 f81 b6f9bdc32 ecac7776 e0cf7b60da5 2f6 cf66b5ff2941e 747e 6f8 qua tên lớp Nhưng để biết nguồn gốc rõ ràng, người ta dùng tên lớp gọi 932dab860 f81b6f9 bdc32e cac7776e 0cf7b6 0da5 2f6 cf66b5ff2 941e 747e6 f87e 1b1 1a 860f8 1b6 f9bdc32eca c77 76e0 cf7 b60 da52 f6cf66 b5ff29 41e74 7e6f87e1 b11a9 32da b f81b6f9 bdc32e cac7 776e0 cf7b6 0da52 f6 cf6 6b5ff2 941e7 47e6 f87e 1b11a 932da b86 phương thức biến 6f9bdc3 2eca c77 76e0 cf7 b60 da52 f6cf66 b5ff294 1e74 7e6f87e1 b11a9 32dab860 f81 b dc32e cac7776 e0cf7b60da5 2f6 cf66b5ff2941e 747e 6f87 e1b1 1a932 dab8 60f81b6 f9 b 32eca c7776 e0cf7 b60da 52f6cf66b5ff2941 e747e 6f8 7e1b11a932 dab8 60f81b6 f9 bdc c7776 e0cf7b60da 52f6 cf66b5ff2941 e747e 6f8 7e1b11a932 dab8 60f81b6 f9 bdc32e ca 7.6 Kế thừa e0cf7b60 da52 f6 cf6 6b5ff2 941e7 47e6 f87e 1b11a 932da b860 f81 b6 f9bdc3 2eca c777 fc3a3 f93a 08582 6d66a 60f835 d2406 ea15 f7e7 b88cbf5e9cb78 cc9e16 d1072 e24 c3ee4 7d0800 c6a8 0136 f54 da448 1c2 b397 7f6 f33 e0be 8a4b3 d678 cc5b77 828 cc3 7ae38 f66a4 9c84a7 1dc1cb825a 4f1 d7c732fb9a4 e5765 f83 10c1984 f96 1e06 cf3 fc71f185b5ad74 b Trong lập trình hướng đối tượng, kế thừa mối quan hệ hai nhiều lớp Một lớp kế thừa từ lớp khác sử dụng biến phương thức lớp mà fac7b7b2 0dfcfdcdf1 cf4 2b2 fc6 b5a c1e9 c4a51ae fef5b7 de7f4b3 cc9e5d780d33d5 94 9e3f2 1bf4656 147e4 1c5 63d1 76a97 9e946 6be8 9c63 c0e 2907 0df0e654 8e28 c32 c6 f8f7 7ea8e433 c9 f051 8c9 06b9a 684d9d02 5cb598 854db148 3a8024 9bc348 7e1be 4646 2d7a b f21d145b5b08 b8e1 f8 c76 f42 b4ce 759fb93 c48 e7f8a41e7 8571e 64a2 f48b0e5 c8d4 bb8 df3 fa34df8 f2c9de ba5dcb1e e30bc7d67cb1d4163 72d9 47cdab0 1c5 76b2 b2efb3 c49a2 kế thừa Để khai báo lớp A kế thừa từ lớp B, ta dùng từ khóa extends 08d258 539 bc6 96d5a 3b1a4 c49 7180 bae30 dc4 4793a3 dc5d19 4ad09 3cb5c3f9 9f2 02398 30ff2d29 b07 f39 d69e d7d2 e358bfca d25b40c5434 0e68a b4ee2 b76e0 b2a8 65300 be6e public class A { 95f4 fcb5fd1f4 934 f29e7 ee6d7cfa 31ddc0 5b49 f94 3c1 e22 f3b5 c0e4a d46 2e7c96fc5b 3f9 f11 c9f0 8a6db91a1 7118e 3de6 3e7a02 f9 c1d19137 7d0a7a 34d40ff5b8 453 f6f4e0e 59e15a9 f853 8397 40b3 e9ac33e6fc51 7d8 b739 3a5076 c67 d16e 7cc03df1 b1f0b9 fc0 46 public var v = 10; 3a67e368 0a4d3d50 cf8d5 f476 8201 e328 cbbba50 c741 ebd4f6 b2e1 0316e d218 e1d2 918 0d4204 90efb3ab05fb73 c76 f04 f402 4609 30bbbd8c70 8725 e74dc8 cf9a 5b23 c6 ce52 6d public function m ( ) 5a2ffad28c03f5ddc8 b5b1 9f6 5a9a4 f8ff22e 5e28b515a6 e2baff25 e0185 e7457 d94 b3 6e74e1a5 eb8e 6a6629 e94dc3 b8533 4599 8a334 c325 5d17 f25 1a9f0fc09d15d4 76fc381 { Vũ Tấn Hưng 14dd4 024 c2f27f32d2 1896e 863 d2798 93b4 5fb87d4d3 b709a d32bf1 f855 3822 14eb1 0a 4a2b893 e6f264e6 3adfe30c144aa d9ad6 d154a 23f6b2 be48 d55b74c3677 f31a2 6752 77 106 Nguyễn Thị Minh Tồn Tìm hiểu ngơn ngữ lập trình Adobe Flash - Xây dựng ứng dụng minh họa trace("Method m( ) was called"); } } public class B extends A { … } Lớp B kế thừa từ lớp A ngồi thuộc tính thừa hưởng từ lớp A, lớp B cịn có thuộc tính riêng Một lớp C kế thừa từ lớp B, thừa hưởng biến hàm lớp B lớp A Nhiều lớp kế thừa từ lớp Nhưng lớp biết lớp kế thừa từ 7.6.1 Tái định nghĩa – ghi đè phương thức Tái định nghĩa phương thức lớp cha cho phép tùy biến lớp có sẵn cho mục đích cụ thể Tái định nghĩa lớp cách thêm vào, bớt chí hủy bỏ nhiều thuộc tính ngun lớp ActionScript cho phép tái định nghĩa phương thức, không cho phép tái định nghĩa biến, phương thức tĩnh biến tĩnh 6f87e 1b11a 932da b860 f81 b6 f9bdc3 2eca c777 6e0cf7 b60da 52f6cf66 b5ff294 1e747 e e1b11a9 32da b860 f81 b6f9bdc32 ecac7776 e0cf7b60da5 2f6 cf66b5ff2941e 747e 6f8 Để tái định nghĩa phương thức lớp cha ta phải định nghĩa tên hàm, 932dab860 f81b6f9 bdc32e cac7776e 0cf7b6 0da5 2f6 cf66b5ff2 941e 747e6 f87e 1b1 1a 860f8 1b6 f9bdc32eca c77 76e0 cf7 b60 da52 f6cf66 b5ff29 41e74 7e6f87e1 b11a9 32da b cách truy xuất (như public,…), tham số cách trả Sau thêm từ f81b6f9 bdc32e cac7 776e0 cf7b6 0da52 f6 cf6 6b5ff2 941e7 47e6 f87e 1b11a 932da b86 6f9bdc3 2eca c77 76e0 cf7 b60 da52 f6cf66 b5ff294 1e74 7e6f87e1 b11a9 32dab860 f81 b dc32e cac7776 e0cf7b60da5 2f6 cf66b5ff2941e 747e 6f87 e1b1 1a932 dab8 60f81b6 f9 b khóa override vào trước 32eca c7776 e0cf7 b60da 52f6cf66b5ff2941 e747e 6f8 7e1b11a932 dab8 60f81b6 f9 bdc c7776 e0cf7b60da 52f6 cf66b5ff2941 e747e 6f8 7e1b11a932 dab8 60f81b6 f9 bdc32e ca Ví dụ: e0cf7b60 da52 f6 cf6 6b5ff2 941e7 47e6 f87e 1b11a 932da b860 f81 b6 f9bdc3 2eca c777 fc3a3 f93a 08582 6d66a 60f835 d2406 ea15 f7e7 b88cbf5e9cb78 cc9e16 d1072 e24 c3ee4 public class A{ 7d0800 c6a8 0136 f54 da448 1c2 b397 7f6 f33 e0be 8a4b3 d678 cc5b77 828 cc3 7ae38 f66a4 9c84a7 1dc1cb825a 4f1 d7c732fb9a4 e5765 f83 10c1984 f96 1e06 cf3 fc71f185b5ad74 b fac7b7b2 0dfcfdcdf1 cf4 2b2 fc6 b5a c1e9 c4a51ae fef5b7 de7f4b3 cc9e5d780d33d5 94 public function m ( ) { 9e3f2 1bf4656 147e4 1c5 63d1 76a97 9e946 6be8 9c63 c0e 2907 0df0e654 8e28 c32 c6 f8f7 7ea8e433 c9 f051 8c9 06b9a 684d9d02 5cb598 854db148 3a8024 9bc348 7e1be 4646 2d7a b trace("A's m( ) was called"); f21d145b5b08 b8e1 f8 c76 f42 b4ce 759fb93 c48 e7f8a41e7 8571e 64a2 f48b0e5 c8d4 bb8 df3 fa34df8 f2c9de ba5dcb1e e30bc7d67cb1d4163 72d9 47cdab0 1c5 76b2 b2efb3 c49a2 08d258 539 bc6 96d5a 3b1a4 c49 7180 bae30 dc4 4793a3 dc5d19 4ad09 3cb5c3f9 9f2 02398 } 30ff2d29 b07 f39 d69e d7d2 e358bfca d25b40c5434 0e68a b4ee2 b76e0 b2a8 65300 be6e 95f4 fcb5fd1f4 934 f29e7 ee6d7cfa 31ddc0 5b49 f94 3c1 e22 f3b5 c0e4a d46 2e7c96fc5b } 3f9 f11 c9f0 8a6db91a1 7118e 3de6 3e7a02 f9 c1d19137 7d0a7a 34d40ff5b8 453 f6f4e0e 59e15a9 f853 8397 40b3 e9ac33e6fc51 7d8 b739 3a5076 c67 d16e 7cc03df1 b1f0b9 fc0 46 Tái định nghĩa m(): 3a67e368 0a4d3d50 cf8d5 f476 8201 e328 cbbba50 c741 ebd4f6 b2e1 0316e d218 e1d2 918 0d4204 90efb3ab05fb73 c76 f04 f402 4609 30bbbd8c70 8725 e74dc8 cf9a 5b23 c6 ce52 6d 5a2ffad28c03f5ddc8 b5b1 9f6 5a9a4 f8ff22e 5e28b515a6 e2baff25 e0185 e7457 d94 b3 public class B extends A { 6e74e1a5 eb8e 6a6629 e94dc3 b8533 4599 8a334 c325 5d17 f25 1a9f0fc09d15d4 76fc381 14dd4 024 c2f27f32d2 1896e 863 d2798 93b4 5fb87d4d3 b709a d32bf1 f855 3822 14eb1 0a override public function m ( ) { Vũ Tấn Hưng 107 4a2b893 e6f264e6 3adfe30c144aa d9ad6 d154a 23f6b2 be48 d55b74c3677 f31a2 6752 77 Nguyễn Thị Minh Tồn Tìm hiểu ngơn ngữ lập trình Adobe Flash - Xây dựng ứng dụng minh họa trace("B's m( ) was called"); } } 7.6.2 Phương thức Super() Trong lớp con, để khởi tạo phần kế thừa từ lớp cha, ta gọi hàm super() Ví dụ: public class A { public function A ( ) { }} public class B extends A { public function B ( ) { super( ); }} Phương thức super() phải gọi hàm lớp 7.6.3 Ngăn chặn kế thừa phương thức định nghĩa lại 6f87e 1b11a 932da b860 f81 b6 f9bdc3 2eca c777 6e0cf7 b60da 52f6cf66 b5ff294 1e747 e Một lớp muốn ngăn chặn lớp khác kế thừa từ phương thức không muốn e1b11a9 32da b860 f81 b6f9bdc32 ecac7776 e0cf7b60da5 2f6 cf66b5ff2941e 747e 6f8 932dab860 f81b6f9 bdc32e cac7776e 0cf7b6 0da5 2f6 cf66b5ff2 941e 747e6 f87e 1b1 1a 860f8 1b6 f9bdc32eca c77 76e0 cf7 b60 da52 f6cf66 b5ff29 41e74 7e6f87e1 b11a9 32da b bị định nghĩa lại, ta khai báo thêm thuộc tính final f81b6f9 bdc32e cac7 776e0 cf7b6 0da52 f6 cf6 6b5ff2 941e7 47e6 f87e 1b11a 932da b86 6f9bdc3 2eca c77 76e0 cf7 b60 da52 f6cf66 b5ff294 1e74 7e6f87e1 b11a9 32dab860 f81 b final public class A { dc32e cac7776 e0cf7b60da5 2f6 cf66b5ff2941e 747e 6f87 e1b1 1a932 dab8 60f81b6 f9 b 32eca c7776 e0cf7 b60da 52f6cf66b5ff2941 e747e 6f8 7e1b11a932 dab8 60f81b6 f9 bdc } c7776 e0cf7b60da 52f6 cf66b5ff2941 e747e 6f8 7e1b11a932 dab8 60f81b6 f9 bdc32e ca e0cf7b60 da52 f6 cf6 6b5ff2 941e7 47e6 f87e 1b11a 932da b860 f81 b6 f9bdc3 2eca c777 fc3a3 f93a 08582 6d66a 60f835 d2406 ea15 f7e7 b88cbf5e9cb78 cc9e16 d1072 e24 c3ee4 Vì lớp A khai báo final nên lớp B kế thừa từ lớp A 7d0800 c6a8 0136 f54 da448 1c2 b397 7f6 f33 e0be 8a4b3 d678 cc5b77 828 cc3 7ae38 f66a4 9c84a7 1dc1cb825a 4f1 d7c732fb9a4 e5765 f83 10c1984 f96 1e06 cf3 fc71f185b5ad74 b public class B extends A{ fac7b7b2 0dfcfdcdf1 cf4 2b2 fc6 b5a c1e9 c4a51ae fef5b7 de7f4b3 cc9e5d780d33d5 94 9e3f2 1bf4656 147e4 1c5 63d1 76a97 9e946 6be8 9c63 c0e 2907 0df0e654 8e28 c32 c6 f8f7 7ea8e433 c9 f051 8c9 06b9a 684d9d02 5cb598 854db148 3a8024 9bc348 7e1be 4646 2d7a b } f21d145b5b08 b8e1 f8 c76 f42 b4ce 759fb93 c48 e7f8a41e7 8571e 64a2 f48b0e5 c8d4 bb8 df3 fa34df8 f2c9de ba5dcb1e e30bc7d67cb1d4163 72d9 47cdab0 1c5 76b2 b2efb3 c49a2 Sẽ bị báo lỗi “Base class is final” 08d258 539 bc6 96d5a 3b1a4 c49 7180 bae30 dc4 4793a3 dc5d19 4ad09 3cb5c3f9 9f2 02398 30ff2d29 b07 f39 d69e d7d2 e358bfca d25b40c5434 0e68a b4ee2 b76e0 b2a8 65300 be6e Thuộc tính final sử dùng với mục đích: 95f4 fcb5fd1f4 934 f29e7 ee6d7cfa 31ddc0 5b49 f94 3c1 e22 f3b5 c0e4a d46 2e7c96fc5b 3f9 f11 c9f0 8a6db91a1 7118e 3de6 3e7a02 f9 c1d19137 7d0a7a 34d40ff5b8 453 f6f4e0e 59e15a9 f853 8397 40b3 e9ac33e6fc51 7d8 b739 3a5076 c67 d16e 7cc03df1 b1f0b9 fc0 46 • Trong số tình phương thức final thực thi nhanh phương thức không định nghĩa final 3a67e368 0a4d3d50 cf8d5 f476 8201 e328 cbbba50 c741 ebd4f6 b2e1 0316e d218 e1d2 918 0d4204 90efb3ab05fb73 c76 f04 f402 4609 30bbbd8c70 8725 e74dc8 cf9a 5b23 c6 ce52 6d 5a2ffad28c03f5ddc8 b5b1 9f6 5a9a4 f8ff22e 5e28b515a6 e2baff25 e0185 e7457 d94 b3 6e74e1a5 eb8e 6a6629 e94dc3 b8533 4599 8a334 c325 5d17 f25 1a9f0fc09d15d4 76fc381 14dd4 024 c2f27f32d2 1896e 863 d2798 93b4 5fb87d4d3 b709a d32bf1 f855 3822 14eb1 0a • Là cách bảo vệ ứng dụng khỏi khai thác Vũ Tấn Hưng 108 Nguyễn Thị Minh Toàn 4a2b893 e6f264e6 3adfe30c144aa d9ad6 d154a 23f6b2 be48 d55b74c3677 f31a2 6752 77 Tìm hiểu ngơn ngữ lập trình Adobe Flash - Xây dựng ứng dụng minh họa 7.6.4 Composition Ngồi việc sử dụng kế thừa, cịn cách khác, không kế thừa sử dụng thuộc tính lớp khác Trong composition, lớp chứa lớp khác biến Ví dụ: public class BackEnd { public function doSomething ( ) { } } public class FrontEnd{ // Lớp BackEnd chứa biến riêng lớp FrontEnd private var be; public function FrontEnd ( ) { be = new BackEnd( ); } public function doSomething ( ) { be.doSomething( ); 6f87e 1b11a 932da b860 f81 b6 f9bdc3 2eca c777 6e0cf7 b60da 52f6cf66 b5ff294 1e747 e e1b11a9 32da b860 f81 b6f9bdc32 ecac7776 e0cf7b60da5 2f6 cf66b5ff2941e 747e 6f8 } 932dab860 f81b6f9 bdc32e cac7776e 0cf7b6 0da5 2f6 cf66b5ff2 941e 747e6 f87e 1b1 1a 860f8 1b6 f9bdc32eca c77 76e0 cf7 b60 da52 f6cf66 b5ff29 41e74 7e6f87e1 b11a9 32da b } f81b6f9 bdc32e cac7 776e0 cf7b6 0da52 f6 cf6 6b5ff2 941e7 47e6 f87e 1b11a 932da b86 6f9bdc3 2eca c77 76e0 cf7 b60 da52 f6cf66 b5ff294 1e74 7e6f87e1 b11a9 32dab860 f81 b dc32e cac7776 e0cf7b60da5 2f6 cf66b5ff2941e 747e 6f87 e1b1 1a932 dab8 60f81b6 f9 b Lớp FrontEnd mở rộng lớp BackEnd 32eca c7776 e0cf7 b60da 52f6cf66b5ff2941 e747e 6f8 7e1b11a932 dab8 60f81b6 f9 bdc c7776 e0cf7b60da 52f6 cf66b5ff2941 e747e 6f8 7e1b11a932 dab8 60f81b6 f9 bdc32e ca e0cf7b60 da52 f6 cf6 6b5ff2 941e7 47e6 f87e 1b11a 932da b860 f81 b6 f9bdc3 2eca c777 fc3a3 f93a 08582 6d66a 60f835 d2406 ea15 f7e7 b88cbf5e9cb78 cc9e16 d1072 e24 c3ee4 7.7 Interfaces 7d0800 c6a8 0136 f54 da448 1c2 b397 7f6 f33 e0be 8a4b3 d678 cc5b77 828 cc3 7ae38 f66a4 9c84a7 1dc1cb825a 4f1 d7c732fb9a4 e5765 f83 10c1984 f96 1e06 cf3 fc71f185b5ad74 b fac7b7b2 0dfcfdcdf1 cf4 2b2 fc6 b5a c1e9 c4a51ae fef5b7 de7f4b3 cc9e5d780d33d5 94 9e3f2 1bf4656 147e4 1c5 63d1 76a97 9e946 6be8 9c63 c0e 2907 0df0e654 8e28 c32 c6 f8f7 Interface cấu trúc ngôn ngữ ActionScript (không phải GUI public API) để định nghĩa loại liệu giống lớp định nghĩa loại 7ea8e433 c9 f051 8c9 06b9a 684d9d02 5cb598 854db148 3a8024 9bc348 7e1be 4646 2d7a b f21d145b5b08 b8e1 f8 c76 f42 b4ce 759fb93 c48 e7f8a41e7 8571e 64a2 f48b0e5 c8d4 bb8 df3 fa34df8 f2c9de ba5dcb1e e30bc7d67cb1d4163 72d9 47cdab0 1c5 76b2 b2efb3 c49a2 08d258 539 bc6 96d5a 3b1a4 c49 7180 bae30 dc4 4793a3 dc5d19 4ad09 3cb5c3f9 9f2 02398 30ff2d29 b07 f39 d69e d7d2 e358bfca d25b40c5434 0e68a b4ee2 b76e0 b2a8 65300 be6e liệu Tuy nhiên, lớp lúc định nghĩa loại liệu quy 95f4 fcb5fd1f4 934 f29e7 ee6d7cfa 31ddc0 5b49 f94 3c1 e22 f3b5 c0e4a d46 2e7c96fc5b 3f9 f11 c9f0 8a6db91a1 7118e 3de6 3e7a02 f9 c1d19137 7d0a7a 34d40ff5b8 453 f6f4e0e định thi hành cho nó, interfaces định nghĩa loại liệu giới hạn trừu 59e15a9 f853 8397 40b3 e9ac33e6fc51 7d8 b739 3a5076 c67 d16e 7cc03df1 b1f0b9 fc0 46 3a67e368 0a4d3d50 cf8d5 f476 8201 e328 cbbba50 c741 ebd4f6 b2e1 0316e d218 e1d2 918 0d4204 90efb3ab05fb73 c76 f04 f402 4609 30bbbd8c70 8725 e74dc8 cf9a 5b23 c6 ce52 6d tượng không quy định thi hành cho loại liệu Nghĩa lớp không 5a2ffad28c03f5ddc8 b5b1 9f6 5a9a4 f8ff22e 5e28b515a6 e2baff25 e0185 e7457 d94 b3 6e74e1a5 eb8e 6a6629 e94dc3 b8533 4599 8a334 c325 5d17 f25 1a9f0fc09d15d4 76fc381 định nghĩa phương thức biến, cịn cung cấp hành động cụ thể Vũ Tấn Hưng 109 Nguyễn Thị Minh Toàn 14dd4 024 c2f27f32d2 1896e 863 d2798 93b4 5fb87d4d3 b709a d32bf1 f855 3822 14eb1 0a 4a2b893 e6f264e6 3adfe30c144aa d9ad6 d154a 23f6b2 be48 d55b74c3677 f31a2 6752 77 Tìm hiểu ngơn ngữ lập trình Adobe Flash - Xây dựng ứng dụng minh họa thông qua hàm giá trị biến Interfaces thay tự đưa thi hành riêng nó, nhận từ lớp đưa thi hành 7.7.1 Tại phải dùng Interface? Trong ActionScript, lớp kế thừa từ nhiều lớp khác Vì lớp kế thừa từ lớp khác mà muốn sử dụng phương thức lớp khác lớp kế thừa ta dùng đến interface Interface đơn giản danh sách phương thức Ví dụ: public interface LogRecipient { function update(msg:String):void; } class LogUI extends Sprite implements LogRecipient { public function update (msg:String):void { } } Lớp LogUI kế thừa từ lớp Sprite thi hành interface LogRecipient Bởi lớp LogUI thi hành interface LogRecipient nên bắt buộc phải định nghĩa 6f87e 1b11a 932da b860 f81 b6 f9bdc3 2eca c777 6e0cf7 b60da 52f6cf66 b5ff294 1e747 e e1b11a9 32da b860 f81 b6f9bdc32 ecac7776 e0cf7b60da5 2f6 cf66b5ff2941e 747e 6f8 phương thức update() (phương thức khai báo interface LogRecipient), 932dab860 f81b6f9 bdc32e cac7776e 0cf7b6 0da5 2f6 cf66b5ff2 941e 747e6 f87e 1b1 1a 860f8 1b6 f9bdc32eca c77 76e0 cf7 b60 da52 f6cf66 b5ff29 41e74 7e6f87e1 b11a9 32da b không bị báo lỗi “Interface method update in namespace LogRecipient not f81b6f9 bdc32e cac7 776e0 cf7b6 0da52 f6 cf6 6b5ff2 941e7 47e6 f87e 1b11a 932da b86 6f9bdc3 2eca c77 76e0 cf7 b60 da52 f6cf66 b5ff294 1e74 7e6f87e1 b11a9 32dab860 f81 b dc32e cac7776 e0cf7b60da5 2f6 cf66b5ff2941e 747e 6f87 e1b1 1a932 dab8 60f81b6 f9 b implemented by class LogUI.” 32eca c7776 e0cf7 b60da 52f6cf66b5ff2941 e747e 6f8 7e1b11a932 dab8 60f81b6 f9 bdc c7776 e0cf7b60da 52f6 cf66b5ff2941 e747e 6f8 7e1b11a932 dab8 60f81b6 f9 bdc32e ca Vì LogUI định nghĩa thi hành interface LogRecipient nên gọi ỏ đâu kiểu liệu LogRecipient yêu cầu e0cf7b60 da52 f6 cf6 6b5ff2 941e7 47e6 f87e 1b11a 932da b860 f81 b6 f9bdc3 2eca c777 fc3a3 f93a 08582 6d66a 60f835 d2406 ea15 f7e7 b88cbf5e9cb78 cc9e16 d1072 e24 c3ee4 7d0800 c6a8 0136 f54 da448 1c2 b397 7f6 f33 e0be 8a4b3 d678 cc5b77 828 cc3 7ae38 f66a4 9c84a7 1dc1cb825a 4f1 d7c732fb9a4 e5765 f83 10c1984 f96 1e06 cf3 fc71f185b5ad74 b fac7b7b2 0dfcfdcdf1 cf4 2b2 fc6 b5a c1e9 c4a51ae fef5b7 de7f4b3 cc9e5d780d33d5 94 9e3f2 1bf4656 147e4 1c5 63d1 76a97 9e946 6be8 9c63 c0e 2907 0df0e654 8e28 c32 c6 f8f7 7ea8e433 c9 f051 8c9 06b9a 684d9d02 5cb598 854db148 3a8024 9bc348 7e1be 4646 2d7a b 7.7.2 Cú pháp cách sử dụng interface f21d145b5b08 b8e1 f8 c76 f42 b4ce 759fb93 c48 e7f8a41e7 8571e 64a2 f48b0e5 c8d4 bb8 df3 fa34df8 f2c9de ba5dcb1e e30bc7d67cb1d4163 72d9 47cdab0 1c5 76b2 b2efb3 c49a2 08d258 539 bc6 96d5a 3b1a4 c49 7180 bae30 dc4 4793a3 dc5d19 4ad09 3cb5c3f9 9f2 02398 30ff2d29 b07 f39 d69e d7d2 e358bfca d25b40c5434 0e68a b4ee2 b76e0 b2a8 65300 be6e Cú pháp interface sau: 95f4 fcb5fd1f4 934 f29e7 ee6d7cfa 31ddc0 5b49 f94 3c1 e22 f3b5 c0e4a d46 2e7c96fc5b 3f9 f11 c9f0 8a6db91a1 7118e 3de6 3e7a02 f9 c1d19137 7d0a7a 34d40ff5b8 453 f6f4e0e interface SomeName { 59e15a9 f853 8397 40b3 e9ac33e6fc51 7d8 b739 3a5076 c67 d16e 7cc03df1 b1f0b9 fc0 46 3a67e368 0a4d3d50 cf8d5 f476 8201 e328 cbbba50 c741 ebd4f6 b2e1 0316e d218 e1d2 918 function method1 (param1:datatype, paramn:datatype):returnType; 0d4204 90efb3ab05fb73 c76 f04 f402 4609 30bbbd8c70 8725 e74dc8 cf9a 5b23 c6 ce52 6d 5a2ffad28c03f5ddc8 b5b1 9f6 5a9a4 f8ff22e 5e28b515a6 e2baff25 e0185 e7457 d94 b3 6e74e1a5 eb8e 6a6629 e94dc3 b8533 4599 8a334 c325 5d17 f25 1a9f0fc09d15d4 76fc381 function method2 (param1:datatype, paramn:datatype):returnType; 14dd4 024 c2f27f32d2 1896e 863 d2798 93b4 5fb87d4d3 b709a d32bf1 f855 3822 14eb1 0a 4a2b893 e6f264e6 3adfe30c144aa d9ad6 d154a 23f6b2 be48 d55b74c3677 f31a2 6752 77 Vũ Tấn Hưng 110 Nguyễn Thị Minh Tồn Tìm hiểu ngơn ngữ lập trình Adobe Flash - Xây dựng ứng dụng minh họa function methodn (param1:datatype, paramn:datatype):returnType; } Giống lớp, interface định nghĩa public internal Trong interface, khai báo phương thức dấu ngoặc {} Khơng có khai báo biến interface Nhưng interface có phương thức get set để giả lập biến Interface định nghĩa package Một lớp muốn thi hành phương thức khai báo interface phải dùng từ khóa implements class SomeName implements SomeInterface {} Lớp SomeName bắt buộc phải thi hành tất phương thức SomeInterface Một lớp implement từ nhiều lớp khác class SomeName implements SomeInterface, SomeOtherInterface { } 7.7.3 Kế thừa interface Giống lớp, interface kế thừa từ interface khác 6f87e 1b11a 932da b860 f81 b6 f9bdc3 2eca c777 6e0cf7 b60da 52f6cf66 b5ff294 1e747 e e1b11a9 32da b860 f81 b6f9bdc32 ecac7776 e0cf7b60da5 2f6 cf66b5ff2941e 747e 6f8 public interface IntA { 932dab860 f81b6f9 bdc32e cac7776e 0cf7b6 0da5 2f6 cf66b5ff2 941e 747e6 f87e 1b1 1a 860f8 1b6 f9bdc32eca c77 76e0 cf7 b60 da52 f6cf66 b5ff29 41e74 7e6f87e1 b11a9 32da b function methodA ( ):void; f81b6f9 bdc32e cac7 776e0 cf7b6 0da52 f6 cf6 6b5ff2 941e7 47e6 f87e 1b11a 932da b86 6f9bdc3 2eca c77 76e0 cf7 b60 da52 f6cf66 b5ff294 1e74 7e6f87e1 b11a9 32dab860 f81 b dc32e cac7776 e0cf7b60da5 2f6 cf66b5ff2941e 747e 6f87 e1b1 1a932 dab8 60f81b6 f9 b } 32eca c7776 e0cf7 b60da 52f6cf66b5ff2941 e747e 6f8 7e1b11a932 dab8 60f81b6 f9 bdc c7776 e0cf7b60da 52f6 cf66b5ff2941 e747e 6f8 7e1b11a932 dab8 60f81b6 f9 bdc32e ca public interface IntB extends IntA { e0cf7b60 da52 f6 cf6 6b5ff2 941e7 47e6 f87e 1b11a 932da b860 f81 b6 f9bdc3 2eca c777 fc3a3 f93a 08582 6d66a 60f835 d2406 ea15 f7e7 b88cbf5e9cb78 cc9e16 d1072 e24 c3ee4 function methodB ( ):void; 7d0800 c6a8 0136 f54 da448 1c2 b397 7f6 f33 e0be 8a4b3 d678 cc5b77 828 cc3 7ae38 f66a4 9c84a7 1dc1cb825a 4f1 d7c732fb9a4 e5765 f83 10c1984 f96 1e06 cf3 fc71f185b5ad74 b fac7b7b2 0dfcfdcdf1 cf4 2b2 fc6 b5a c1e9 c4a51ae fef5b7 de7f4b3 cc9e5d780d33d5 94 } 9e3f2 1bf4656 147e4 1c5 63d1 76a97 9e946 6be8 9c63 c0e 2907 0df0e654 8e28 c32 c6 f8f7 7ea8e433 c9 f051 8c9 06b9a 684d9d02 5cb598 854db148 3a8024 9bc348 7e1be 4646 2d7a b Khi lớp thực thi interface IntB phải thi hành methodA() lẫn methodB() f21d145b5b08 b8e1 f8 c76 f42 b4ce 759fb93 c48 e7f8a41e7 8571e 64a2 f48b0e5 c8d4 bb8 df3 fa34df8 f2c9de ba5dcb1e e30bc7d67cb1d4163 72d9 47cdab0 1c5 76b2 b2efb3 c49a2 08d258 539 bc6 96d5a 3b1a4 c49 7180 bae30 dc4 4793a3 dc5d19 4ad09 3cb5c3f9 9f2 02398 Interface ActionScript cung cấp đa kế thừa: 30ff2d29 b07 f39 d69e d7d2 e358bfca d25b40c5434 0e68a b4ee2 b76e0 b2a8 65300 be6e 95f4 fcb5fd1f4 934 f29e7 ee6d7cfa 31ddc0 5b49 f94 3c1 e22 f3b5 c0e4a d46 2e7c96fc5b public interface IntC { 3f9 f11 c9f0 8a6db91a1 7118e 3de6 3e7a02 f9 c1d19137 7d0a7a 34d40ff5b8 453 f6f4e0e 59e15a9 f853 8397 40b3 e9ac33e6fc51 7d8 b739 3a5076 c67 d16e 7cc03df1 b1f0b9 fc0 46 function methodC ( ):void; 3a67e368 0a4d3d50 cf8d5 f476 8201 e328 cbbba50 c741 ebd4f6 b2e1 0316e d218 e1d2 918 0d4204 90efb3ab05fb73 c76 f04 f402 4609 30bbbd8c70 8725 e74dc8 cf9a 5b23 c6 ce52 6d 5a2ffad28c03f5ddc8 b5b1 9f6 5a9a4 f8ff22e 5e28b515a6 e2baff25 e0185 e7457 d94 b3 } 6e74e1a5 eb8e 6a6629 e94dc3 b8533 4599 8a334 c325 5d17 f25 1a9f0fc09d15d4 76fc381 14dd4 024 c2f27f32d2 1896e 863 d2798 93b4 5fb87d4d3 b709a d32bf1 f855 3822 14eb1 0a public interface IntD { Vũ Tấn Hưng 4a2b893 e6f264e6 3adfe30c144aa d9ad6 d154a 23f6b2 be48 d55b74c3677 f31a2 6752 77 111 Nguyễn Thị Minh Tồn Tìm hiểu ngơn ngữ lập trình Adobe Flash - Xây dựng ứng dụng minh họa function methodD ( ):void; } public interface IntE extends IntC, IntD { function methodE ( ):void;} 7.8 Mảng Người ta dùng mảng để chứa liệu người dùng nhập vào Mảng cấu trúc liệu chứa đựng nhiều giá trị liệu riêng lẻ danh sách có thứ tự Điều khác biệt ActionScript so với ngơn ngữ lập trình khác: • Số lượng phần tử mảng không giới hạn Độ dài mảng tự động thay đổi phần tử thêm vào hay bớt • Mảng chứa nhiều kiểu liệu, chí chứa mảng khác Ví dụ: var product:Array = ["ladies downhill skis", 475]; display(product); Khởi tạo mảng mới: new Array(tham số) Khởi tạo mảng với giá trị có sẵn: [expression1, expression2, expression3] 6f87e 1b11a 932da b860 f81 b6 f9bdc3 2eca c777 6e0cf7 b60da 52f6cf66 b5ff294 1e747 e e1b11a9 32da b860 f81 b6f9bdc32 ecac7776 e0cf7b60da5 2f6 cf66b5ff2941e 747e 6f8 Phần tử mảng phần tử thứ 932dab860 f81b6f9 bdc32e cac7776e 0cf7b6 0da5 2f6 cf66b5ff2 941e 747e6 f87e 1b1 1a 860f8 1b6 f9bdc32eca c77 76e0 cf7 b60 da52 f6cf66 b5ff29 41e74 7e6f87e1 b11a9 32da b f81b6f9 bdc32e cac7 776e0 cf7b6 0da52 f6 cf6 6b5ff2 941e7 47e6 f87e 1b11a 932da b86 Chiều dài mảng: theArray.length 6f9bdc3 2eca c77 76e0 cf7 b60 da52 f6cf66 b5ff294 1e74 7e6f87e1 b11a9 32dab860 f81 b dc32e cac7776 e0cf7b60da5 2f6 cf66b5ff2941e 747e 6f87 e1b1 1a932 dab8 60f81b6 f9 b 7.8.1 Thêm phần tử vào mảng 32eca c7776 e0cf7 b60da 52f6cf66b5ff2941 e747e 6f8 7e1b11a932 dab8 60f81b6 f9 bdc c7776 e0cf7b60da 52f6 cf66b5ff2941 e747e 6f8 7e1b11a932 dab8 60f81b6 f9 bdc32e ca e0cf7b60 da52 f6 cf6 6b5ff2 941e7 47e6 f87e 1b11a 932da b860 f81 b6 f9bdc3 2eca c777 fc3a3 f93a 08582 6d66a 60f835 d2406 ea15 f7e7 b88cbf5e9cb78 cc9e16 d1072 e24 c3ee4 7.8.1.1 Phương thức push(): 7d0800 c6a8 0136 f54 da448 1c2 b397 7f6 f33 e0be 8a4b3 d678 cc5b77 828 cc3 7ae38 f66a4 9c84a7 1dc1cb825a 4f1 d7c732fb9a4 e5765 f83 10c1984 f96 1e06 cf3 fc71f185b5ad74 b Thêm phần tử vào cuối mảng: fac7b7b2 0dfcfdcdf1 cf4 2b2 fc6 b5a c1e9 c4a51ae fef5b7 de7f4b3 cc9e5d780d33d5 94 9e3f2 1bf4656 147e4 1c5 63d1 76a97 9e946 6be8 9c63 c0e 2907 0df0e654 8e28 c32 c6 f8f7 7ea8e433 c9 f051 8c9 06b9a 684d9d02 5cb598 854db148 3a8024 9bc348 7e1be 4646 2d7a b theArray.push(item1, item2, itemn); f21d145b5b08 b8e1 f8 c76 f42 b4ce 759fb93 c48 e7f8a41e7 8571e 64a2 f48b0e5 c8d4 bb8 df3 fa34df8 f2c9de ba5dcb1e e30bc7d67cb1d4163 72d9 47cdab0 1c5 76b2 b2efb3 c49a2 Phương thức push trả chiều dài mảng 08d258 539 bc6 96d5a 3b1a4 c49 7180 bae30 dc4 4793a3 dc5d19 4ad09 3cb5c3f9 9f2 02398 30ff2d29 b07 f39 d69e d7d2 e358bfca d25b40c5434 0e68a b4ee2 b76e0 b2a8 65300 be6e 95f4 fcb5fd1f4 934 f29e7 ee6d7cfa 31ddc0 5b49 f94 3c1 e22 f3b5 c0e4a d46 2e7c96fc5b Ví dụ: 3f9 f11 c9f0 8a6db91a1 7118e 3de6 3e7a02 f9 c1d19137 7d0a7a 34d40ff5b8 453 f6f4e0e 59e15a9 f853 8397 40b3 e9ac33e6fc51 7d8 b739 3a5076 c67 d16e 7cc03df1 b1f0b9 fc0 46 var menuItems:Array = ["home", "quit"]; 3a67e368 0a4d3d50 cf8d5 f476 8201 e328 cbbba50 c741 ebd4f6 b2e1 0316e d218 e1d2 918 0d4204 90efb3ab05fb73 c76 f04 f402 4609 30bbbd8c70 8725 e74dc8 cf9a 5b23 c6 ce52 6d menuItems.push("products"); 5a2ffad28c03f5ddc8 b5b1 9f6 5a9a4 f8ff22e 5e28b515a6 e2baff25 e0185 e7457 d94 b3 6e74e1a5 eb8e 6a6629 e94dc3 b8533 4599 8a334 c325 5d17 f25 1a9f0fc09d15d4 76fc381 14dd4 024 c2f27f32d2 1896e 863 d2798 93b4 5fb87d4d3 b709a d32bf1 f855 3822 14eb1 0a => menuItems = ["home", "quit", "products"] Vũ Tấn Hưng 112 4a2b893 e6f264e6 3adfe30c144aa d9ad6 d154a 23f6b2 be48 d55b74c3677 f31a2 6752 77 Nguyễn Thị Minh Tồn Tìm hiểu ngơn ngữ lập trình Adobe Flash - Xây dựng ứng dụng minh họa 7.8.1.2 Phương thức unshift(): Thêm phần tử vào đầu mảng: theArray.unshift(item1, item2, itemn); Phương thức unshift trả chiều dài mảng Ví dụ: var versions:Array = new Array( ); versions[0] = 6; versions.unshift(5); // versions: [5, 6] versions.unshift(2,3,4); // versions: [2, 3, 4, 5, 6] 7.8.1.3 Phương thức splice(): Thê m xóa phần tử mảng: theArray.splice(startIndex, deleteCount, item1, item2, itemn) startIndex: vị trí phần tử bắt đầu xóa deleteCount: số phần tử xóa mảng Nếu khơng có thuộc tính deleteCount thí tất phần tử phía sau bị xóa item1, item2, itemn: phần tử thêm vào mảng bắt đầu vị trí startIndex 6f87e 1b11a 932da b860 f81 b6 f9bdc3 2eca c777 6e0cf7 b60da 52f6cf66 b5ff294 1e747 e e1b11a9 32da b860 f81 b6f9bdc32 ecac7776 e0cf7b60da5 2f6 cf66b5ff2941e 747e 6f8 Ví dụ: 932dab860 f81b6f9 bdc32e cac7776e 0cf7b6 0da5 2f6 cf66b5ff2 941e 747e6 f87e 1b1 1a 860f8 1b6 f9bdc32eca c77 76e0 cf7 b60 da52 f6cf66 b5ff29 41e74 7e6f87e1 b11a9 32da b var months:Array = new Array("January", "Friday", "April", "May", "Sunday", f81b6f9 bdc32e cac7 776e0 cf7b6 0da52 f6 cf6 6b5ff2 941e7 47e6 f87e 1b11a 932da b86 6f9bdc3 2eca c77 76e0 cf7 b60 da52 f6cf66 b5ff294 1e74 7e6f87e1 b11a9 32dab860 f81 b dc32e cac7776 e0cf7b60da5 2f6 cf66b5ff2941e 747e 6f87 e1b1 1a932 dab8 60f81b6 f9 b "Monday", "July"); 32eca c7776 e0cf7 b60da 52f6cf66b5ff2941 e747e 6f8 7e1b11a932 dab8 60f81b6 f9 bdc c7776 e0cf7b60da 52f6 cf66b5ff2941 e747e 6f8 7e1b11a932 dab8 60f81b6 f9 bdc32e ca months.splice(1,1); e0cf7b60 da52 f6 cf6 6b5ff2 941e7 47e6 f87e 1b11a 932da b860 f81 b6 f9bdc3 2eca c777 fc3a3 f93a 08582 6d66a 60f835 d2406 ea15 f7e7 b88cbf5e9cb78 cc9e16 d1072 e24 c3ee4 => months = ["January", "April", "May", "Sunday", "Monday", "July"] 7d0800 c6a8 0136 f54 da448 1c2 b397 7f6 f33 e0be 8a4b3 d678 cc5b77 828 cc3 7ae38 f66a4 9c84a7 1dc1cb825a 4f1 d7c732fb9a4 e5765 f83 10c1984 f96 1e06 cf3 fc71f185b5ad74 b fac7b7b2 0dfcfdcdf1 cf4 2b2 fc6 b5a c1e9 c4a51ae fef5b7 de7f4b3 cc9e5d780d33d5 94 7.8.1.4 Phương thức concat(): 9e3f2 1bf4656 147e4 1c5 63d1 76a97 9e946 6be8 9c63 c0e 2907 0df0e654 8e28 c32 c6 f8f7 7ea8e433 c9 f051 8c9 06b9a 684d9d02 5cb598 854db148 3a8024 9bc348 7e1be 4646 2d7a b f21d145b5b08 b8e1 f8 c76 f42 b4ce 759fb93 c48 e7f8a41e7 8571e 64a2 f48b0e5 c8d4 bb8 Nối nhiều mảng thành mảng, trả mảng df3 fa34df8 f2c9de ba5dcb1e e30bc7d67cb1d4163 72d9 47cdab0 1c5 76b2 b2efb3 c49a2 08d258 539 bc6 96d5a 3b1a4 c49 7180 bae30 dc4 4793a3 dc5d19 4ad09 3cb5c3f9 9f2 02398 theArray.concat(elementList) 30ff2d29 b07 f39 d69e d7d2 e358bfca d25b40c5434 0e68a b4ee2 b76e0 b2a8 65300 be6e 95f4 fcb5fd1f4 934 f29e7 ee6d7cfa 31ddc0 5b49 f94 3c1 e22 f3b5 c0e4a d46 2e7c96fc5b 3f9 f11 c9f0 8a6db91a1 7118e 3de6 3e7a02 f9 c1d19137 7d0a7a 34d40ff5b8 453 f6f4e0e Ví dụ 1: 59e15a9 f853 8397 40b3 e9ac33e6fc51 7d8 b739 3a5076 c67 d16e 7cc03df1 b1f0b9 fc0 46 3a67e368 0a4d3d50 cf8d5 f476 8201 e328 cbbba50 c741 ebd4f6 b2e1 0316e d218 e1d2 918 var list1:Array = new Array(11, 12, 13); 0d4204 90efb3ab05fb73 c76 f04 f402 4609 30bbbd8c70 8725 e74dc8 cf9a 5b23 c6 ce52 6d 5a2ffad28c03f5ddc8 b5b1 9f6 5a9a4 f8ff22e 5e28b515a6 e2baff25 e0185 e7457 d94 b3 var list2:Array = list1.concat(14, 15); // list2 trở thành [11, 12, 13, 14, 15] 6e74e1a5 eb8e 6a6629 e94dc3 b8533 4599 8a334 c325 5d17 f25 1a9f0fc09d15d4 76fc381 14dd4 024 c2f27f32d2 1896e 863 d2798 93b4 5fb87d4d3 b709a d32bf1 f855 3822 14eb1 0a 4a2b893 e6f264e6 3adfe30c144aa d9ad6 d154a 23f6b2 be48 d55b74c3677 f31a2 6752 77 Vũ Tấn Hưng 113 Nguyễn Thị Minh Toàn Tìm hiểu ngơn ngữ lập trình Adobe Flash - Xây dựng ứng dụng minh họa Ví dụ 2: var x:Array = [1, 2, 3]; var y:Array = [[5, 6], [7, 8]]; var z:Array = x.concat(y); // Kết [1, 2, 3, [5, 6], [7, 8]] 7.8.2 Xóa bỏ phần tử mảng: Có cách 7.8.2.1 Hàm delete(): delete theArray[index] Ví dụ: var list = ["a", "b", "c"]; delete list[2]; 7.8.2.2 Sử dùng biến length để cắt bỏ phần tử cuối mảng Ví dụ: var toppings:Array = ["pepperoni", "tomatoes","cheese", "green pepper", "broccoli"]; toppings.length = 3; 6f87e 1b11a 932da b860 f81 b6 f9bdc3 2eca c777 6e0cf7 b60da 52f6cf66 b5ff294 1e747 e e1b11a9 32da b860 f81 b6f9bdc32 ecac7776 e0cf7b60da5 2f6 cf66b5ff2941e 747e 6f8 932dab860 f81b6f9 bdc32e cac7776e 0cf7b6 0da5 2f6 cf66b5ff2 941e 747e6 f87e 1b1 1a Array = ["pepperoni", "tomatoes","cheese"] 860f8 1b6 f9bdc32eca c77 76e0 cf7 b60 da52 f6cf66 b5ff29 41e74 7e6f87e1 b11a9 32da b f81b6f9 bdc32e cac7 776e0 cf7b6 0da52 f6 cf6 6b5ff2 941e7 47e6 f87e 1b11a 932da b86 7.8.2.3 Dùng phương thức splice(), pop(), shift() 6f9bdc3 2eca c77 76e0 cf7 b60 da52 f6cf66 b5ff294 1e74 7e6f87e1 b11a9 32dab860 f81 b dc32e cac7776 e0cf7b60da5 2f6 cf66b5ff2941e 747e 6f87 e1b1 1a932 dab8 60f81b6 f9 b 32eca c7776 e0cf7 b60da 52f6cf66b5ff2941 e747e 6f8 7e1b11a932 dab8 60f81b6 f9 bdc Splice(): trình bày c7776 e0cf7b60da 52f6 cf66b5ff2941 e747e 6f8 7e1b11a932 dab8 60f81b6 f9 bdc32e ca e0cf7b60 da52 f6 cf6 6b5ff2 941e7 47e6 f87e 1b11a 932da b860 f81 b6 f9bdc3 2eca c777 fc3a3 f93a 08582 6d66a 60f835 d2406 ea15 f7e7 b88cbf5e9cb78 cc9e16 d1072 e24 c3ee4 Pop(): xóa phần tử cuối mảng (ngược với push()) Trả phần tử vừa xóa 7d0800 c6a8 0136 f54 da448 1c2 b397 7f6 f33 e0be 8a4b3 d678 cc5b77 828 cc3 7ae38 f66a4 9c84a7 1dc1cb825a 4f1 d7c732fb9a4 e5765 f83 10c1984 f96 1e06 cf3 fc71f185b5ad74 b Shift(): xóa phần tử đầu mảng (ngược với unshift()) Trả phần tử vừa xóa fac7b7b2 0dfcfdcdf1 cf4 2b2 fc6 b5a c1e9 c4a51ae fef5b7 de7f4b3 cc9e5d780d33d5 94 9e3f2 1bf4656 147e4 1c5 63d1 76a97 9e946 6be8 9c63 c0e 2907 0df0e654 8e28 c32 c6 f8f7 7ea8e433 c9 f051 8c9 06b9a 684d9d02 5cb598 854db148 3a8024 9bc348 7e1be 4646 2d7a b f21d145b5b08 b8e1 f8 c76 f42 b4ce 759fb93 c48 e7f8a41e7 8571e 64a2 f48b0e5 c8d4 bb8 df3 fa34df8 f2c9de ba5dcb1e e30bc7d67cb1d4163 72d9 47cdab0 1c5 76b2 b2efb3 c49a2 7.8.3 Phương thức toString(): 08d258 539 bc6 96d5a 3b1a4 c49 7180 bae30 dc4 4793a3 dc5d19 4ad09 3cb5c3f9 9f2 02398 30ff2d29 b07 f39 d69e d7d2 e358bfca d25b40c5434 0e68a b4ee2 b76e0 b2a8 65300 be6e 95f4 fcb5fd1f4 934 f29e7 ee6d7cfa 31ddc0 5b49 f94 3c1 e22 f3b5 c0e4a d46 2e7c96fc5b Dùng để xem nội dung mảng toString() trả chuỗi phần tử 3f9 f11 c9f0 8a6db91a1 7118e 3de6 3e7a02 f9 c1d19137 7d0a7a 34d40ff5b8 453 f6f4e0e 59e15a9 f853 8397 40b3 e9ac33e6fc51 7d8 b739 3a5076 c67 d16e 7cc03df1 b1f0b9 fc0 46 3a67e368 0a4d3d50 cf8d5 f476 8201 e328 cbbba50 c741 ebd4f6 b2e1 0316e d218 e1d2 918 mảng 0d4204 90efb3ab05fb73 c76 f04 f402 4609 30bbbd8c70 8725 e74dc8 cf9a 5b23 c6 ce52 6d 5a2ffad28c03f5ddc8 b5b1 9f6 5a9a4 f8ff22e 5e28b515a6 e2baff25 e0185 e7457 d94 b3 theArray.toString( ) 6e74e1a5 eb8e 6a6629 e94dc3 b8533 4599 8a334 c325 5d17 f25 1a9f0fc09d15d4 76fc381 14dd4 024 c2f27f32d2 1896e 863 d2798 93b4 5fb87d4d3 b709a d32bf1 f855 3822 14eb1 0a 4a2b893 e6f264e6 3adfe30c144aa d9ad6 d154a 23f6b2 be48 d55b74c3677 f31a2 6752 77 Vũ Tấn Hưng 114 Nguyễn Thị Minh Tồn Tìm hiểu ngơn ngữ lập trình Adobe Flash - Xây dựng ứng dụng minh họa 7.8.4 Mảng đa chiều ActionScript cung cấp mảng chiều Nhưng tạo mảng đa chiều cách tạo mảng mảng, nghĩa tạo mảng phần tử mảng khác Đơn giản mảng chiều Ví dụ: var row1:Array = [6, 2.99]; var row2:Array = [4, 9.99]; var row3:Array = [1, 59.99]; var spreadsheet:Array = [row1, row2, row3]; spreadsheet[0][1] = 2.99 7.9 Xử lý lỗi Trong ActionScript, lỗi phát sinh chế độ chạy thực Flash (Flash runtime) chương trình thực thi Lỗi gây Flash runtime gọi builtin errors, lỗi gây thực thi chương trình gọi custom errors 6f87e 1b11a 932da b860 f81 b6 f9bdc3 2eca c777 6e0cf7 b60da 52f6cf66 b5ff294 1e747 e Trong chương trình, phản hồi lại lỗi (cả built-in errors e1b11a9 32da b860 f81 b6f9bdc32 ecac7776 e0cf7b60da5 2f6 cf66b5ff2941e 747e 6f8 932dab860 f81b6f9 bdc32e cac7776e 0cf7b6 0da5 2f6 cf66b5ff2 941e 747e6 f87e 1b1 1a custom errors) cách sử dụng câu lệnh try/ catch/ finally phát sinh lỗi thông qua câu lệnh throw 860f8 1b6 f9bdc32eca c77 76e0 cf7 b60 da52 f6cf66 b5ff29 41e74 7e6f87e1 b11a9 32da b f81b6f9 bdc32e cac7 776e0 cf7b6 0da52 f6 cf6 6b5ff2 941e7 47e6 f87e 1b11a 932da b86 6f9bdc3 2eca c77 76e0 cf7 b60 da52 f6cf66 b5ff294 1e74 7e6f87e1 b11a9 32dab860 f81 b dc32e cac7776 e0cf7b60da5 2f6 cf66b5ff2941e 747e 6f87 e1b1 1a932 dab8 60f81b6 f9 b 32eca c7776 e0cf7 b60da 52f6cf66b5ff2941 e747e 6f8 7e1b11a932 dab8 60f81b6 f9 bdc Lệnh throw tạm dừng tất mã thực thi đưa biểu thức đến cho catch c7776 e0cf7b60da 52f6 cf66b5ff2941 e747e 6f8 7e1b11a932 dab8 60f81b6 f9 bdc32e ca e0cf7b60 da52 f6 cf6 6b5ff2 941e7 47e6 f87e 1b11a 932da b860 f81 b6 f9bdc3 2eca c777 block fc3a3 f93a 08582 6d66a 60f835 d2406 ea15 f7e7 b88cbf5e9cb78 cc9e16 d1072 e24 c3ee4 7d0800 c6a8 0136 f54 da448 1c2 b397 7f6 f33 e0be 8a4b3 d678 cc5b77 828 cc3 7ae38 f66a4 9c84a7 1dc1cb825a 4f1 d7c732fb9a4 e5765 f83 10c1984 f96 1e06 cf3 fc71f185b5ad74 b Ví dụ: fac7b7b2 0dfcfdcdf1 cf4 2b2 fc6 b5a c1e9 c4a51ae fef5b7 de7f4b3 cc9e5d780d33d5 94 9e3f2 1bf4656 147e4 1c5 63d1 76a97 9e946 6be8 9c63 c0e 2907 0df0e654 8e28 c32 c6 f8f7 public function setName (newName:String):void { 7ea8e433 c9 f051 8c9 06b9a 684d9d02 5cb598 854db148 3a8024 9bc348 7e1be 4646 2d7a b f21d145b5b08 b8e1 f8 c76 f42 b4ce 759fb93 c48 e7f8a41e7 8571e 64a2 f48b0e5 c8d4 bb8 if (newName.length > VirtualPet.maxNameLength || newName == "") { df3 fa34df8 f2c9de ba5dcb1e e30bc7d67cb1d4163 72d9 47cdab0 1c5 76b2 b2efb3 c49a2 08d258 539 bc6 96d5a 3b1a4 c49 7180 bae30 dc4 4793a3 dc5d19 4ad09 3cb5c3f9 9f2 02398 30ff2d29 b07 f39 d69e d7d2 e358bfca d25b40c5434 0e68a b4ee2 b76e0 b2a8 65300 be6e throw new Error("Invalid pet name specified."); 95f4 fcb5fd1f4 934 f29e7 ee6d7cfa 31ddc0 5b49 f94 3c1 e22 f3b5 c0e4a d46 2e7c96fc5b 3f9 f11 c9f0 8a6db91a1 7118e 3de6 3e7a02 f9 c1d19137 7d0a7a 34d40ff5b8 453 f6f4e0e } 59e15a9 f853 8397 40b3 e9ac33e6fc51 7d8 b739 3a5076 c67 d16e 7cc03df1 b1f0b9 fc0 46 3a67e368 0a4d3d50 cf8d5 f476 8201 e328 cbbba50 c741 ebd4f6 b2e1 0316e d218 e1d2 918 0d4204 90efb3ab05fb73 c76 f04 f402 4609 30bbbd8c70 8725 e74dc8 cf9a 5b23 c6 ce52 6d petName = newName; 5a2ffad28c03f5ddc8 b5b1 9f6 5a9a4 f8ff22e 5e28b515a6 e2baff25 e0185 e7457 d94 b3 6e74e1a5 eb8e 6a6629 e94dc3 b8533 4599 8a334 c325 5d17 f25 1a9f0fc09d15d4 76fc381 } Vũ Tấn Hưng 14dd4 024 c2f27f32d2 1896e 863 d2798 93b4 5fb87d4d3 b709a d32bf1 f855 3822 14eb1 0a 4a2b893 e6f264e6 3adfe30c144aa d9ad6 d154a 23f6b2 be48 d55b74c3677 f31a2 6752 77 115 Nguyễn Thị Minh Toàn Tìm hiểu ngơn ngữ lập trình Adobe Flash - Xây dựng ứng dụng minh họa Chúng ta thêm vài ghi lỗi “Invalid pet name specified” tham số Catch block phải xử lý vấn đề Catch block phần câu lệnh try/ catch/ finally try { Thực thi đoạn mã đưa ngoại lệ Mã sử dụng câu lệnh throw để lỗi Nếu khơng có lỗi throw chương trình bỏ qua catch } catch (e:type) { Xử lý lỗi tìm thấy try } finally { Ln thi hành sau try catch Chứa cleanup mã Cleanup mã phải thi hành try có tìm thấy lỗi hay khơng Ln thực thi trước lệnh return, continue, break để thoát khỏi try catch } 6f87e 1b11a 932da b860 f81 b6 f9bdc3 2eca c777 6e0cf7 b60da 52f6cf66 b5ff294 1e747 e e1b11a9 32da b860 f81 b6f9bdc32 ecac7776 e0cf7b60da5 2f6 cf66b5ff2941e 747e 6f8 932dab860 f81b6f9 bdc32e cac7776e 0cf7b6 0da5 2f6 cf66b5ff2 941e 747e6 f87e 1b1 1a 7.10 XML E4X 860f8 1b6 f9bdc32eca c77 76e0 cf7 b60 da52 f6cf66 b5ff29 41e74 7e6f87e1 b11a9 32da b f81b6f9 bdc32e cac7 776e0 cf7b6 0da52 f6 cf6 6b5ff2 941e7 47e6 f87e 1b11a 932da b86 6f9bdc3 2eca c77 76e0 cf7 b60 da52 f6cf66 b5ff294 1e74 7e6f87e1 b11a9 32dab860 f81 b dc32e cac7776 e0cf7b60da5 2f6 cf66b5ff2941e 747e 6f87 e1b1 1a932 dab8 60f81b6 f9 b 7.10.1 Truy cập nút văn 32eca c7776 e0cf7 b60da 52f6cf66b5ff2941 e747e 6f8 7e1b11a932 dab8 60f81b6 f9 bdc c7776 e0cf7b60da 52f6 cf66b5ff2941 e747e 6f8 7e1b11a932 dab8 60f81b6 f9 bdc32e ca e0cf7b60 da52 f6 cf6 6b5ff2 941e7 47e6 f87e 1b11a 932da b860 f81 b6 f9bdc3 2eca c777 Như biết phần trước, văn chứa thành phần thể fc3a3 f93a 08582 6d66a 60f835 d2406 ea15 f7e7 b88cbf5e9cb78 cc9e16 d1072 e24 c3ee4 7d0800 c6a8 0136 f54 da448 1c2 b397 7f6 f33 e0be 8a4b3 d678 cc5b77 828 cc3 7ae38 f66a4 9c84a7 1dc1cb825a 4f1 d7c732fb9a4 e5765 f83 10c1984 f96 1e06 cf3 fc71f185b5ad74 b nút XML phân cấp Ví dụ đoạn XML sau, “Mat Ma fac7b7b2 0dfcfdcdf1 cf4 2b2 fc6 b5a c1e9 c4a51ae fef5b7 de7f4b3 cc9e5d780d33d5 94 9e3f2 1bf4656 147e4 1c5 63d1 76a97 9e946 6be8 9c63 c0e 2907 0df0e654 8e28 c32 c6 f8f7 DaVinci” nút văn bản, biểu diễn thể XML tương tự nút văn “Dan Brown”, “VHTT”: 7ea8e433 c9 f051 8c9 06b9a 684d9d02 5cb598 854db148 3a8024 9bc348 7e1be 4646 2d7a b f21d145b5b08 b8e1 f8 c76 f42 b4ce 759fb93 c48 e7f8a41e7 8571e 64a2 f48b0e5 c8d4 bb8 df3 fa34df8 f2c9de ba5dcb1e e30bc7d67cb1d4163 72d9 47cdab0 1c5 76b2 b2efb3 c49a2 08d258 539 bc6 96d5a 3b1a4 c49 7180 bae30 dc4 4793a3 dc5d19 4ad09 3cb5c3f9 9f2 02398 30ff2d29 b07 f39 d69e d7d2 e358bfca d25b40c5434 0e68a b4ee2 b76e0 b2a8 65300 be6e var tieuthuyet:XML= 95f4 fcb5fd1f4 934 f29e7 ee6d7cfa 31ddc0 5b49 f94 3c1 e22 f3b5 c0e4a d46 2e7c96fc5b 3f9 f11 c9f0 8a6db91a1 7118e 3de6 3e7a02 f9 c1d19137 7d0a7a 34d40ff5b8 453 f6f4e0e Mat Ma DaVinci 59e15a9 f853 8397 40b3 e9ac33e6fc51 7d8 b739 3a5076 c67 d16e 7cc03df1 b1f0b9 fc0 46 3a67e368 0a4d3d50 cf8d5 f476 8201 e328 cbbba50 c741 ebd4f6 b2e1 0316e d218 e1d2 918 0d4204 90efb3ab05fb73 c76 f04 f402 4609 30bbbd8c70 8725 e74dc8 cf9a 5b23 c6 ce52 6d Dan Brown 5a2ffad28c03f5ddc8 b5b1 9f6 5a9a4 f8ff22e 5e28b515a6 e2baff25 e0185 e7457 d94 b3 6e74e1a5 eb8e 6a6629 e94dc3 b8533 4599 8a334 c325 5d17 f25 1a9f0fc09d15d4 76fc381 VHTT Vũ Tấn Hưng 116 14dd4 024 c2f27f32d2 1896e 863 d2798 93b4 5fb87d4d3 b709a d32bf1 f855 3822 14eb1 0a 4a2b893 e6f264e6 3adfe30c144aa d9ad6 d154a 23f6b2 be48 d55b74c3677 f31a2 6752 77 Nguyễn Thị Minh Tồn Tìm hiểu ngơn ngữ lập trình Adobe Flash - Xây dựng ứng dụng minh họa ; Có nhiều cách để truy cập nút văn Khi cần tham chiếu đến nút văn thể XML, phải sử dụng cú pháp truy cập nút đề cập phần trước Ví dụ để truy cập “Mat Ma DaVinci” ta sử dụng: tieuthuyet.TUA.children()[o] Néu muốn lấy nội dung văn nút, thể nó, ta dùng hàm toString() lớo XML Ví dụ: trace(tieuthuyet.TUA.toString()); // Xuất: Mat Ma Da Vinci Với nút văn đặt rải rác thành phần, ta sử dụng hàm text() để lấy nút văn thành phần Ví dụ: var tieuthuyet:XML= Mat Ma DaVinci Dan Brown VHTT Truyen Rat Day ; 6f87e 1b11a 932da b860 f81 b6 f9bdc3 2eca c777 6e0cf7 b60da 52f6cf66 b5ff294 1e747 e Thành phần chứa thành phần nút văn e1b11a9 32da b860 f81 b6f9bdc32 ecac7776 e0cf7b60da5 2f6 cf66b5ff2941e 747e 6f8 932dab860 f81b6f9 bdc32e cac7776e 0cf7b6 0da5 2f6 cf66b5ff2 941e 747e6 f87e 1b1 1a Truyen (nút văn bản) 860f8 1b6 f9bdc32eca c77 76e0 cf7 b60 da52 f6cf66 b5ff29 41e74 7e6f87e1 b11a9 32da b f81b6f9 bdc32e cac7 776e0 cf7b6 0da52 f6 cf6 6b5ff2 941e7 47e6 f87e 1b11a 932da b86 6f9bdc3 2eca c77 76e0 cf7 b60 da52 f6cf66 b5ff294 1e74 7e6f87e1 b11a9 32dab860 f81 b Rat (nút thành phần với nút văn bản) dc32e cac7776 e0cf7b60da5 2f6 cf66b5ff2941e 747e 6f87 e1b1 1a932 dab8 60f81b6 f9 b 32eca c7776 e0cf7 b60da 52f6cf66b5ff2941 e747e 6f8 7e1b11a932 dab8 60f81b6 f9 bdc Day (nút văn bản) c7776 e0cf7b60da 52f6 cf66b5ff2941 e747e 6f8 7e1b11a932 dab8 60f81b6 f9 bdc32e ca e0cf7b60 da52 f6 cf6 6b5ff2 941e7 47e6 f87e 1b11a 932da b860 f81 b6 f9bdc3 2eca c777 Để lấy XMLList với hai nút văn Truyen Day., ta dùng: fc3a3 f93a 08582 6d66a 60f835 d2406 ea15 f7e7 b88cbf5e9cb78 cc9e16 d1072 e24 c3ee4 7d0800 c6a8 0136 f54 da448 1c2 b397 7f6 f33 e0be 8a4b3 d678 cc5b77 828 cc3 7ae38 f66a4 9c84a7 1dc1cb825a 4f1 d7c732fb9a4 e5765 f83 10c1984 f96 1e06 cf3 fc71f185b5ad74 b tieuthuyet.MOTA.text() fac7b7b2 0dfcfdcdf1 cf4 2b2 fc6 b5a c1e9 c4a51ae fef5b7 de7f4b3 cc9e5d780d33d5 94 9e3f2 1bf4656 147e4 1c5 63d1 76a97 9e946 6be8 9c63 c0e 2907 0df0e654 8e28 c32 c6 f8f7 Để truy cập nút văn này, ta dùng toán tử [ ]: 7ea8e433 c9 f051 8c9 06b9a 684d9d02 5cb598 854db148 3a8024 9bc348 7e1be 4646 2d7a b f21d145b5b08 b8e1 f8 c76 f42 b4ce 759fb93 c48 e7f8a41e7 8571e 64a2 f48b0e5 c8d4 bb8 df3 fa34df8 f2c9de ba5dcb1e e30bc7d67cb1d4163 72d9 47cdab0 1c5 76b2 b2efb3 c49a2 tieuthuyet.MOTA.text()[0] 08d258 539 bc6 96d5a 3b1a4 c49 7180 bae30 dc4 4793a3 dc5d19 4ad09 3cb5c3f9 9f2 02398 30ff2d29 b07 f39 d69e d7d2 e358bfca d25b40c5434 0e68a b4ee2 b76e0 b2a8 65300 be6e 7.10.2 Truy cập nút cha 95f4 fcb5fd1f4 934 f29e7 ee6d7cfa 31ddc0 5b49 f94 3c1 e22 f3b5 c0e4a d46 2e7c96fc5b 3f9 f11 c9f0 8a6db91a1 7118e 3de6 3e7a02 f9 c1d19137 7d0a7a 34d40ff5b8 453 f6f4e0e 59e15a9 f853 8397 40b3 e9ac33e6fc51 7d8 b739 3a5076 c67 d16e 7cc03df1 b1f0b9 fc0 46 Để truy cập nút cha, ta sử dụng hàm parent() lớp XML Giả sử ta có biến nxb, 3a67e368 0a4d3d50 cf8d5 f476 8201 e328 cbbba50 c741 ebd4f6 b2e1 0316e d218 e1d2 918 0d4204 90efb3ab05fb73 c76 f04 f402 4609 30bbbd8c70 8725 e74dc8 cf9a 5b23 c6 ce52 6d 5a2ffad28c03f5ddc8 b5b1 9f6 5a9a4 f8ff22e 5e28b515a6 e2baff25 e0185 e7457 d94 b3 có tham chiếu đến thành phần 6e74e1a5 eb8e 6a6629 e94dc3 b8533 4599 8a334 c325 5d17 f25 1a9f0fc09d15d4 76fc381 14dd4 024 c2f27f32d2 1896e 863 d2798 93b4 5fb87d4d3 b709a d32bf1 f855 3822 14eb1 0a var nxb:XML = tieuthuyet.NHAXUATBAN[0]; Vũ Tấn Hưng 117 4a2b893 e6f264e6 3adfe30c144aa d9ad6 d154a 23f6b2 be48 d55b74c3677 f31a2 6752 77 Nguyễn Thị Minh Tồn Tìm hiểu ngơn ngữ lập trình Adobe Flash - Xây dựng ứng dụng minh họa Để truy xuất cha , (là ), ta sử dụnng: nxb.parent() Phương thức parent() sử dụng liên tiếp để truy xuất nút tổ tiên Như ví dụ sau: //Tạo XML cấp var doc:XML = ; //gán tham chiếu cho var be:XML = doc.cha.con[0]; // Dùng parent() liên tiếp để truy cập từ var ongnoi:XML = be.parent().parent(); 7.10.3 Truy cập nút anh em Những nút anh em nút bên cạnh nút khác cấp phân cấp XML Ví dụ phân cấp , anh em với Trong E4X, khơng có hỗ trợ xây dựng sẵn cho việc di chuyển nút anh em phân cấp XML Những biến nexSibling, previousSibling DOM không 6f87e 1b11a 932da b860 f81 b6 f9bdc3 2eca c777 6e0cf7 b60da 52f6cf66 b5ff294 1e747 e e1b11a9 32da b860 f81 b6f9bdc32 ecac7776 e0cf7b60da5 2f6 cf66b5ff2941e 747e 6f8 thuộc E4X API Tuy nhiên truy cập nút anh em thông qua 932dab860 f81b6f9 bdc32e cac7776e 0cf7b6 0da5 2f6 cf66b5ff2 941e 747e6 f87e 1b1 1a 860f8 1b6 f9bdc32eca c77 76e0 cf7 b60 da52 f6cf66 b5ff29 41e74 7e6f87e1 b11a9 32da b số Đoạn mã sau truy cập nút anh em : f81b6f9 bdc32e cac7 776e0 cf7b6 0da52 f6 cf6 6b5ff2 941e7 47e6 f87e 1b11a 932da b86 6f9bdc3 2eca c77 76e0 cf7 b60 da52 f6cf66 b5ff294 1e74 7e6f87e1 b11a9 32dab860 f81 b dc32e cac7776 e0cf7b60da5 2f6 cf66b5ff2941e 747e 6f87 e1b1 1a932 dab8 60f81b6 f9 b var tacgia:XML = tieuthuyet.TACGIA[0]; 32eca c7776 e0cf7 b60da 52f6cf66b5ff2941 e747e 6f8 7e1b11a932 dab8 60f81b6 f9 bdc c7776 e0cf7b60da 52f6 cf66b5ff2941 e747e 6f8 7e1b11a932 dab8 60f81b6 f9 bdc32e ca // truy cập nút anh em liền trước e0cf7b60 da52 f6 cf6 6b5ff2 941e7 47e6 f87e 1b11a 932da b860 f81 b6 f9bdc3 2eca c777 fc3a3 f93a 08582 6d66a 60f835 d2406 ea15 f7e7 b88cbf5e9cb78 cc9e16 d1072 e24 c3ee4 trace(tacgia.parent().*[tacgia.childIndex()-1]); // Xuất: Mat Ma Da Vinci 7d0800 c6a8 0136 f54 da448 1c2 b397 7f6 f33 e0be 8a4b3 d678 cc5b77 828 cc3 7ae38 f66a4 9c84a7 1dc1cb825a 4f1 d7c732fb9a4 e5765 f83 10c1984 f96 1e06 cf3 fc71f185b5ad74 b fac7b7b2 0dfcfdcdf1 cf4 2b2 fc6 b5a c1e9 c4a51ae fef5b7 de7f4b3 cc9e5d780d33d5 94 //truy cập nút anh em liền sau 9e3f2 1bf4656 147e4 1c5 63d1 76a97 9e946 6be8 9c63 c0e 2907 0df0e654 8e28 c32 c6 f8f7 7ea8e433 c9 f051 8c9 06b9a 684d9d02 5cb598 854db148 3a8024 9bc348 7e1be 4646 2d7a b trace(tacgia.parent().*[tacgia.childIndex()+1]); // Xuất: VHTT f21d145b5b08 b8e1 f8 c76 f42 b4ce 759fb93 c48 e7f8a41e7 8571e 64a2 f48b0e5 c8d4 bb8 df3 fa34df8 f2c9de ba5dcb1e e30bc7d67cb1d4163 72d9 47cdab0 1c5 76b2 b2efb3 c49a2 08d258 539 bc6 96d5a 3b1a4 c49 7180 bae30 dc4 4793a3 dc5d19 4ad09 3cb5c3f9 9f2 02398 7.10.4 Truy cập thuộc tính 30ff2d29 b07 f39 d69e d7d2 e358bfca d25b40c5434 0e68a b4ee2 b76e0 b2a8 65300 be6e 95f4 fcb5fd1f4 934 f29e7 ee6d7cfa 31ddc0 5b49 f94 3c1 e22 f3b5 c0e4a d46 2e7c96fc5b 3f9 f11 c9f0 8a6db91a1 7118e 3de6 3e7a02 f9 c1d19137 7d0a7a 34d40ff5b8 453 f6f4e0e Để truy cập XMLList chứa thuộc tính tất thành phần, ta sử dụng 59e15a9 f853 8397 40b3 e9ac33e6fc51 7d8 b739 3a5076 c67 d16e 7cc03df1 b1f0b9 fc0 46 3a67e368 0a4d3d50 cf8d5 f476 8201 e328 cbbba50 c741 ebd4f6 b2e1 0316e d218 e1d2 918 phương thức attibutes() thể lớp XML Ví dụ: 0d4204 90efb3ab05fb73 c76 f04 f402 4609 30bbbd8c70 8725 e74dc8 cf9a 5b23 c6 ce52 6d 5a2ffad28c03f5ddc8 b5b1 9f6 5a9a4 f8ff22e 5e28b515a6 e2baff25 e0185 e7457 d94 b3 6e74e1a5 eb8e 6a6629 e94dc3 b8533 4599 8a334 c325 5d17 f25 1a9f0fc09d15d4 76fc381 tieuthuyet.attibutes() 14dd4 024 c2f27f32d2 1896e 863 d2798 93b4 5fb87d4d3 b709a d32bf1 f855 3822 14eb1 0a 4a2b893 e6f264e6 3adfe30c144aa d9ad6 d154a 23f6b2 be48 d55b74c3677 f31a2 6752 77 Vũ Tấn Hưng 118 Nguyễn Thị Minh Tồn Tìm hiểu ngơn ngữ lập trình Adobe Flash - Xây dựng ứng dụng minh họa Hoặc ta dùng kí tự đại diện thuộc tính (@*), như: tieuthuyet.@* // Trả XMLList chứa thuộc tính tieuthuyet Cũng với thành phần, thuộc tính XMLList truy cập qua tốn tử mảng ([ ]) Để truy cập thuộc tính (và nhất) thành phần , ISBN, ta viết: tieuthuyet.attributes()[0] tieuthuyet.@*[0] Thơng thường, thuộc tính truy cập thông qua tên Cú pháp sau: thanhphan.attributes(“TenTT”) thanhphan.@TenTT Câu lệnh trả XMLList chứa thuộc tính có tên TenTT thành phần thanhphan Ví dụ, câu lệnh sau trả XMLList chứa thể XML thuộc tính ISBN : tieuthuyet.attribute(“ISBN”) tieuthuyet.@ISBN 7.10.5 Truy cập nút hậu duệ Chúng ta xét đến cách thức truy cập nút thành phần mà nút “hậu duệ” Những nút hậu duệ thành phần nút mà chứa cấp XML phân cấp (như nút cháu, nút chắt,…) Ví dụ: xét đoạn XML mơ tả thao tác cho mượn sách phim thư viện: 6f87e 1b11a 932da b860 f81 b6 f9bdc3 2eca c777 6e0cf7 b60da 52f6cf66 b5ff294 1e747 e e1b11a9 32da b860 f81 b6f9bdc32 ecac7776 e0cf7b60da5 2f6 cf66b5ff2941e 747e 6f8 var muon:XML = 932dab860 f81b6f9 bdc32e cac7776e 0cf7b6 0da5 2f6 cf66b5ff2 941e 747e6 f87e 1b1 1a 860f8 1b6 f9bdc32eca c77 76e0 cf7 b60 da52 f6cf66 b5ff29 41e74 7e6f87e1 b11a9 32da b f81b6f9 bdc32e cac7 776e0 cf7b6 0da52 f6 cf6 6b5ff2 941e7 47e6 f87e 1b11a 932da b86 6f9bdc3 2eca c77 76e0 cf7 b60 da52 f6cf66 b5ff294 1e74 7e6f87e1 b11a9 32dab860 f81 b dc32e cac7776 e0cf7b60da5 2f6 cf66b5ff2941e 747e 6f87 e1b1 1a932 dab8 60f81b6 f9 b Mat Ma DaVinci 32eca c7776 e0cf7 b60da 52f6cf66b5ff2941 e747e 6f8 7e1b11a932 dab8 60f81b6 f9 bdc c7776 e0cf7b60da 52f6 cf66b5ff2941 e747e 6f8 7e1b11a932 dab8 60f81b6 f9 bdc32e ca Dan Brown e0cf7b60 da52 f6 cf6 6b5ff2 941e7 47e6 f87e 1b11a 932da b860 f81 b6 f9bdc3 2eca c777 fc3a3 f93a 08582 6d66a 60f835 d2406 ea15 f7e7 b88cbf5e9cb78 cc9e16 d1072 e24 c3ee4 VHTT 7d0800 c6a8 0136 f54 da448 1c2 b397 7f6 f33 e0be 8a4b3 d678 cc5b77 828 cc3 7ae38 f66a4 9c84a7 1dc1cb825a 4f1 d7c732fb9a4 e5765 f83 10c1984 f96 1e06 cf3 fc71f185b5ad74 b fac7b7b2 0dfcfdcdf1 cf4 2b2 fc6 b5a c1e9 c4a51ae fef5b7 de7f4b3 cc9e5d780d33d5 94 9e3f2 1bf4656 147e4 1c5 63d1 76a97 9e946 6be8 9c63 c0e 2907 0df0e654 8e28 c32 c6 f8f7 7ea8e433 c9 f051 8c9 06b9a 684d9d02 5cb598 854db148 3a8024 9bc348 7e1be 4646 2d7a b f21d145b5b08 b8e1 f8 c76 f42 b4ce 759fb93 c48 e7f8a41e7 8571e 64a2 f48b0e5 c8d4 bb8 df3 fa34df8 f2c9de ba5dcb1e e30bc7d67cb1d4163 72d9 47cdab0 1c5 76b2 b2efb3 c49a2 08d258 539 bc6 96d5a 3b1a4 c49 7180 bae30 dc4 4793a3 dc5d19 4ad09 3cb5c3f9 9f2 02398 Hon Ma 30ff2d29 b07 f39 d69e d7d2 e358bfca d25b40c5434 0e68a b4ee2 b76e0 b2a8 65300 be6e 95f4 fcb5fd1f4 934 f29e7 ee6d7cfa 31ddc0 5b49 f94 3c1 e22 f3b5 c0e4a d46 2e7c96fc5b Stanley 3f9 f11 c9f0 8a6db91a1 7118e 3de6 3e7a02 f9 c1d19137 7d0a7a 34d40ff5b8 453 f6f4e0e 59e15a9 f853 8397 40b3 e9ac33e6fc51 7d8 b739 3a5076 c67 d16e 7cc03df1 b1f0b9 fc0 46 MGM 3a67e368 0a4d3d50 cf8d5 f476 8201 e328 cbbba50 c741 ebd4f6 b2e1 0316e d218 e1d2 918 0d4204 90efb3ab05fb73 c76 f04 f402 4609 30bbbd8c70 8725 e74dc8 cf9a 5b23 c6 ce52 6d 5a2ffad28c03f5ddc8 b5b1 9f6 5a9a4 f8ff22e 5e28b515a6 e2baff25 e0185 e7457 d94 b3 6e74e1a5 eb8e 6a6629 e94dc3 b8533 4599 8a334 c325 5d17 f25 1a9f0fc09d15d4 76fc381 14dd4 024 c2f27f32d2 1896e 863 d2798 93b4 5fb87d4d3 b709a d32bf1 f855 3822 14eb1 0a Vũ Tấn Hưng 4a2b893 e6f264e6 3adfe30c144aa d9ad6 d154a 23f6b2 be48 d55b74c3677 f31a2 6752 77 119 Nguyễn Thị Minh Tồn Tìm hiểu ngơn ngữ lập trình Adobe Flash - Xây dựng ứng dụng minh họa Sex and the city Hayao HBO Trong đoạn ví dụ hậu duệ thành phần mượn bao gồm: Những nút trực tiếp: hai Những nút cháu: , , , NhỮng nút chắt: nút văn chứa , , , Để truy cập thành phần hậu duệ ta sử dụng toán tử ( ), sau: thanhphan dinhdanh Biểu thức truy cập hậu duệ trả XMLList chứa thành phần hậu duệ mà có tên dinhdanh Ví dụ biểu thực sau trả XMLList chứa hai thể XML hai : muon DAODIEN Lưu ý thành phần trực tiếp 6f87e 1b11a 932da b860 f81 b6 f9bdc3 2eca c777 6e0cf7 b60da 52f6cf66 b5ff294 1e747 e mà thành phần cháu e1b11a9 32da b860 f81 b6f9bdc32 ecac7776 e0cf7b60da5 2f6 cf66b5ff2941e 747e 6f8 932dab860 f81b6f9 bdc32e cac7776e 0cf7b6 0da5 2f6 cf66b5ff2 941e 747e6 f87e 1b1 1a 860f8 1b6 f9bdc32eca c77 76e0 cf7 b60 da52 f6cf66 b5ff29 41e74 7e6f87e1 b11a9 32da b f81b6f9 bdc32e cac7 776e0 cf7b6 0da52 f6 cf6 6b5ff2 941e7 47e6 f87e 1b11a 932da b86 6f9bdc3 2eca c77 76e0 cf7 b60 da52 f6cf66 b5ff294 1e74 7e6f87e1 b11a9 32dab860 f81 b dc32e cac7776 e0cf7b60da5 2f6 cf66b5ff2941e 747e 6f87 e1b1 1a932 dab8 60f81b6 f9 b 32eca c7776 e0cf7 b60da 52f6cf66b5ff2941 e747e 6f8 7e1b11a932 dab8 60f81b6 f9 bdc c7776 e0cf7b60da 52f6 cf66b5ff2941 e747e 6f8 7e1b11a932 dab8 60f81b6 f9 bdc32e ca e0cf7b60 da52 f6 cf6 6b5ff2 941e7 47e6 f87e 1b11a 932da b860 f81 b6 f9bdc3 2eca c777 fc3a3 f93a 08582 6d66a 60f835 d2406 ea15 f7e7 b88cbf5e9cb78 cc9e16 d1072 e24 c3ee4 7d0800 c6a8 0136 f54 da448 1c2 b397 7f6 f33 e0be 8a4b3 d678 cc5b77 828 cc3 7ae38 f66a4 9c84a7 1dc1cb825a 4f1 d7c732fb9a4 e5765 f83 10c1984 f96 1e06 cf3 fc71f185b5ad74 b fac7b7b2 0dfcfdcdf1 cf4 2b2 fc6 b5a c1e9 c4a51ae fef5b7 de7f4b3 cc9e5d780d33d5 94 9e3f2 1bf4656 147e4 1c5 63d1 76a97 9e946 6be8 9c63 c0e 2907 0df0e654 8e28 c32 c6 f8f7 7ea8e433 c9 f051 8c9 06b9a 684d9d02 5cb598 854db148 3a8024 9bc348 7e1be 4646 2d7a b f21d145b5b08 b8e1 f8 c76 f42 b4ce 759fb93 c48 e7f8a41e7 8571e 64a2 f48b0e5 c8d4 bb8 df3 fa34df8 f2c9de ba5dcb1e e30bc7d67cb1d4163 72d9 47cdab0 1c5 76b2 b2efb3 c49a2 08d258 539 bc6 96d5a 3b1a4 c49 7180 bae30 dc4 4793a3 dc5d19 4ad09 3cb5c3f9 9f2 02398 30ff2d29 b07 f39 d69e d7d2 e358bfca d25b40c5434 0e68a b4ee2 b76e0 b2a8 65300 be6e 95f4 fcb5fd1f4 934 f29e7 ee6d7cfa 31ddc0 5b49 f94 3c1 e22 f3b5 c0e4a d46 2e7c96fc5b 3f9 f11 c9f0 8a6db91a1 7118e 3de6 3e7a02 f9 c1d19137 7d0a7a 34d40ff5b8 453 f6f4e0e 59e15a9 f853 8397 40b3 e9ac33e6fc51 7d8 b739 3a5076 c67 d16e 7cc03df1 b1f0b9 fc0 46 3a67e368 0a4d3d50 cf8d5 f476 8201 e328 cbbba50 c741 ebd4f6 b2e1 0316e d218 e1d2 918 0d4204 90efb3ab05fb73 c76 f04 f402 4609 30bbbd8c70 8725 e74dc8 cf9a 5b23 c6 ce52 6d 5a2ffad28c03f5ddc8 b5b1 9f6 5a9a4 f8ff22e 5e28b515a6 e2baff25 e0185 e7457 d94 b3 6e74e1a5 eb8e 6a6629 e94dc3 b8533 4599 8a334 c325 5d17 f25 1a9f0fc09d15d4 76fc381 14dd4 024 c2f27f32d2 1896e 863 d2798 93b4 5fb87d4d3 b709a d32bf1 f855 3822 14eb1 0a 4a2b893 e6f264e6 3adfe30c144aa d9ad6 d154a 23f6b2 be48 d55b74c3677 f31a2 6752 77 Vũ Tấn Hưng 120 Nguyễn Thị Minh Toàn

Ngày đăng: 25/12/2023, 00:05

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan