Tài liệu Tìm hiểu ngôn ngữ lập trình Visual Basic: ... Ebook Tìm hiểu ngôn ngữ lập trình Visual Basic
337 trang |
Chia sẻ: huyen82 | Lượt xem: 2123 | Lượt tải: 3
Tóm tắt tài liệu Tìm hiểu ngôn ngữ lập trình Visual Basic, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Phần I: Cơ sở lý thuyết về ngôn ngữ visual Basic
Chương 1:
Tìm hiểu ngôn ngữ lập trình Visual Basic
Tổng quan về ngôn ngữ lập trình Visual Basic
Visual Basic, con đường nhanh nhất và đơn giản nhất để tạo những ứng dụng cho Microsoft Windows. Bất kể bạn là một nhà chuyên nghiệp hay là một người mới lập trình Windows, Visual Basic cung cấp cho bạn một tập hợp các công cụ hoàn chỉnh để nhanh chóng phát triển các ứng dụng.
Vậy Visual Basic là gì ? Thành phần “Visual” nói đến các phương thức dùng để tạo giao diện đồ họa người sử dụng (GUI). Thay vì viết những dòng mã để mô tả sự xuất hiện và vị trí của những thành phần giao diện, ta chỉ cần thêm vào những đối tượng đã được định nghĩa trước ở vị trí nào đó trên màn hình.
Thành phần “Basic” nói đến ngôn ngữ “BASIC” (Beginners All-Purpose Symbolic Instruction Code) một ngôn ngữ được dùng bởi nhiều nhà lập trình hơn bất cứ một ngôn ngữ nào khác trong lịch sử máy tính. Visual Basic được phát triển dần dần dựa trên ngôn ngữ BASIC, và bây giờ chứa đựng hàng trăm điều lệnh, hàm, và từ khóa… có quan hệ trực tiếp với giao diện đồ họa của Windows.
Ngôn ngữ lập trình Visual Basic không chỉ là Visual Basic. Hệ thống lập trình Visual Basic, những ứng dụng bao gồm Microsoft Excel, Microsoft Access, và nhiều ứng dụng Windows khác đều dùng cùng một ngôn ngữ.
Mặc dù mục đích của chúng ta là tạo ra những ứng dụng nhỏ cho bản thân hay một nhóm, một hệ thống các công ty lớn, hoặc thậm chí phân phối những ứng dụng ra toàn cầu qua Internet. Visual Basic là cung cụ mà bạn cần.
Những chức năng truy xuất dữ liệu cho phép ta tạo ra những cơ sở dữ liệu, những ứng dụng front-end, và những thành phần phạm vi server-side cho hầu hết các dạng thức cơ sở dữ liệu phổ biến, bao gồm Microsoft SQL Server và những cơ sở dữ liệu mức enterprise khác.
Những kỹ thuật ActiveX cho phép ta dùng những chức năng được cung cấp từ những ứng dụng khác, như là chương trình xử lý văn bản Microsoft Word, bảng tính Microsoft Excel và những ứng dụng Windows khác.
Khả năng Internet làm cho nó dễ dàng cung cấp cho việc thêm vào những tài liệu và ứng dụng qua Internet hoặc intranet từ bên trong ứng dụng của bạn, hoặc tạo những ứng dụng Internet server.
Ưùng dụng của bạn kết thúc là một file .exe thật sự. Nó dùng một máy ảo Visual Basic để bạn tự do phân phối ứng dụng.
Cấu trúc của một ứng dụng Visual Basic
Một ứng dụng thật ra là một tập hợp các chỉ dẫn trực tiếp đến máy tính để thi hành một hay nhiều tác vụ. Cấu trúc của một ứng dụng là phương pháp trong đó các chỉ dẫn được tổ chức, đó là nơi chỉ dẫn được lưu giữ và thi hành những chỉ dẫn trong một trình tự nhất định.
Vì một ứng dụng Visual Basic, trên cơ bản là những đối tượng, cấu trúc mã đóng để tượng trưng cho những mô hình vật lý trên màn hình. Bằng việc định nghĩa, những đối tượng chứa mã và dữ liệu. Form, cái mà chúng ta nhìn thấy trên màn hình là tượng trưng cho những thuộc tính, quy định cách xuất hiện và cách cư xử. Cho mỗi form trong một ứng dụng, có một quan hệ module form (với tên file mở rộng là .frm) dùng để chứa đựng mã của nó.
Mỗi module chứa những thủ tục sự kiện – những đoạn mã, nơi đặt những chỉ dẫn, cái sẽ được thi hành trong việc đáp ứng những sự kiện chỉ định. Form có thể chứa những điều khiển. Tương ứng với mỗi điều khiển trên form, có một tập hợp những thủ tục sự kiện trong module form đó.
Mã không chỉ quan hệ với một form chỉ định hay điều khiển có thể được đặt trong một loại module khác, một module chuẩn (.BAS). Một thủ tục được dùng để đáp ứng những sự kiện trong những đối tượng khác nhau phải được đặt trong cùng một chuẩn, thay vì tạo những bản sao mã trong những thủ tục sự kiện cho mỗi đối tượng. Một lớp module (.cls) được dùng để tạo những đối tượng, cái mà có thể được gọi từ những thủ tục bên trong ứng dụng của bạn. Trong khi một module chuẩn chỉ chứa mã, một lớp module chứa đựng cả mã và dữ liệu. Ta có thể nghĩ nó như một điều khiển.
3. Chúng ta có thể làm gì với Visual Basic
Tạo giao diện người sử dụng
Giao diện người sử dụng có lẽ là thành phần quan trọng nhất của một ứng dụng. Đối với người sử dụng, giao diện chính là ứng dụng ; họ không cần chú ý đến thành phần mã thực thi bên dưới. Ứng dụng của chúng ta có thể phổ biến được hay không phụ thuộc vào giao diện.
Sử dụng những điều khiển chuẩn của Visual Basic
Ta dùng những điều khiển để lấy thông tin mà người sử dụng nhập vào, và để hiển thị kết xuất. Những điều khiển mà ta có thể dùng trong ứng dụng bao gồm hộp văn bản, nút lệnh, và hộp danh sách,…. Những điều khiển khác cho ta truy xuất những ứng dụng khác, xử lý dữ liệu của nó như là một thành phần mã trong ứng dụng của bạn.
Lập trình với những đối tượng.
Những đối tượng là thành phần chủ yếu để lập tình Visual Basic. Những đối tượng có thể là form, những điều khiển hay cơ sở dữ liệu.
Lập trình với phần hợp thành
Chúng ta đôi khi cần sử dụng khả năng tính toán của Microsoft Excel trong ứng dụng Visual Basic, hay định dạng một tài liệu sử dụng thanh công cụ định dạng của Microsoft Word, hoặc lưu trữ và xử lý dữ liệu dùng Microsoft Jet… Tất cả những điều này có thể thực hiện được bằng cách xây dựng những ứng dụng của chúng ta sử dụng những thành phần ActiveX. Thêm vào đó, Visual Basic có thể giúp chúng ta tạo ra những điều khiển ActiveX riêng.
Đáp ứng những sự kiện chuột và bàn phím
Những ứng dụng Visual Basic có thể đáp ứng một lượng lớn sự kiện chuột và bàn phím. Ví dụ form, hộp ảnh, và những điều khiển ảnh có thể phát hiện vị trí con trỏ chuột, có thể quyết định phím trái hay phím phải được nhấn, và có thể đáp ứng những tổ hợp của phím chuột với phím Shift, Ctrl, hay Alt. Sử dụng những điều khiển phím, ta có thể lập trình những điều khiển và form để đáp ứng các hành động phím hoặc phiên dịch và xử lý mã Ascii của ký tự.
Thêm vào đó, những ứng dụng Visual Basic có thể hỗ trợ sự kiện rê và thả cũng như tính năng rê và thả OLE.
Làm việc với văn bản và đồ họa.
Visual Basic cung cấp khả năng đồ họa và văn bản phức tạp trong ứng dụng. Những thuộc tính văn bản có thể giúp ta nhấn mạnh các khái niệm quan trọng và các chi tiết cần quan tâm. Thêm vào đó, Visual Basic cung cấp khả năng đồ họa cho phép ta linh động trong thiết kế, bao hàm các hình ảnh động bằng cách hiển thị một loạt các hình ảnh liên tiếp nhau.
Gỡ rối mã và quản lý lỗi
Đôi khi có những lỗi xảy ra bên trong mã của ứng dụng. Những lỗi nghiêm trọng có thể là nguyên nhân một ứng dụng không đáp ứng lệnh, thông thường yêu cầu người sử dụng khởi động lại ứng dụng, và không lưu lại những gì ta đã làm. Quá trình tìm ra và sửa lỗi gọi là gỡ rối. Visual Basic cung cấp nhiều công cụ giúp chúng ta phân tích ứng dụng làm việc như thế nào. Những công cụ gỡ rối đặt biệt hữu ích trong việc tìm ra nguồn gốc lỗi, nhưng chúng ta cũng có thể dùng những công cụ này để kiểm tra chương trình hoặc tìm hiểu những ứng dụng khác nhau làm việc như thế nào.
Xử lý ổ đĩa, thư mục và file
Khi lập trình trong Windows, nó rất quan trọng để có khả năng thêm, di chuyển, tạo mới hoặc xóa những thư mục và file, lấy thông tin về và xử lý ổ đĩa. Visual Basic cho phép chúng ta xử lý ổ đĩa, thư mục và file bằng hai phương pháp : qua những phương htức cũ như là điều lệnh Open, Write#, và qua một tập hợp các công cụ mới như FSO (File System Object)
Thiết kế cho việc thi hành và tính tương thích
Visual Basic chia xẻ hầu hết những tính năng ngôn ngữ trong Visual Basic cho những ứng dụng, bao gồm trong Microsoft Office và nhiều ứng dụng khác. Visual Basic, VBScript, một ngôn ngữ script Internet, đều là tập hợp con của ngôn ngữ Visual Basic.
Phân phối những ứng dụng
Sau khi tạo một ứng dụng Visual Basic, ta có thể tự do phân phối bất kỳ ứng dụng nào đã tạo bằng Visual Basic đến bất cứ ai dùng Microsoft Windows. Ta có thể phân phối ứng dụng trên đĩa, trên CD, qua mạng, trên intranet hoặc Internet.
4. Tóm tắt ngôn ngữ
Biến
Biến được dùng để lưu tạm thời các giá trị tính toán trong quá trình xử lý chương trình.
Cách khai báo biến
Visual Basic dùng cách khai báo biến trong chương trình như sau :
Dim As
Ta cũng có thể không cần khai báo kiểu biến (tức bỏ mệnh đề As phía sau), trong trường hợp này, biến có thể được dùng để lưu giữ một giá trị bất kỳ.
Quy tắc đặt tên biến
Tên biến có chiều dài tối đa 255 ký tự.
Phải bắt đầu bằng một chữ cái.
Không đặt các khoảng trống và các ký hiệu (+ - * /…) trong tên biến.
Không được trùng với từ khóa của ngôn ngữ.
Tránh đặt tên trùng nhau.
Phạm vi sử dụng biến
Phạm vi sử dụng biến tùy thuộc cách ta khai báo và chỗ ta đặt dòng lệnh khai báo biến.
Nếu ta khai báo trong phần General, biến có thể được dùng ở bất kỳ đoạn lệnh nào trong from và cũng chỉ mất đi khi from được giải phóng khỏi bộ nhớ.
Nếu ta khai báo biến trong phần viết lệnh cho một sự kiện của một đối tượng (tức khai báo giữa hai dòng Sub và End Sub của mã lệnh đó) thì biến chỉ tồn tại và dùng được trong phạm vi hai dòng Sub và End Sub đó mà thôi. Biến như vậy gọi là biến riêng hay biến nội bộ.
Nếu ta dùng từ khóa Public thay cho Dim để khai báo biến , biến sẽ tồn tại trong suốt thời gian thực hiện chương trình và có thể dùng được trong bất cứ đoạn lệnh nào của chương trình. Biến như vậy gọi là biến chung hay biến toàn cục.
4.2. Các kiểu dữ liệu trong Visual Basic
Tên kiểu Kích thước Khoảng gía trị
Byte 1 byte 0 đến 255 (tức có thể gán cho biến các giá trị nhỏ
nhất là 0 và lớn nhất là 255)
Integer 2 byte -32768 đến 32767
Long 4 byte -2.147.483.648 đến 2.147.483.647
Single 4 byte -3,402823E38 đến –1,401298E-45 (các gía trị âm)
1,401298E-45 đến 3,402823E38 (các gía trị dương)
Double 8 byte -1,79769E308 đến –4,94065E-324 (giá trị âm)
4,94065E-324 đến 1,79769E308 (giá trị dương)
Currency 8 byte -922337203685477,5808 đến
922337203685477,5807
Boolean 2 byte True tới False
Date 2 byte 1 tháng 1 năm 100 đến 31 tháng 12 năm 9999 ;
Thời gian từ 0:00:00 đến 23:59:59:
String 1 byte cho có thể lên đến 231 ký tự
mỗi ký tự
Variant 16 byte + Null, Error, bất kỳ kiểu số nào có giá trị trong khoảng
1 byte cho Double hay bất kỳ nội dung text nào
mỗi ký tự
Ký hiệu Exx phía sau số có nghĩa là nhân với 10xx.
Kiểu số nguyên dương (không chấp nhận số âm) gồm kiểu Byte.
Kiểu số nguyên (chấp nhận cả số âm nhưng không chấp nhận phần lẻ thập phân) gồm các kiểu :Integer, Long.
Kiểu số thực gồm Single, Double, Currency.
Kiểu Boolean gọi là kiểu luận lý, nó chỉ chấp nhận hai giá trị True là đúng và False là sai.
Kiểu String dùng để chứa các giá trị chuỗi. Một chuỗi ký tự có thể có nhiều ký tự. Khi viết một giá trị chuỗi, ta phải bao hai đầu nó bằng dấu nháy kép.
Kiểu ngày tháng (Date) để chứa giá trị thời gian. Khi viết một giá trị kiểu Date, ta có thể viết theo bất cứ kiểu ghi giờ nào bao hai đầu bằng dấu #.
Các toán tử trong Visual Basic
4.3.1. Các toán tử tính toán
Toán tử Ý nghĩa Ví dụ
+ Cộng hai số hạng với nhau X =Y + 1
có thể dùng để cộng hai chuỗi st= “Visual” + “Basic”
- Trừ hai số hạng X = Y - 1
* Nhân hai số hạng X = Y * 1
/ Chia, trả về kiểu số thực Y = 1 / 2
\ Chia lấy nguyên X = 3 \ 2 ‘X sẽ nhận giá trị 1
Mod Chia lấy dư X = 7 Mod 4 ‘X sẽ nhận giá trị 3
^ Lấy lũy thừa X = Y ^ 3
4.3.2. Các toán tử so sánh
Toán tử Ý nghĩa
> So sánh xem số thứ nhất có lớn hơn số thứ hai không.
< So sánh xem số thứ nhất có nhỏ hơn số thứ hai không.
= So sánh xem số thứ nhất có bằng số thứ hai không.
So sánh xem số thứ nhất có khác hơn số thứ hai không.
>= So sánh xem số thứ nhất có lớn hơn hay bằng số thứ hai không.
<= So sánh xem số thứ nhất có nhỏ hơn hay bằng số thứ hai không.
4.3.3. Các toán tử luận lý
Toán tử Ý nghĩa
And Trả về True nếu cả hai số hạng đều là True, trả về False nếu
một trong hai số hạng là False.
Or Trả về True nếu một trong hai số hạng là True, trả về False nếu
cả hai số hạng là False.
Not Trả về True nếu số hạng là False, False nếu số hạng là True.
4.4. Cấu trúc tuyển và cấu trúc lặp
4.4.1. Cấu trúc tuyển
Cấu trúc tuyển If
Cú pháp 1 :
If Then
… ‘Nếu biểu thức luận lý trên là True
… ‘thì thực hiện đoạn lệnh này
End If
Cú pháp 2 :
If Then
… ‘Nếu biểu thức luận lý trên là True
… ‘thì thực hiện đoạn lệnh này
Else
… ‘Ngược lại nếu biểu thức luận lý là False
… ‘thì thực hiện đoạn lệnh này.
End If
Cấu trúc tuyển Select Case
Cú pháp :
Select Case ‘xét biến hay biểu thức này
Case ‘Nếu biến hay biểu thức bằng các giá trị này
‘thì thực hiện đoạn lệnh này
…
Case
…
‘có thể có nhiều Case cho các điều kiện cần
xét.
[ Case Else ‘Nếu biến hay biểu thức không bằng các giá
trị của các Case bên trên
] ‘thì thực hiện phần lệnh này
…
End Select
Các cấu trúc lặp
Cấu trúc Do…Loop
Cú pháp 1 :
Do While ‘trong khi biểu thức điều kiện đúng
‘thì thực hiện các câu lệnh này
Loop ‘Quay trở về dòng Do While để kiểm tra lại
Cú pháp 2 :
Do ‘thực hiện
‘các câu lệnh này
Loop Until ‘cho đến khi điều kiện đúng
Cú pháp này khác cú pháp 1 ở chỗ : trong cú pháp 1 điều kiện được xét trước khi thực hiện các câu lệnh, cú pháp 2 điều kiện được xét sau khi thực hiện các câu lệnh.
Cấu trúc For…Next
Cú pháp :
For biến = giá trị đầu To giá trị cuối [Step khoảng tăng]
Next biến
Thủ tục
Cách định nghĩa thủ tục
Một thủ tục trước khi muốn sử dụng nó phải định nghĩa nó. Dùng từ khóa Sub để khai báo thủ tục như thế này.
Private/Pulic Sub
…
End Sub ‘Chỗ kết thúc thủ tục.
Nếu ta khai báo bằng từ khóa Public, thủ tục có thể được gọi để sử dụng trong bất kỳ form nào trong chương trình.
Nếu ta khai báo bằng từ khóa Private, thủ tục chỉ có thể dùng được trong form có chứa nó mà thôi
Thủ tục có truyền tham số
Khi một thủ tục được gọi mà có truyền thêm một số giá trị vào, các giá trị này được gọi là các tham số của thủ tục đó. Để làm điều này, khi khai báo thủ tục ta cần ghi thêm nó sẽ nhận bao nhiêu tham số bằng cú pháp như sau :
Private/Public Sub ( As ,…)
II. Những ứng dụng Internet Visual Basic
Các khái niệm về ứng dụng Internet
Ứng dụng Internet là gì ?
Một ứng dụng Internet là một ứng dụng tương tác, một ứng dụng đã được dịch có thể truy xuất qua Internet. Ưùng dụng Internet có thể thi hành những công việc phức tạp trên cả client hay trên server. Trong một ứng dụng Internet server – based, nó dùng giao thức Internet HTTP để lấy lại những yêu cầu từ một client, đặc biệt là một Web browser, xử lý mã kết hợp với nó, và gửi trả dữ liệu về cho browser.
Trong lập trình Internet Visual Basic, ta có thể thêm nội dung động vào những trang Web dễ dàng. Ưùng dụng Internet Visual Basic liên kết mã Visual Basic đến một hoặc nhiều trang HTML và quản lý sự kiện phát sinh trong những trang này bởi việc tương tác với chương trình trên cả client hay trên server. Giao tiếp với người dùng trong một ứng dụng Internet Visual Basic có thể là một chuỗi các trang HTML(Hyper Text Markup Language), hay là một sự trộn lẫn của trang HTML và Visual Basic form. Tuy nhiên, với loại giao diện nào thì ứng dụng cũng quản lý sự kiện, gọi những phương thức, thiết lập và lấy lại những thuộc tính cơ bản trên những thành phần trong trang HTML đó.
Những mô hình đối tượng Internet
Chúng ta chỉ dùng khái niệm lập trình hướng đối tượng trong ứng dụng Internet Visual Basic chỉ khi chúng ta làm trong ứng dụng Visual Basic form–based. Trong ứng dụng Internet Visual Basic, chúng ta dùng mô hình đối tượng quan hệ để truy xuất và xử lý thông tin và những điều khiển trên trang HTML. Có hai loại ứng dụng Internet Visual Basic : ứng dụng IIS và ứng dụng DHTML. Trong đó ứng dụng IIS (Internet Information Server), ta dùng mô hình đối tượng Active Server Pages (ASP) để lấy lại thông tin từ người sử dụng, gửi thông tin đến browse, và lưu lại thông tin về phiên làm việc hiện tại. Trong ứng dụng DHTML, ta dùng mô hình đối tượng Dynamic HTML (DHTML) để xử lý những thành phần trên một trang HTML.
1.3. Lịch sử phát triển trên Internet
Nội dung tĩnh
Ứng dụng đầu tiên trên Internet là những trang tĩnh, nó gửi nội dung nó đến browser và không tự phản ứng với bất kỳ hành động nào mà người sử dụng đã thi hành. Mặc dù mô hình trình bày với người sử dụng những trang thông tin đã được format nhưng sự tương tác đó là có giới hạn giữa người sử dụng và Web server. Những trang tĩnh này phải được hiệu chỉnh bằng tay để cập nhật những nội dung của nó.
Trình bày nội dung động bằng cách lập trình Gateway
Sự phát triển của những giao tiếp Gateway như là Common Gateway Interface (CGI), ứng dụng Internet Server Programming Interface (ISAPI), và những cái khác cho phép người sử dụng thêm vào những nội dung động cho Web. Với nội dung động, một browser có thể gửi một yêu cầu cho việc tìm kiếm thông tin. Server, thay vì trả về một trang tĩnh, nó chạy một script hay một ứng dụng và trả về trang HTML đã được cập nhật và thông tin chính xác. Điều bất thuận lợi của chương trình Gateway là khó tạo và thay đổi nó.
Scripting
Scripting cho phép nội dung động bằng cách kết hợp những Script có thể thi hành được vào trực tiếp trong một trang HTML. Thay vì yêu cầu Server, browser có thể sử lý những Script khi nó tải HTML này. Nhũng script có thể được sử lý trên cả Client hay trên Web server. Ngôn ngữ chung cho script Client – side là VBScript và JavaScript. Riêng với Script server – side, ngôn ngữ chung cho nó là Active Server Pages (ASP).
Trong mô hình ASP Script, phát triển HTML và phát triển Script là cùng quá trình. Nó cho phép nhà cung cấp Web cung cấp những ứng dụng tương tác thay vì chỉ là xuất bản nội dung.
Ứng dung Internet Visual Basic
Kỹ thuật Internet Visual Basic cho phép ta liên kết những mã VB chuẩn với giao tiếp người sử dụng của những trang HTML. Nó cung cấp chức năng lập trình kết hợp với trang Web, cho phép ta tạo những trang động và tương tác. Với kỹ thuật Internet Visual Basic, ta có thể thi hành những hoạt động phức tạp mà không cần phải lập trình phức tạp như Gateway hay Scripting. Có hai loại ứng dụng Internet VB chính: ứng dụng IIS và ứng dụng DHTML.
1.4. Những thuận lợi của ứng dụng Internet Visual Basic
Có nhiều phương pháp để phát triển những ứng dụng cho Internet. Trước khi có Visual Basic 6.0, những nhà phát triển thường dựa trên chương trình Gateway, trên chức năng ActiveX, hay trên Active Server Page để tạo những ứng dụng Internet động, tương tác. Phát triển ứng dụng Internet trong Visual Basic đưa ra nhiều khóa thuận lợi hơn những phương pháp trên.
Ta có thể làm giảm đáng kể chi phí cho việc triển khai ứng dụng đến với mỗi người sử dụng. Người sử dụng của một ứng dụng Internet IIS có thể chạy ứng dụng này chỉ với duy nhất một browser thích hợp và thời gian chạy Visual Basic trên máy tính của họ. Những thành phần cần thiết đã được thiết lập tự động trước đó.
Ta có thể sử dụng kiến thức của mình về Visual Basic và dùng môi trường lập trình Visual Basic, không cần phải học Scripting hay những thao tác xử lý những tag HTML để phát triển một ứng dụng có chức năng Web – base cao.
Ta có thể tách biệt việc thiết kế giao diện người sử dụng từ việc viết mã cho một form hay một trang. Trong những ứng dụng Web – base trước, những người phát triển phải chèn những script của họ vào trực tiếp trong một tài liệu HTML, cái mà hầu như dùng để tạo giao diện người sử dụng. Nó làm cho mã trở nên khó đọc và quản lý.
Trong ứng dụng IIS, ta có thể dùng lại những trang trong những ngữ cảnh khác nhau. Không giống như HTML, nơi mà thông tin từ trang này sang trang khác phải được gắn chặt vào trong bản thân HTML, thì việc lái thông tin cho một trang trong một ứng dụng Internet Visual Basic được lưu trữ tách biệt từ bản thân mỗi trang. Nó cho phép ta dùng trang này ở nhiều nơi trong một ứng dụng, việc thay đổi hướng tùy thuộc vào ngữ cảnh.
Ta có thể giảm thời gian tải và do đó giảm thời gian tải mạng của chúng ta, bởi vì hệ thống không cần phải tải xuống những thành phần khác để chạy ứng dụng .
Ta có thể dễ dàng lưu giữ trạng thái ứng dụng, như là tên của người sử dụng hoặc số account giữa những yêu cầu client. Tùy thuộc vào loại ứng dụng, ta có thể lưu giữ trạng thái trên client, trên server hay cả hai.
Ta có thể gỡ rối những ứng dụng IIS và DHTML bằng những công cụ gỡ rối chuẩn của Visual Basic.
2. Ứng dụng Internet và những kỹ thuật Internet trong Visual Basic
Ứng dụng Internet Visual Basic
Ứng dụng IIS
Những ứng dụng IIS thường trú trên Web Server và xử lý những yêu cầu đến từ một browser. Ứng dụng IIS xử lý yêu cầu đó, chạy mã VB kết hợp với nó và trả về những đáp ứng cho người sử dụng. Các quá trình xử lý cho một ứng dụng IIS đều xảy ra trên server.
2.1.2. Ứng dụng DHTML
Ưùng dụng DHTML cho phép ta viết mã Visual Basic để quản lý những sự kiện trên bất cứ thành phần nào của một trang HTML. Hầu hết quá trình xử lý trong một ứng dụng DHTML có thể xảy ra trên máy browser, mặc dù ứng dụng có thể gọi server nếu thấy cần thiết.
2.1.3. Sự khác nhau giữa ứng dụng IIS và ứng dụng DHTML
Ứng dụng IIS và ứng dụng DHTML là hai loại ứng dụng Internet mà ta có thể tạo trên Visual Basic. Chúng ta đều có thể đáp ứng những sự kiện trong một trang HTML, tuy nhiên cũng có sự khác giữa hai loại ứng dụng :
Sự phụ thuộc – Ứng dụng DHTML được dùng cho intranet, và phụ thuộc vào Internet Explorer 4.0, trong khi IIS ứng dụng có thể được dùng trên Internet hoặc intranet. Người sử dụng của một ứng dụng IIS không cần chỉ định hệ điều hành hay browser.
Mô hình đối tượng – Ứng dụng DHTML dùng mô hình đối tượng khác với ứng dụng IIS để truy xuất và làm việc với những thành phần trên một trang HTML. Trong khi ứng dụng IIS dùng mô hình đối tượng Active Server Pages, DHTML dùng mô hình đối tượng Dynamic HTML.
Nơi xử lý các quá trình - Ứng dụng IIS được thiết kế để thực thi hầu hết các quátrình xử lý của nó trên Web Server, còn ứng dụng DHTML thực thi quá trình xử lý của nó trên máy browser. Ta không thể tạo bất cứ thành phần Web Server nào khi ta tạo một ứng dụng DHTML.
2.2. Các kỹ thuật lập trình Web mà Visual Basic hỗ trợ
2.2.1. VBScript
Microsoft Visual Basic Scripting, thành phần mới nhất của họ ngôn ngữ lập trình Visual Basic, mang những Script động vào những môi trường khác nhau, bao gồm Script client Web trong Microsoft Internet Explorer và Script Server Web trong Microsoft Internet Information Server.
Visual Basic Scripting được thiết kế để làm chủ bên trong một Internet browser, như là Microsoft Internet Explorer hay những browser khác. VBScript là kỹ thuật ngôn ngữ cực nhanh và mạnh dành cho những môi trường giống như Internet, intranet, hay Word Wide Web. Nó cho phép những nhà phát triển dùng Visual Basic để nhanh chóng tạo ra những giải pháp cho Internet hay Word Wide Web.
Do VBScript là một ngôn ngữ phát triển qua platform, nên không có một số thành phần của ngôn ngữ Visual Basic cho những ứng dụng. Chúng bao gồm những hàm xuất nhập file, những hằng và loại dữ liệu thuộc bên trong. Ta có thể viết mã VBScript trong cửa sổ mã của Visual Basic, nhưng không thể chạy hay kiểm tra ứng dụng trong Visual Basic IDE.
2.2.2. Dynamic HTML
Dynamic HTML là một tập hợp các tính năng có tính chất đổi mới trong Microsoft Internet Explorer 4.0 Dynamic HTML cho những nhà sáng tác khả năng tạo những tài liệu HTML thật nổi bật , cái mà tương tác với người sử dụng mà không phải dựa trên những chương trình server – side hay tập hợp những trang HTML phức tạp để tạo ra những hiệu quả đặc biệt.
Với Dynamic HTML, ta có thể dễ dàng thêm vào những hiệu ứng, ví dụ:
Làm ẩn đi văn bản và hình ảnh vào trong tài liệu và giữ nội dung ẩn cho đến khi qua một khoảng thời gian đã chỉ định hay người sử dụng tương tác với trang này.
Làm cho văn bản và hình ảnh trong tài liệu của trở nên sống động. Mỗi thành phần hoạt động độc lập từ bất kỳ điểm bất đầu nào cho đến bất cứ điểm kết thúc nào, theo một đường dẫn ta chọn hay người sử dụng đã chọn .
Tạo một đồng hồ để tự động cập nhật nội dung mới nhất, kho trích dẫn, hay dữ liệu khác
Tạo một form sau đó đọc, xử lý, và đáp ứng cho dữ liệu mà người sử dụng nhập vào trong form.
Dynamic HTML làm việc rất tốt với những ứng dụng, những điều khiển Active X, và những cái khác chấp nhận những đối tượng. Ta có thể dùng những ứng dụng và điều khiển đang tồn tại hay tạo ra một thành phần mới. Những ứng dụng và điều khiển làm việc rất tốt khi nó dựa vào đó để xử lý những tác vụ khó khăn , và dùng Dynamic HTML để hiển thị kết xuất và xử lý thông tin người sử dụng nhập vào.
2.2.3. Những thành phần ActiveX
Những thành phần ActiveX cho ta khả năng tạo ra ứng dụng bằng cách kết hợp những ứng dụng tinh vi từ những cái đã có sẵn. ActiveX là một đối tượng, nhưng không phải bất cứ đối tượng nào cũng là ActiveX mà nó phải tuân theo 2 tiêu chuẩn chính : đó là đối tượng COM (Component Object Model), và có khả năng tự đăng ký. Đó là những đoạn chương trình độc lập thực hiện một chức năng nào đó mà có thể được gọi bởi những ứng dụng bất kỳ khác. Khi bạn xây dựng những trang Web thì ActiveX Control sẽ làm cho trang Web của bạn sống động với những tính năng phong phú, và tương tác cao với người sử dụng. Ứng dụng Visual Basic có bao hàm nhiều loại thành phần ActiveX
Những ứng dụng hỗ trợ kỹ thuật ActiveX, như là Microsoft Excel, Microsoft Word, và Microsoft Access, cung cấp những đối tượng mà ta có thể thao tác lập trình từ bên trong ứng dụng Visual Basic của chúng ta. Ví dụ ta có thể dùng những thuộc tính, phương thức và sự kiện của Microsoft Excel, Microsoft Word, và Microsoft Access trong ứng dụng của ta.
Những thành phần mã cung cấp thư viện của những đối tượng có thể lập trình . Không giống như một đối tượng trong ứng dụng cho phép ActiveX , một đối tượng trong một thành mã có thể chạy trong cùng một quá trình với ứng dụng của ta, cho phép nhanh chóng truy xuất tới những đối tượng này.
Ta có thể thêm những tính năng mà không phải tạo chúng bằng cách sử dụng những điều khiển ActiveX. Ví dụ như hiển thị một lịch công tác trên một form hoặc đọc dữ liệu được định dạng đặc biệt.
Những tài liệu Active X cho phép ta tạo những ứng dụng Internet tương tác . Ta có thể tạo những form có thể được cất giữ trong Internet Explorer. Những tài liệu ActiveX có thể hiển thị hộp thông báo , form và bao hàm những điều khiển Active X . Những tài liệu ActiveX có thể có chức năng như là những thành phần mã.
PHẦN II :
GIỚI THIỆU ĐỀ TÀI
Đề tài
Lập trình Web bằng ngôn ngữ Visual Basic 6.0
Nhiệm vụ đề tài
Tạo ra một mô phỏng của điện thoại di động, với những tính năng, tác vụ cũng như nguyên lý hoạt động dựa theo một loại máy điện thoại di động có thực, với yêu cầu là người sử dụng trên mạng có thể dùng được như một điện thoại thật sự.
PHẦN III :
PHÂN TÍCH VÀ THIẾT KẾ ĐỀ TÀI
I. Phân tích đề tài
Xác định mục tiêu của chương trình
Nhiệm vụ của chương trình là tạo ra một website, trên đó mô phỏng một điện thoại di động, với đầy đủ những tính năng, tác vụ như một điện thoại thật sự. Thêm vào đó, website phải có những trang hướng dẫn thật đầy đủ, chi tiết về những tính năng, tác vụ, với mục tiêu là một người sử dụng bình thường, khi đọc qua những hướng dẫn, cũng có thể dễ dàng sử dụng điện thoại mô phỏng này như là một điện thoại thật sự.
Xác định cách hiện thực chương trình
Do nhiệm vụ của đề tài là lập trình Web với ngôn ngữ lập trình là Visual Basic 6.0, do đó yêu cầu phải nắm vững những kiến thức cơ bản của Visual Basic 6.0, như các điều lệnh, các toán tử, các cấu trúc tuyển, cách làm việc với biến, với file …. Ngoài phải nắm vững các kiến thức cơ bản đó, chúng em còn phải tìm hiểu thêm các khái niệm cơ bản về Internet để tiện cho việc triển khai ứng dụng sau này.
Do yêu cầu của đề tài là tạo ra 1 mô phỏng điện thoại di động, mà người sử dụng có thể sử dụng trên mạng. Vấn đề đặt ra là phải tìm một công cụ mà Visual Basic 6.0 cung cấp để tạo ra một mô phỏng điện thoại với khả năng đồ họa và tương tác cao với người sử dụng trên mạng.
Sau khi tìm hiểu các công cụ, đối tượng mà Visual Basic 6.0 cung cấp, hỗ trợ để phát triển những ứng dụng trên Internet, chúng em quyết định chọn ActiveX Control làm công cụ để xây dựng chương trình (điện thoại mô phỏng). Với ActiveX Cotrol, chúng em có thể tạo ra giao diện người sử dụng đáp ứng được khả năng đồ họa cao và tương tác với người sử dụng.
Thêm vào đó, chúng em đã dùng Microsoft Frontpage nhằm tạo sự dễ dàng trong việc tạo các trang hướng dẫn người sử dụng dùng những tính năng được xây dựng trong điện thoại mô phỏng,
Các công cụ sẽ dùng để xây dựng chương trình
Visual Basic 6.0.
ActiveX Control trong Visual Basic 6.0.
Microsoft Frontpage.
II.Thiết kế đề tài
Phần thiết kế được chia làm 2 phần : thiết kế giao diện và xây dụng những tính năng tác vụ của điện thoại mô phỏng.
Thiết kế giao diện
Giao diện của chương trình là một chuỗi các trang html, với trang chính sẽ trình bày với người sử dụng khi kích hoạt chương trình là
Trên trang chính này đã thiết kế sẵn những liên kết, lái người sử dụng đến những trang khác nhau tùy theo mối liên kết mà họ chọn
Theo những liên kết này, bạn sẽ đến trang hướng dẫn cũng như sử dụng điện thoại mô phỏng. Trang này được chia làm 3 frame, với mỗi frame là một trang khác nhau, trình bày những nội dung khác nhau. Người sử dụng có thể lần theo những mối liên kết ở frame thứ nhất (trình bày trang cây tính năng) để xem những hướng dẫn chi tiết về cách sử dụng những tính năng đó được trình bày ở frame thứ ba. Khi user xem những hướng dẫn chi tiết đó, họ có thể trực tiếp kiểm nghiệm cách hoạt động của những tính năng được xây dựng trên điện thoại mô phỏng trên frame thứ hai của trang này.
Trang trình bày cấu trúc cây những tính năng được xây dựng trong điện thoại mô phỏng
Trang hướng dẫn sử dụng, trình bày thật chi tiết cách dùng những tính năng đã được mô phỏng
Trang trình bày điện thoại mô phỏng và người sử dụng có thể dùng trực tiếp như một điện thoại thật sự
2. Xây dựng những tính năng trong điện thoại mô phỏng
Những tính năng, tác vụ trong điện thoại mô phỏng được xây dựng dựa trên một loại máy điện thoại di động có thực, máy Motorola Cd928. Do xây dựng dựa trên một máy có thực nên những tính năng cũng như nguyên lý hoạt động của nó cũng phải được bảo đảm như máy thật.
Những tính năng của máy được tích hợp trong các menu, trong đó menu chính sẽ là
Accessory
Setup
Phone
Book (1)
Phone
Setup
Messages
Call Related
Features
(1) (2) (3) (4) (5) (6)
Network
Selection
Những tính năng trong menu có chức năng cuộn tròn theo nguyên lý như máy Motorola Cd928.
(1) ,….: trình tự của các menu con
Menu Phone Book
Phone Book
Danh bạ điện thoại điện tử. Là nơi bạn có thể lưu những tên và số điện thoại như một mục riêng lẻ. Personal NumberLà một menu con dùng cho việc tạo và quản lý danh sách những số điện thoại cá nhân của bạn.
Find Entry by NameTùy chọn được dùng để chọn một số điện thoại từ một danh sách có t._.hứ tự những tên đã được lưu trong danh bạ điện thoại.
Find Entry by LocationTùy chọn được dùng để chọn một số điện thoại từ một danh sách có thứ tự những vị trí đã được lưu trong danh bạđiện thoại.
Call Number
Gọi cho số điện thoại vừa tìm thấy.
Modify Name Or NumberDùng cho việc thay đổi tên và số điện thoại của mục vừa tìm thấy.
Erase Name And NumberXoá tên và số điện thoại của mục vừa tìm thấy.
Add EntryTùy chọn dùng để thêm mục vào trong danh bạ điện thoại.
Add To Phone MemoryThêm một mục vào trong bộ nhớ của điện thoại.
Add To SIM Card MemoryThêm một mục vào trong bộ nhớ của thẻ SIM.
Check CapacityKiểm tra khả năng chứa còn lại của danh bạ điện thoại.
Check Phone CapacityKiểm tra sức chứa trong bộ nhớ của điện thoại.
Check SIM CapacityKiểm tra sức chứa trong bộ nhớ của thẻ SIM.
Prevent AccessTùy chọn dùng cho việc ngăn ngừa truy xuất đến danh sách số điện thoại được lưu trong danh bạ điện thoại.
No Memory RestrictionsKhông giới hạn sự truy xuất đến bộ nhớ.
To SIM Card MemoryGiới hạn việc truy xuất đến danh sách số điện thoại được lưu trong bộ nhớ thẻ SIM.
To Phone MemoryGiới hạn việc truy xuất đến danh sách số điện thoại được lưu trong bộ nhớ điện thoại.
To Phone & SIM MemoryGiới hạn việc truy xuất đến danh sách số điện thoại được lưu trong cả bộ nhớ thẻ SIM và bộ nhớ điện thoại.
Fixed DiallingTính năng này cho phép giới hạn việc sử dụng điện thoại bằng cách chỉ gọi được những số có số hay tiền tố trùng với những số hay tiền tố đã lưu trong danh sách số cố định.
View Fixed Dial List
Tuỳ chọn dùng để xem các mục đã được lưu trong danh sách số cố định.
Setup Fixed DiallingDùng để thiết lập các tùy chọn cho mục gọi số cố định.
OnCho phép dùng tính năng gọi số cố định.
OffKhông cho phép dùng tính năng gọi số cố định.
Edit EntryHiệu chỉnh một mục (tên, số điện thoại) trong danh sách số cố định.
Add EntryThêm một mục (tên, số điện thoại) vào trong danh sách số cố định.
Erase entryXoá một mục (tên, số điện thoại) từ danh sách số cố định.
One-Touch Dial SettingTính năng này cho phép chỉ định danh sách nào có thể được quay số chỉ với một phím.
To Phone MemoryNhững số điện thoại được lưu trong bộ nhớ điện thoại có vị trí từ 1 đến 9 sẽ được quay số chỉ với một phím.
To SIM MemoryNhững số điện thoại được lưu trong bộ nhớ thẻ SIM có vị trí từ 101 đến 109 sẽ được quay số chỉ với một phím.
To Fixed Dial ListNhững số điện thoại được lưu trong danh sách số cố định có vị trí từ 1 đến 9 sẽ được quay số chỉ với một phím.
Menu Call Related Features
Call Related FeaturesCác đặc điểm về cuộc điện thoại.
Show Battery MeterHiển thị đồng hồ đo năng lượng của pin điện thoại.
Restrict My Phone Number
Show ID On Next CallSố điện thoại của bạn sẽ được gửi đi với cuộc gọi kế, nhưng sau đó nó sẽ không được gửi đi cho đến khi bạn chọn lại tính năng này.
Restrict ID On Next CallSố điện thoại của bạn sẽ không được gửi đi với cuộc gọi kế, sau đó số điện thoại của bạn sẽ được gửi đi với những cuộc gọi kế cho đến khi bạn chọn lại tính năng này.
Call DivertingTính năng này dùng để chuyển cuộc gọi đến đến những số điện thoại khác khi điện thoại của bạn không hoạt động, hoặc khi bạn không muốn nhận cuộc gọi đó.
Divert Voice Calls
Chuyển cuộc gọi
Divert When UnavailableChuyển tất cả các cuộc gọi đến đến một số điện thoại khác mỗi khi điện thoại của bạn không hoạt động.
Divert All Voice CallsChuyển tất cả các cuộc gọi đến đến một số điện thoại khác mà không theo một điều kiện nào cả.
Detailed DivertingTính năng này dùng để chỉ định chuyển những cuộc gọi đến đến những số khác nhau
If BusyChuyển cuộc gọi đến nếu điện thoại của bạn đang bận.
If Not ReachableChuyển cuộc gọi đến nếu điện thoại của bạn không thể tiếp xúc được bởi mạng.
If No AnswerChuyển cuộc gọi đến nếu bạn không muốn trả lời.
Divert Fax CallsTính năng này cho phép bạn chuyển tất cả những cuộc nhận bằng Fax đến một số điện thoại đơn.
Divert Data CallsTính năng này cho phép bạn chuyển tất cả những cuộc nhận bằng dữ liệu đến một số điện thoại đơn.
Cancle All DivertingDùng để hủy toàn bộ chức năng chuyển cuộc gọi.
Talk and FaxLà một tính năng mạng cho phép bạn nói và sau đó gửi hoặc nhận fax trong một cuộc gọi. Nó có 2 tùy chọn : On và Off.
Call WaitingQuy định cách mà máy sẽ báo hiệu khi có một cuộc gọi đang chờ. Nó có 2 tùy chọn : On và Off.
Call BarringLà một tính năng mạng dùng cho việc chặn cuộc gọi.
Bar Outgoing CallsChặn những cuộc gọi đi.
Int’l CallsChức năng này sẽ chặn những cuộc gọi đi quốc tế mỗi khi nó được chọn.
Int’l Calls Except HomeChức năng này sẽ chặn những cuộc gọi đi quốc tế ngoại trừ đất nước của bạn.
All CallsChặn tất cả những cuộc gọi đi.
OffHủy bỏ chức năng chặn cuộc gọi cho những cuộc gọi đi.
Bar Incoming CallsChăn những cuộc gọi đến.
When RoamingChặn những cuộc gọi đến khi bạn đang roaming
All CallsChặn tất cả những cuộc gọi đến.
OffHủy bỏ chức năng chặn cuộc gọi cho những cuộc gọi đến.
Cancle All BarringHủy toàn bộ chức năng năng chặn cuộc gọi cho những cuộc gọi đi hoặc những cuộc gọi đến.
Change Bar Password
Thay đổi mã chặn cuộc gọi.
Key Answer OnlyChỉ định cách trả lời cuộc gọi đến bằng cách dùng phím, hay mở nắp máy sẽ trả lời cuộc gọi đến.
Menu Messages
Call VoiceMailTùy chọn sẽ làm một cuộc gọi đến số hộp thư thoại hiện tại.
Outgoing MessagesDùng để xem và quản lý bất kỳ tin nhắn gửi đi. Những tin nhắn này được lưu trên thẻ SIM.
Send MessageDùng để thêm vào số điện thoại, nơi đến của tin nhắn.
Enter NumberDùng các phím số nhập vào số điện thoại đích, và gửi tin nhắn đi theo số điện thoại này.
Find Entry by NameTìm số điện thoại theo tên đã lưu trong danh bạ điện thoại và gửi tin nhắn đi theo số điện thoại này.
Find Entry by LocationTìm số điện thoại theo vị trí đã lưu trong danh bạ điện thoại và gửi tin nhắn đi theo số điện thoại này.
Edit MessageHiệu chỉnh tin nhắn đã chọn hay tạo một tin nhắn mới.
Send MessageGửi tin nhắn vừa mới hiệu chỉnh.
Store MessageLưu lại tin nhắn sau khi hiệu chỉnh.
Delete MessageXoá tin nhắn đang xem hiện tại.
Go to Next MessageHiển thị tin nhắn kế tiếp.
Message EditorHiệu chỉnh tin nhắn đã chọn hay tạo một tin nhắn mới.
Send MessageGửi tin nhắn vừa mới hiệu chỉnh.
Store MessageLưu lại tin nhắn sau khi hiệu chỉnh.
Cell BroadcastDịch vụ phát thanh. Nó có 2 tùy chọn : On và Off.
Message SettingsCài đặt tin nhắn.
Voicemail NumberDùng để nhập vào số điện thoại, là số được dùng trong mục “Call Voicemail”.
Service CentreTrước khi bạn gửi đi bất kỳ tin nhắn nào, bạn phải dùng tùy chọn này để nhập vào số của trung tâm dịch vụ tin nhắn.
Expiry PeriodDùng để chỉ định khoảng thời gian tối đa mà những tin nhắn chưa được gửi đi, được lưu lại trên trung tâm dịch vụ tin nhắn trước khi bị xóa.
Outgoing Message TypeChỉ định dạng thức của các tin nhắn gửi đi. Ta có thể chọn từ các dạng thức như Text, Fax, Voice….
4. Menu Phone Setup
Phone SetupCài đặt điện thoại.
Select Phone LineDùng để chuyển đổi việc chọn đường dây 1 hoặc đường dây 2.
Adjust Ring VolumeTùy chọn dùng để điều chỉnh âm lượng chuông báo hiệu khi có một cuộc gọi đến.
Ring or VibrateChỉ định cách báo hiệu mà máy sẽ thực hiện khi có một cuộc gọi đến.
Ring OnlyMáy sẽ phát ra tiếng chuông theo theo điệu đã được chỉ định trong mục “Set Ringer Tone”
Vibrate OnlyMáy chỉ rung khi có một cuộc gọi đến.
Vibrate Then RingMáy sẽ rung hai lần và sau đó là tiếng chuông.
No Ring or VibrateMáy chỉ báo hiệu bằng cách hiển thị thông báo “Call”.
Set Ringer ToneThiết lập tiếng chuông báo hiệu khi có cuộc gọi đến được nhận ở đường dây 1.
Standard ToneTiếng chuông chuẩn.
Music ToneKhi được chọn, máy sẽ tổ hợp những tiếng chuông khác nhau.
Phone LockDùng để thiết lập, thay đổi mã mở khóa máy
Automatic LockTự động khóa máy mỗi khi bật công tắc mở máy.
Lock NowTùy chọn này sẽ khóa máy ngay lập tức. Khi đó máy sẽ không sử dụng được cho đến khi nhập đúng mã mở khóa.
Change Unlock CodeThay đổi mã mở khóa máy.
New Security CodeDùng để thay đổi mã bảo mật, mã dùng cho việc ngăn ngừa truy nhập đến những tính năng bên trong những menu.
Extened MenusDùng để tắt, mở menu mở rộng. Nếu tùy chọn này ở trạng thái tắt, bạn không thể dùng được bất kỳ tính năng mở rộng nào.
Show Time and DateLà một tính năng mở rộng. Hiển thị ngày và giờ hiện tại cho đến khi có một phím được nhấn.
Set Time and DateLà một tính năng mở rộng, dùng để thay đổi lại ngày và giờ hiện tại.
Set Time FormatLà một tính năng mở rộng, thiết lập dạng thức hiển thị giờ của máy (dạng 12h hoặc 24h)
Battery Saving ModeTính năng này cho phép ta tiết kiệm năng lượng khi máy ở trạng thái không đàm thoại.
Select Keypad TonesTùy chọn dùng để thay đổi hoặc không cho phép có âm điệu khi một phím được nhấn.
Normal TonesTiếng bình thường.
Single ToneTiếng đơn
No TonesKhông có tiếng.
5. Menu Network Selection
Network SelectionChọn mạng hoạt động. Để làm và nhận những cuộc gọi, máy của bạn phải đăng ký với một trong những mạng đang hoạt động.
Change BandChọn băng tần hoạt động.
Change to 900/1800Chuyển sang dãy băng tần 900/1800
Change to 900Chuyển sang dãy băng tần 900
Change to 1800Chuyển sang dãy băng tần 1800
Available NetworksTính năng này sẽ quét để tìm những mạng nào đang hoạt động ở vị trí hiện tại của bạn.
Register NowĐăng ký với mạng bạn đã chọn
Make Preferred Lưu lại vị trí của mạng đã chọn trong danh sách những mạng ưu tiên.
Network SearchTìm mạng.
Registration PreferencesChỉ định cách thức máy sẽ làm thế nào để đăng ký với một mạng.
Automatic SearchTự động tìm và đăng ký với một mạng.
Manual SearchTìm và đăng ký với một mạng bằng cách thủ công.
Frequency of SearchChỉ định điện thoại của bạn phải chờ bao lâu trước khi nó cố gắng đăng ký lại sau khi việc đăng ký trước đó đã thất bại.
Slow Search
Medium Search
Fast Search
Continuous Search
Preferred NetworksDanh sách những mạng ưu tiên.
Add Network To ListThêm mạng đã chọn vào trong danh sách những mạng ưu tiên.
Choose From AvailableChọn mạng từ danh sách những mạng đang hoạt động ở vị trí hiện tại của bạn.
Choose From KnownChọn mạng từ tập hợp danh sách những mạng đã được định nghĩa từ trước.
Show List Of NetworksHiển thị danh sách những mạng ưu tiên.
Move To New LocationDi chuyển mạng đã chọn đến một vị trí mới.
Delete SelectionXoá mạng đã chọn khỏi danh sách những mạng ưu tiên.
Find New NetworkTìm mạng mới.
6. Menu Accessory Setup
Accessory SetupThiết lập những thiết bị đính kèm.
Mute Car RadioLàm tắt tiếng của radio khi bạn làm hoặc nhận một cuộc gọi.
Automatic AnswerKhi được chọn, máy sẽ tự động trả lời khi có một cuộc gọi đến sau 2 lần chuông.
Automatic HandsfreeChuyển cuộc đàm thoại bằng cách dùng tai nghe và speaker.
Safety Timer
Auxiliary AlertĐèn hiệu sẽ nhấp nháy khi có một cuộc gọi đến.
7. Menu Quick Access
Quick Access Menu
Menu truy cập nhanh là một tính năng độc đáo. Nó cho phép ta chọn 9 chức năng thường dùng mà không cần phải rà tìm lòng vòng trong các menu. Ta cũng có thể thiết kế lại menu truy cập nhanh tùy theo ý thích.
3. Mã nguồn của chương trình
Mã nguồn của các trang HTML hướng dẫn sử dụng.
Mã nguồn của trang chính
mot
<!--
-->
Điện thoại nhỏ cho thế giới lớn
Một điện thoại - nhiều phong cách - cd928 chính
là sự thể hiện cá tính của bạn
Với cấu trúc cây menu, cho bạn một cái nhìn khái quát về toàn bộ cấu trúc những tính năng được xây dựng trong máy cd928.
<img src="0go.gif"
width="27" height="31" alt="click here de xem trang tham khao" border="0">
Với những hướng dẫn tỉ mỉ, rõ ràng, bạn sẽ dễ dàng tiếp cận cách làm thế nào để sử dụng những tính năng của máy cd928.
Mô phỏng của máy cd928, cho bạn cảm giác như đang sử dụng một máy điện thoại thật sự.
<img src="0go.gif"
width="27" height="31" alt="click here de vao trang su dung" border="0">
Xin chân thành cảm ơn những đóng góp của các bạn.
Mã nguồn của trang chứa điện thoại mô phỏng
luan-van.CAB
<object ID="UserControl1" CLASSID="CLSID:191803D8-6371-11D0-82CA-B54CDE05F649"
CODEBASE="luan-van.CAB#version=1,2,0,0" width="137" height="262">
Mã nguồn của trang trình bày cây tính năng
Phone Book
Personal Numbers
Fixed Dialling
One-Touch Dial Setting
Call Related Features
Show Batery Meter
Restric My Phone Number
Call Diverting
Talk and Fax
Call Waiting
Call Baring
Key Answer Only
Messages
Call Voicemail
Outgoing Messages
Message Editor
Cell Broadcast
Message Settings
Phone Setup
Select Phone Line
Adjust Ring Volume
Ring Or Vibrate
Set Ringer Tone
Set Ringer Tone 2
Phone Lock
New Security Code
Extended Menus
Show Time and Date
Set Time Format
Battery Saving Mode
Select Keypad Tones
Network Selection
Change Band
Available Network
Network Search
Preferred Networks
Find New Network
Quick Access Menu
Mã nguồn của trang hướng dẫn
Danh bạ điện thoại riêng
(Personal Number)
Là một menu con được dùng để tạo và quản lý danh
sách các số điện thoại cá nhân. Để vào mục này, dùng các phím cuộn
,
cuộn đến mục "
Phone Book", nhấn
2 lần để vào menu con của mục "
Personal Number"
Find Entry By Name
(tìm số điện thoại theo tên)
Find Entry By Location
(tìm số điện thoại theo vị trí)
Add Entry
(thêm vào số điện thoại mới)
Check Capacity
(Kiểm tra sức chứa)
Prevent Access
(Ngăn ngừa truy nhập)
Dùng các phím cuộn để đến hạng mục cần chọn. Nhấn để chọn. Bấm phím để thoát ra.
Cách nhập một ký tự
Dùng các phím số để nhập ký tự. Ví dụ : khi bấm phím số
lần đầu tiên thì nó sẽ hiển thị ký tự J. Nhấn phím này lần nữa sẽ thay bằng chữ K, ...hiển thị số 5.
Bấm và giữ bất kỳ một phím sẽ chuyển tất cả các ký tự thành chữ thường, lặp lại thao tác này sẽ chuyển tất cả lại thành chữ hoa.
Ta có thể dùng phím
để nhập vào ký tự giống như ký tự vừa nhập trước đó. Nhấn phím này lần nữa sẽ tạo ra khoảng trắng.
Xóa một ký tự bằng cách nhấn
.
Nhấn
để lưu lại thông tin.
Tìm một số điện thoại theo tên
(Find Entry By Name)
Dùng các phím cuộn
,
cuộn đến mục "
Phone Book"
3 lần để
vào mục tìm số điện thoại theo vị trí.
Màn hình hiển thị thông báo "Enter Name
", nhập vào tên của số điện thoại cần tìm (tối đa3 ký tự). Khi đó, máy sẽ tìm và hiển thị tên của số điện thoại phù hợp.
Dùng các phím cuộn để hiển thị những mục
liền kế nó.
Khi tìm được số mong muốn, nhấn
để vào menu con
- Call Number (gọi số điện thoại này)
- Modify Name or Number (sửa tên hoặc số điện thoại)
- Erase Name and Number (Xóa tên và số điện thoại)
-
Dùng các phím cuộn để di chuyển giữa
những mục này. Nhấn
để chọn. Bấm phím
để thoát ra.
Tìm một số điện thoại theo vị trí
(Find Entry by Location)
Dùng các phím cuộn
,
để cuộn đến mục "
Phone Book",
2 lần để vào
menu con của mục
Personal Number. Dùng phím
để cuộn đến mục "tìm số điện thoại theo vị trí",
.
Màn hình hiển thị thông báo "Enter Location
", nhập vào vị trí của số điện thoại cần tìm. Khi đó, máy sẽ tìm và hiển thị tên của số điện thoại phù hợp.
Dùng các phím cuộn để hiển thị những mục liền kế nó.
Khi tìm được số mong muốn, nhấn
để vào menu con
- Call Number (gọi số điện thoại này)
- Modify Name or Number (sửa tên hoặc số điện thoại)
- Erase Name and Number (Xóa tên và số điện thoại)
Dùng các phím cuộn để di chuyển giữa
những mục này. Nhấn
để chọn. Bấm phím
để thoát ra.
Thêm vào số điện thoại mới
(Add Entry)
Dùng các phím cuộn
,
để cuộn đến mục "
Phone Book",
2 lần để vào
menu con của mục
Personal Number. Dùng phím
để cuộn đến mục
"thêm vào số điện thoại mới",
Dùng các phím cuộn để chọn vị trí
"Cho vào bộ nhớ của máy điện thoại
" [Add to phone memory]hay 'Cho vào thẻ SIM
" [Add to SIM card memory], bấm
Nhập vào số điện thoại,
, ghi
tên, vị trí, bấm
để lưu. Bấm phím
để thoát ra.
Kiểm tra sức chứa
(Check Capacity)
Kiểm tra số mục còn trống trong bộ nhớ của điện thoại hay bộ nhớ SIM card
1. Dùng các phím cuộn
,
để cuộn đến mục "
Phone Book",
2 lần để vào menu con của mục Personal Number.Tiếp tục dùng phím cuộn để cuộn đến mục "Kiểm tra sức chứa"
[Check Capacity],
.
2. Dùng các phím cuộn để chọn vị trí "Kiểm
tra sức chứa của máy điện thoại"
[Check Phone Capacity]hay
"Kiểm tra sức chứa của thẻ SIM"
[Check SIM apacity],bấm
. Màn hình
sẽ hiện thông báo "XX Unused Location".
Ngăn ngừa truy nhập
(Prevent Access)
Ngăn ngừa không cho truy nhập vào những mục đã
được lưu trong bộ nhớ, trong thẻ SIM hay cả hai.
1. Dùng các phím
,
(phím cuộn) để cuộn đến mục "
Phone Book",
2 lần để vào menu con của mục
Personal Number. Tiếp tục dùng phím cuộn để cuộn đến mục "Ngăn ngừa truy nhập "
[Prevent Access],
.
2. Dùng các phím cuộn để tùy chọn những mục
"Không giới hạn truy nhập"
[No Memory Restrictions],
"Giơiù hạn truy nhập đến thẻ SIM"
[To SIM Card Memory],
"Giới hạn truy nhập đến bộ nhớ máy"
[To Phone Memory],
hay giới hạn cả hai, bộ nhớ và thẻ SIM
[To Phone & SIM Memory].
Dùng các phím cuộn để di chuyển đến mục cần chọn nhấn
. Khi đó màn hình sẽ hiện thông báo nhắc nhập vào mã bảo mật
[Security Code]. Nếu nhập mã đúng thì sự ngăn ngừa truy nhập mới có tác dụng (Mã mặc định là "000000" và có thể thay đổi được trong
phần Phone Setup).
Gọi số cố định
(Fixed Dialling)
Tính năng này cho phép bạn giới hạn việc dùng
điện thoại trong một danh sách số điện thoại đã được định nghĩa trước, hay là một danh sách mã quốc gia, mã vùng hay là một tiền tố nào đó mà bạn chọn.
Khi Fixed Dialling được thiết lập mức On, bạn chỉ gọi được những số có số (hay tiền tố) trùng với những số (hay tiển tố) đã lưu trong danh sách Fixed Dial. Nếu bạn thử gọi số khác thì thông báo "Restricted" sẽ hiển thị.
View Fixed Dial List
(Xem danh sách số cố định)
Setup Fixed Dialling (Thiết lập số cố định)
Dùng các phím cuộn để di chuyển giữa những mục này. Nhấn
để chọn. Bấm phím để thoát ra.
Xem danh sách số cố định
( View Fixed Dial List)
Xem danh sách số cố định đã được lưu trong Fixed Dial.
1. Dùng các phím
,
(phím cuộn) để di chuyển đến mục
Phone Book, nhấn
2.
Nhấn phím cuộn để đến mục "
Fixed Dialling", nhấn
. Tiếp tục dùng phím cuộn để di chuyển đến mục
View Fixed Dial List . Muốn chọn nhấn
, để thoát ra dùng phím
4.
Dùng phím cuộn để duyệt qua danh sách các số trong
Fixed Dial List . Khi bạn đã tìm thấy số bạn cần, nhấn để làm cuộc gọi.
Thiết lập số cố định
(Setup Fixed Dialling)
Bạn dùng tùy chọn này để chuyển
Fixed Dialling ở mức
On hay Off và dùng để thêm hay thay
đổi những mục trong danh sách
Fixed Dial.
Bạn phải nhập vào mã PIN2 (mặc định là 13579) khi bạn chọn mục này.
1. Dùng các phím
,
(phím cuộn) để di chuyển đến mục
Phone Book, nhấn
2.
Nhấn phím
cuộn để vào mục "
Fixed Dialling", nhấn
.
3. Tiếp tục dùng phím cuộn để di chuyển đến mục "
Setup Fixed Dialling". Muốn chọn nhấn
,
để thoát ra dùng phím
.4.
Nhập vào mã PIN2 . Bấm
để vào menu con của nó, để thoát ra dùng phím
.
On
Chuyển Fixed Dialling ở mức On
Off
Chuyển Fixed Dialling ở mức Off
Edit Entry
Sửa đổi một mục trong danh sách Fixed Dial. Khi bạn chọn mục này, vị trí đầu tiên trong danh sách không rỗng sẽ được hiển thị. Dùng phím cuộn để di chuyển đến mục bạn muốn thay đổi, nhấn . Màn hình sẽ hiển thị một promt để bạn sửa đổi tên và số điện hoại.
Add Entry
Thêm vào một tên và điện thoại vào trong danh sách Fixed Dial.Màn hình sẽ hiển thị một promt để bạn nhập vào tên, số điện thoại và vị trí của nó trong danh sách.
Erase Entry
Xoá một mục đã lưu trong danh sách Fixed Dial. Mục
đầu tiên trong danh sách sẽ được hiển thị. Di chuyển đến mục bạn muốn xóa và nhấn .
Dùng các phím cuộn để di chuyển giữa các mục này, nhấn
để chọn.
Quay số với 1 phím
(One-Touch Dial Setting)
Bạn dùng mục này để chỉ định danh sách Phone
Book nào có thể được quay số chỉ với 1 phím.
1. Dùng các phím
,
(phím cuộn) để di chuyển đến mục
Phone Book, nhấn
2.
Tiếp tục dùng phím cuộn để vào mục "One-Touch Dial Setting
". Nhấn
để vào menu con
To Phone Memory
Cho vào bộ nhớ điện thoại
(những vị trí từ 1 đến 9)
To SIM Memory
Cho vào bộ nhớ thẻ SIM
(những vị trí từ 101 đến 109)
To Fixed Dial List
Cho vào danh sách Fixed Dial
(những vị trí từ 1 đến 9)
Dùng các phím cuộn để di chuyển giữa những mục này. Nhấn
để chọn. Bấm phím
để thoát ra.
Các đặc điểm về cuộc điện thoại
(Call Related Features)
Dùng để thay đổi, thiết lập cấu hình của những tính năng liên quan đến cuộc gọi.
Hiện đồng hồ pin
(Show Bttery Meter)
Hiển thị đồng hồ cho biết mức năng lượng còn lại của pin
1. Dùng các phím
,
(phím cuộn) để di chuyển đến mục "
Call Related Features", nhấn
2 lần để vào mục "Show Battery Meter", nhấn
để hiển thị đồng hồ.
2. Để thoát ra dùng phím
Hạn chế số điện thoại của tôi
(Restrict My Phone Number)
1. Dùng các phím
,
(phím cuộn) để di chuyển đến mục "
Call Related Features", nhấn
2. Tiếp tục dùng các phím cuộn để cuộn đến mục "
Restrict My Phone Number
",nhấn
để vào menu con
Show ID on Next Call
Số điện thoại của bạn được gửi đi với cuộc gọi kế
Restric ID on Next Call
Số điện thoại của bạn sẽ không gửi đi với cuộc gọi kế
Dùng các phím cuộn để di chuyển giữa các
mục này, nhấn
để chọn.
Chuyển cuộc gọi
(Call
Diverting)
Đây là một tính năng mạng , nếu điện thoại của bạn không có gía trị hay bạn không muốn nhận cuộc gọi, những cuộc gọi đến sẽ được chuyển đến những số điện thoại khác
1. Dùng các phím
<img src="up.jpg" width="26" height="20"
alt="up.bmp (2550 bytes)">,
(phím cuộn) để di chuyển đến mục
"Call Related Features
", nhấn
2.
Tiếp tục dùng phím cuộn để đến mục "
Call Diverting", nhấn
để vào menu con.
Divert Voice Calls (chuyển cuộc gọi)
Divert Fax Calls (chuyển cuộc nhận bằng fax)
Divert Data Calls (chuyển cuộc nhận bằng dữ liệu)
Cancel All Diverting (hủy toàn bộ chức năng chuyển)
Dùng các phím cuộn để di chuyển giữa các mục này, nhấn
để chọn.
Chuyển cuộc gọi
(Divert Voice Calls)
1. Dùng các phím
,
để di chuyển đến mục
"Call Related Features", nhấn
2.
Tiếp tục dùng phím cuộn để vào mục "
Call Diverting", nhấn
2 lần để vào mục "
Divert Voice Calls".
3. Nhấn phím
để vào menu con
Divert When Unavailable (Chuyển khi không đáp)
Divert All Voice Calls (chuyển tất cả)
Detail Diverting (chuyển theo loại)
Dùng các phím cuộn để di chuyển giữa những mục này. Nhấn
để chọn. Bấm phím để thoát ra.
Chuyển cuộc nhận bằng Fax
(Diver Fax Calls)
Dùng để chuyển tất cả những cuộc nhận bằng Fax đến một số điện thoại đơn.
Mục này có 2 tùy chọn On và Off. Nếu bạn thay đổi ở mức On, bạn phải nhập vào số điện thoại nơi chuyển đến.
1. Dùng các phím
,
(phím cuộn) để di chuyển đến mục
"Call Related Features", nhấn
2.
Nhấn các phím
cuộn để vào mục "Call Diverting", nhấn
.
3. Tiếp tục dùng các phím
,
để vào mục
"Divert Fax Calls".
Nhấn
để chọn.
Chuyển cuộc nhận bằng dữ liệu
(Diver Data Calls)
Dùng để chuyển tất cả những cuộc nhận bằng Fax đến một số điện thoại đơn.
Mục này có 2 tùy chọn On và Off. Nếu bạn thay đổi ở mức On, bạn phải nhập vào số điện thoại nơi chuyển đến.
1. Dùng các phím
,
(phím cuộn) để di chuyển đến mục "
Call Related Features", nhấn
2.
Nhấn các phím
cuộn để vào mục "
Call Diverting", nhấn
.
3. Tiếp tục
dùng các phím cuộn để vào mục "
Divert Data Calls". Nhấn
để chọn.
Huỷ bỏ toàn bộ chức năng chuyển
(Cancel All Diverting)
Chức năng này cho phép bạn hủy chức
năng chuyển những cuộc gọi đến.
1. Dùng các phím
,
(phím cuộn)
để di chuyển đến mục "
Call Related Features", nhấn
2.
Nhấn các phím cuộn để đến mục"
Call Diverting", nhấn
.3.
Tiếp tục dùng các phím cuộn để vào mục "
Cancel All Diverting". Nhấn để chọn.
Nói và Fax
(Talk and Fax)
Đây là một tính năng mạng cho phép bạn đàm thoại và sau đó gửi hoặc nhận fax trong suốt cuộc gọi đó. Mục này có 2 chế độ On và Off.
1. Dùng các phím
,
(phím cuộn)
để di chuyển đến mục "
Call Related Features", nhấn
2.
Tiếp tục dùng các phím cuộn để đến mục "Talk and Fax", nhấn
để chọn.
Call Waiting
(Cuộc gọi đang chờ)
Tính năng này có 2 chế độ On và Off. Nếu được thiết lập ở mức On, máy sẽ báo hiệu khi có một cuộc gọi đang chờ.
1. Dùng các phím
,
(phím cuộn)
để di chuyển đến mục "
Call Related Features", nhấn
2.
Tiếp tục dùng các phím cuộn để đến mục "
Call Waiting", nhấn
để chọn.
Chặn cuộc gọi
(Call Barring)
Là một tính năng mạng, có thể dùng để chặn những cuộc gọi đi hay những cuộc gọi đến.
Mỗi khi bạn thay đổi
việc ngăn chặn, bạn phải nhập vào mã chặn cuộc gọi (mặc định là 6789).
1. Dùng các phím
,
(phím cuộn)
để di chuyển đến mục "
Call Related Features", nhấn
2.
Tiếp tục dùng
phím cuộn để vào mục "
Call Barring", nhấn
.
3. Nhập vào mã chặn cuộc gọi.
Nhấn phím
để vào menu con.
Bar Outgoing Calls
(chặn những cuộc gọi đi)
Bar Incoming Calls (chặn những cuộc gọi đến)
Cancel All Barring
(hủy chức năng chặn cuộc gọi)
Change Bar Password
(Thay đổi mã chặn cuộc gọi)
Dùng các phím cuộn để di chuyển giữa các
mục này, nhấn
để chọn.
Chặn những cuộc gọi đi
(Bar Outgoing Calls)
Tùy theo mục mà bạn chọn, máy sẽ tự động chặn những cuộc gọi đi không hợp lệ.
1. Dùng các phím
,
(phím cuộn) để di chuyển đến mục"
Call Related Features", nhấn
2.
Tiếp tục dùng phím cuộn để vào mục "
Call Barring", nhấn
.
3. Nhập vào mã chặn cuộc gọi
4. Nhấn phím
2 lần để vào menu con của mục "
Bar Outgoing Calls".
Int'l Calls
Chặn những cuộc gọi đi quốc tế
Int'l Calls Expect Home
Chặn những cuộc gọi quốc tế ngoại trừ đất nước của bạn.
All Calls
Chặn tất cả những cuộc gọi.
Off
Khi được chọn, máy sẽ trở về chế độ bình thường (không chặn cuộc gọi)
Dùng các phím cuộn
để di chuyển giưã các mục trong menu con, nhấn
để chọn.
Chặn những cuộc gọi đến
(Bar Incoming Calls)
1. Dùng các phím
,
(phím cuộn) để di chuyển đến mục "
Call Related Features", nhấn
2.
Tiếp tục dùng phím cuộn để vào mục "
Call Barring", nhấn
.
3. Nhập vào mã chặn cuộc gọi, nhấn
4. Dùng các phím cuộn để di chuyển đến
mục "
Bar Incoming Calls", nhấn
để vào menu con
When Roaming
Chặn những cuộc gọi đến khi bạn đang roaming
All Calls
Chặn tất cả những cuộc gọi đến.
Off
Khi được chọn, máy sẽ trở về chế độ bình thường (không chặn cuộc gọi)
Dùng các phím cuộn để di chuyển giưã các mục trong menu con, nhấn
để chọn.
Hủy việc chặn
(Cancel All Barring)
Dùng để thiết lập tất cả các tuỳ chọn chặn cuộc gọi về mức Off
1. Dùng các phím
,
(phím cuộn) để di chuyển đến mục "
Call Related Features", nhấn
2.
Tiếp tục dùng phím
,
để đến mục"
Call Barring", nhấn
.
3. Nhập vào mã chặn cuộc gọi,
nhấn
4.
Dùng các phím cuộn
để di chuyển đến mục "
Cancel All Barring", nhấn
để hoàn thành tác vụ.._."
network = False
danhso = False
Exit Sub
End If
'phan xu ly cua muc Frequency of search
If tbnhap.Text = "Slow Search" Or tbnhap.Text = "Medium Search" Or tbnhap.Text = "Fast Search" Or tbnhap.Text = "Continuous Search" Then
tbnhap.Text = "Completed"
network = False
danhso = False
Exit Sub
End If
'phan xu ly cua menu Accessory Setup
If tbnhap.Text = "Accessory Setup" Then
tbnhap.Text = "Mute Car Radio"
accessory = True
Exit Sub
End If
'vao menu con cua cac muc trong Accessory setup
If tbnhap.Text = "Mute Car Radio" Then
tbnhap.Text = "On"
Exit Sub
End If
If tbnhap.Text = "Automatic Answer" Then
tbnhap.Text = "On"
Exit Sub
End If
If tbnhap.Text = "Automatic Handsfree" Then
tbnhap.Text = "On"
Exit Sub
End If
If tbnhap.Text = "Safety Timer" Then
tbnhap.Text = "On"
Exit Sub
End If
If tbnhap.Text = "Auxiliary Alert" Then
tbnhap.Text = "On"
Exit Sub
End If
'phan xu ly cua muc Quick Access Menu
If longpress = True Then 'And st "" Then
Open filename3 For Random As #1 Len = Len(menuaccess)
Get #1, orderinquick, menuaccess
menuaccess.feature = st
menuaccess.thutu = luumuc
Put #1, orderinquick, menuaccess
Close #1
longpress = False
tbnhap.Text = "Completed"
thu = False
quickaccess = False
Exit Sub
End If
'truong hop user nhap vao mot so de lam mot cuoc goi
If IsNumeric(tbnhap.Text) = True And sending = False Then
st = tbnhap.Text
If Len(tbnhap.Text) < 7 Then
If tbnhap.Text = "1080" Or tbnhap.Text = "113" Or tbnhap.Text = "114" Or tbnhap.Text = "115" Then
cancall = False
Else
cancall = True
End If
If send = True Then
sending = True
send = False
End If
End If
danhso = False
cancle = True
tbnhap.Text = "Calling" '" Call Number"
Image2.Visible = True
callnumber = True
End If
'truong hop user nhap vao so dien thoai co format khong phu hop
If tbnhap.Text = "Connecting Failed" Then
tbnhap.Text = "Menu"
Exit Sub
End If
'********* phim left *********
Case 14
'menu con cua muc Personal Number
If quickaccess = True Then
Exit Sub
End If
'xu ly cua muc Adjust Ring Volume
If advolume = True Then
i = i + 1
If vol > 0 Then
Select Case i
Case 3, 6, 9, 12, 15, 18, 21
vol = vol - 1
volume.Picture = volume1(vol).Picture
End Select
Else
Beep
End If
Exit Sub
End If
'********** phim phai **********
Case 15
If quickaccess = True Then 'longpress = True Then
Exit Sub
End If
If cancle = False Then
Select Case i
Case 0
tbnhap.Text = tbnhap.Text & Right(tbnhap.Text, 1)
i = i + 1
Case 1
tbnhap.Text = tbnhap.Text & " "
End Select
Else
'xu ly cua phan Adjust Ring Volume
If advolume = True Then
i = i + 1
If vol < 7 Then
Select Case i
Case 3, 6, 9, 12, 15, 18, 21
vol = vol + 1
volume.Picture = volume1(vol).Picture
End Select
Else
Beep
End If
Exit Sub
End If
End If
'****** day la phan xu ly cua phim OnOff *******
Case 16
phonebook = False
quickaccess = False
message1 = False
setup = False
network = False
listdial = False
editentrylist = False
addentrylist = False
eraseentrylist = False
changecase = False
messagelist = False
taomoi = False
editor = False
availablenetwork = False
addnetwork = False
Image2.Visible = False
Select Case onoff
Case 0
screen.Visible = True
Frame1.Visible = False
tbnhap.Visible = False
If volume.Visible = True Then
volume.Visible = False
Frame1.Height = 500
Frame1.Width = 1800
End If
onoff = 1
Exit Sub
Case 1
screen.Visible = False
Frame1.Visible = True
tbnhap.Visible = True
If autolocked = True Or locked = True Then
tbnhap.Text = "Locked"
Else
tbnhap.Text = "Menu"
End If
onoff = 0
Exit Sub
End Select
'phan xu ly cua menu quick access
Case 17
If locked = True Then
Exit Sub
End If
If volume.Visible = True Then 'And so(14).Value = False And so(15).Value = False Then
volume.Visible = False
tbnhap.Visible = True
Frame1.Height = 500
Frame1.Width = 1800
End If
Image2.Visible = False
network = False
phonebook = False
setup = False
listdial = False
editentrylist = False
addentrylist = False
eraseentrylist = False
changecase = False
messagelist = False
taomoi = False
editor = False
availablenetwork = False
addnetwork = False
Open filename3 For Random As #1 Len = Len(menuaccess)
Get #1, 1, menuaccess
tbnhap.Text = Trim(menuaccess.feature)
orderinquick = 1
luumuc = menuaccess.thutu
quickaccess = True
phonebook = False
thu = True
danhso = False
cancle = False
Close #1
Exit Sub
End Select
End Sub
'****** CHUONG TRINH CON THEM SO DT MOI *****
Private Sub add_entry(st As String, nu As String, lo As Integer, flag As Boolean)
Dim news As entry
Dim banghi As Byte
Dim j As Byte
If addentrylist = True Then
Open filefixed For Random As #1 Len = Len(news)
Else
Open filename For Random As #1 Len = Len(news)
End If
banghi = LOF(1) \ Len(news)
For j = 1 To banghi
Get #1, j, news
If news.location = lo Then
tbnhap.Text = "Overwritten?"
Close #1
Exit Sub
End If
Next j
news.name = st
news.number = nu
news.location = lo
banghi = banghi + 1
If addentrylist = True Then
Put #1, banghi, news
Else
If flag = True Then
Put #1, banghi, news
Else
Put #1, banghi, news
End If
End If
addentrylist = False
listdial = False
tbnhap.Text = "Stored" & Str(lo)
Close #1
End Sub
'**** THU TUC TIM VI TRI SE GHI MOT MUC KHI USER KHONG NHAP VAO LOCATION ****
Private Function add_lo(co As Boolean) As Integer
Dim news As entry
Dim banghi As Byte
Dim j As Integer
Dim i As Integer
Dim timthay As Boolean
If co = True Then
i = 1
If addentrylist = True Then
Open filefixed For Random As #1 Len = Len(news)
Else
Open filename For Random As #1 Len = Len(news)
End If
banghi = LOF(1) \ Len(news)
If banghi = 0 Then
add_lo = 1
timthay = False
Close #1
Else
timthay = True
End If
Do While timthay = True
For j = 1 To banghi
Get #1, j, news
If i = news.location Then
i = i + 1
timthay = True
Exit For
Else
If j = banghi Then
add_lo = i
timthay = False
Close #1
Exit Do
End If
End If
Next j
Loop
Else
i = 101
Open filename For Random As #1 Len = Len(news)
banghi = LOF(1) \ Len(news)
If banghi = 0 Then
add_lo = 101
timthay = False
Else
timthay = True
End If
Do While timthay = True
For j = 1 To banghi
Get #1, j, news
If i = news.location Then
i = i + 1
timthay = True
Exit For
Else
If j = banghi Then
add_lo = i
timthay = False
Close #1
Exit Do
End If
End If
Next j
Loop
Close #1
End If
End Function
'***** CHUONG TRINH CON TIM SO DT THEO TEN ******
Private Sub find_name(ten As String)
Dim news As entry
Dim i As Integer
Dim j As Integer
Dim banghi As Integer
Select Case prevent
Case 1
Open filename For Random As #1 Len = Len(news)
banghi = LOF(1) \ Len(news)
Case 2, 3
Open filename2 For Random As #1 Len = Len(news)
banghi = LOF(1) \ Len(news)
Case 4
found = False
tbnhap.Text = "No Name Stored"
Exit Sub
End Select
'**** Truong hop khong co ten nao da duoc luu ****
If banghi = 0 Then
found = False
tbnhap.Text = "No Name Stored"
Close #1
Exit Sub
End If
'**** truong hop user khong nhap ten de tim ********
If ten = "" And banghi 0 Then
Get #1, 1, news
found = True
vitri = 1
st1 = news.name
st = news.name
nu = news.number
tbnhap.Text = st & vbCrLf & nu
Close #1
flag = True
Exit Sub
'truong hop ten nhap vao trung voi ten da luu
Else
For i = 1 To banghi
Get #1, i, news
If StrComp(Left(news.name, Len(ten)), ten) = 0 Then
found = True
vitri = i
st = news.name
nu = news.number
st1 = news.name
tbnhap.Text = st & vbCrLf & nu
flag = True
Close #1
Exit Sub
End If
Next i
End If
'truong hop ten nhap vao khong trung voi ten da luu
For i = 1 To banghi
Get #1, i, news
If StrComp(Left(news.name, 1), Left(ten, 1)) = 0 Then
found = True
vitri = i
st = news.name
nu = news.number
st1 = news.name
tbnhap.Text = st & vbCrLf & nu
flag = True
Close #1
Exit Sub
End If
Next i
'truong hop ten nhap vao khong tin thay, lay entry dau tien
Get #1, 1, news
st1 = news.name
st = news.name
nu = news.number
tbnhap.Text = st & vbCrLf & nu
found = True
flag = True
vitri = 1
Close #1
End Sub
'***** THU TUC GHI DE KHI TRUNG VI TRI *****
Private Sub OVERWRITE(st As String, nu As String, lo As Integer)
Dim j As Integer
Dim news As entry
Dim banghi As Byte
If addentrylist = True Then
Open filefixed For Random As #1 Len = Len(news)
addentrylist = False
Else
Open filename For Random As #1 Len = Len(news)
End If
banghi = LOF(1) \ Len(news)
For j = 1 To banghi
Get #1, j, news
If news.location = lo Then
news.location = lo
news.number = nu
news.name = st
Put #1, j, news
tbnhap.Text = "Stored" & Str(lo)
Exit For
End If
Next j
Close #1
End Sub
'****** THU TUC TIM MOT MUC THEO VI TRI *****
Private Sub find_location(so As Integer)
Dim news As entry
Dim news1 As entry
Dim j As Integer
Dim banghi As Byte
Dim i As Integer
'found = True
Select Case prevent
Case 1
Open filename For Random As #1 Len = Len(news)
Case 2, 3
Open filename2 For Random As #1 Len = Len(news)
Case 4
tbnhap.Text = "No Number Stored"
Exit Sub
End Select
banghi = LOF(1) \ Len(news)
If banghi = 0 Then
tbnhap.Text = "No Numbers Stored"
Close #1
Exit Sub
End If
If so = 0 Then
Get #1, 1, news
i = news.location
For j = 2 To banghi
Get #1, j, news1
If i > news1.location Then
i = news1.location
vitri = j
Else
vitri = i
End If
Next j
found = True
flag = True
Get #1, vitri, news
st1 = news.name
tbnhap.Text = news.name & vbCrLf & news.number
Close #1
Exit Sub
Else
For j = 1 To banghi
Get #1, j, news
If so = news.location Then
found = True
vitri = j
Exit For
Else
found = False
End If
Next j
If found = True Then
st1 = news.name
tbnhap.Text = news.name & vbCrLf & news.number
Else
tbnhap.Text = "Location Empty"
End If
End If
flag = True
Close #1
End Sub
'****** THU TUC SUA DOI MOT MUC ***********
Private Sub modify(ten As String, so As String, cho As Integer)
Dim news As entry
Dim banghi As Byte
Dim j As Integer
If editentrylist = True Then
Open filefixed For Random As #1 Len = Len(news)
Else
Open filename For Random As #1 Len = Len(news)
End If
Get #1, cho, news
If ten "" Then
If so "" Then
news.name = ten
news.number = so
Put #1, cho, news
Close #1
Else
news.name = ten
Put #1, cho, news
Close #1
End If
Else
If so "" Then
news.number = so
Put #1, cho, news
Close #1
Else
Close #1
End If
End If
If editentrylist = True Then
editentrylist = False
listdial = False
End If
End Sub
'****** THU TUC XOA MOT MUC ************
Private Sub erased(cho As Integer)
Dim news As entry
Dim news1 As entry
Dim banghi As Byte
Dim j As Byte
Dim i As Integer
If eraseentrylist = True Then
Open filefixed For Random As #1 Len = Len(news)
Else
Open filename For Random As #1 Len = Len(news)
End If
Open filename1 For Random As #2 Len = Len(news1)
banghi = LOF(1) \ Len(news)
For j = 1 To banghi
If j cho Then
Get #1, j, news
Put #2, j, news
Else
i = news.location
Exit For
End If
Next j
Do While j < banghi
Get #1, j + 1, news
Put #2, j, news
j = j + 1
Loop
tbnhap.Text = "Erased"
Close #1
Close #2
If eraseentrylist = True Then
Kill filefixed
Name filename1 As filefixed
eraseentrylist = False
listdial = False
Else
Kill filename
Name filename1 As filename
End If
End Sub
'***** THU TUC XU LY CUA PHAN PREVENT ACCESS *******
Private Sub prevent_access(k As Integer)
Dim news As entry
Dim news1 As entry
Dim banghi As Byte
Dim j As Integer
Dim i As Integer
Open filename For Random As #1 Len = Len(news)
Open filename2 For Random As #2 Len = Len(news)
banghi = LOF(1) \ Len(news)
i = 0
Select Case k
Case 1, 4
Close #1
Close #2
Exit Sub
Case 2
For j = 1 To banghi
Get #1, j, news
If news.location < 100 Then
i = i + 1
Put #2, i, news
End If
Next j
Close #1
Open filename1 For Random As #3 Len = Len(news)
For j = 1 To i
Get #2, j, news
Put #3, j, news
Next j
Close #2
Close #3
Kill filename2
Name filename1 As filename2
Case 3
For j = 1 To banghi
Get #1, j, news
If news.location > 100 Then
i = i + 1
Put #2, i, news
End If
Next j
Close #1
Open filename1 For Random As #3 Len = Len(news)
For j = 1 To i
Get #2, j, news
Put #3, j, news
Next j
Close #2
Close #3
Kill filename2
Name filename1 As filename2
End Select
End Sub
'***** THU TUC KHI PHIM BI MAT TIEU DIEM***
Private Sub so_LostFocus(Index As Integer)
i = 0
End Sub
'QUAY SO CHI VOI MOT PHIM
Private Sub onetouch(vitri As Integer)
Dim news As entry
Dim j As Byte
Dim banghi As Byte
Select Case onetouchof
Case 1, 2
Open filename For Random As #1 Len = Len(news)
Case 3
Open filefixed For Random As #1 Len = Len(news)
End Select
If onetouchof = 2 Then
vitri = vitri + 100
End If
banghi = LOF(1) \ Len(news)
For j = 1 To banghi
Get #1, j, news
If news.location = vitri Then
tbnhap.Text = news.number
Exit For
End If
Next j
Close #1
End Sub
'DANH SACH SO CO DINH
Private Sub fixeddiallist()
Dim news As entry
Dim banghi As Byte
Dim i As Integer
Dim j As Integer
Open filefixed For Random As #1 Len = Len(news)
found = False
banghi = LOF(1) \ Len(news)
If banghi = 0 Then
tbnhap.Text = "List Empty"
Else
If banghi = 1 Then
Get #1, 1, news
vitri = 1
Else
Get #1, 1, news
i = news.location
For j = 2 To banghi
Get #1, j, news
If i > news.location Then
i = news.location
vitri = j
Else
vitri = i
End If
Next j
End If
listdial = True
Get #1, vitri, news
st1 = news.name
tbnhap.Text = news.name & vbCrLf & news.number
End If
Close #1
End Sub
'XU LY CUA BO DEM THOI GIAN
Private Sub Timer1_Timer()
Dim j As Integer
Dim i As Integer
Dim ch As String
Dim networks As netselect
If formattime = False Then
Label2.Caption = Format(Now, "medium time")
Else
Label2.Caption = Format(Now, "short time")
End If
If Left(tbnhap.Text, 11) = "Range 1-100" Or Left(tbnhap.Text, 13) = "Range 101-255" Or Left(tbnhap.Text, 10) = "Range 1-40" Then
danhso = True
tbnhap.Text = "Enter Location!" & vbCrLf
Exit Sub
End If
If Left(tbnhap.Text, 6) = " Range" Then
danhso = True
tbnhap.Text = " Enter Location" & vbCrLf
Exit Sub
End If
If tbnhap.Text = "Location Empty" Then
'cancle = True
danhso = False
tbnhap.Text = "Personal Number"
Exit Sub
End If
If Right(tbnhap.Text, Len("Unused Locations")) = "Unused Locations" Then
tbnhap.Text = "Menu"
Exit Sub
End If
If tbnhap.Text = "Restricted" Then
tbnhap.Text = "Menu"
Exit Sub
End If
If tbnhap.Text = "Completed" Then
tbnhap.Text = "Menu"
danhso = True
Exit Sub
End If
If tbnhap.Text = "Calling" Then
Timer1.Interval = 3000
If cancall = True Then
tbnhap.Text = "Connecting Failed"
Image2.Visible = False
cancall = False
Exit Sub
End If
tbnhap.Text = "Connected"
Exit Sub
End If
If tbnhap.Text = "Connected" Then
tbnhap.Text = "End Call?"
found = False
Exit Sub
End If
If Left(tbnhap.Text, 6) = "Erased" Then
tbnhap.Text = "Menu"
Exit Sub
End If
If Left(tbnhap.Text, 6) = "Stored" Then
tbnhap.Text = "Menu"
Exit Sub
End If
If tbnhap.Text = "Range 1-24" Then
cancle = False
danhso = True
tbnhap.Text = "Enter Time" & vbCrLf
Exit Sub
End If
If tbnhap.Text = "Invalid Format" Then
cancle = False
danhso = True
tbnhap.Text = "Enter Date" & vbCrLf
Exit Sub
End If
If tbnhap.Text = "Not Match" Then
danhso = True
tbnhap.Text = "Unlock Code" & vbCrLf
Exit Sub
End If
If tbnhap.Text = " Not Match" Then
danhso = True
tbnhap.Text = "Old Code" & vbCrLf
Exit Sub
End If
If tbnhap.Text = "Not Match." Then
danhso = True
tbnhap.Text = "Enter PIN2 Code" & vbCrLf
Exit Sub
End If
If tbnhap.Text = " Not Match." Then
danhso = True
tbnhap.Text = "Enter Barring Password" & vbCrLf
Exit Sub
End If
If tbnhap.Text = "Finding" Then
tbnhap.Text = "Failed"
Exit Sub
End If
If tbnhap.Text = "Failed" Then
tbnhap.Text = "Network Selection"
Exit Sub
End If
If tbnhap.Text = "Enter 4 Digit" Then
tbnhap.Text = "New Code" & vbCrLf
danhso = True
Exit Sub
End If
If tbnhap.Text = "Invalid Code" Then
tbnhap.Text = "Current Code" & vbCrLf
danhso = True
Exit Sub
End If
If tbnhap.Text = " Invalid Code" Then
tbnhap.Text = "Current PIN2 Code" & vbCrLf
danhso = True
End If
If tbnhap.Text = "Invalid Password" Then
tbnhap.Text = " Current Password" & vbCrLf
danhso = True
Exit Sub
End If
If tbnhap.Text = " Enter 4 Digit" Then
tbnhap.Text = "New Barring Password" & vbCrLf
danhso = True
Exit Sub
End If
If tbnhap.Text = "Enter 4-8 Digit" Then
tbnhap.Text = "New PIN2 Code" & vbCrLf
danhso = True
End If
If tbnhap.Text = "Enter 6 Digit" Then
tbnhap.Text = "New Security Code" & vbCrLf
danhso = True
Exit Sub
End If
If tbnhap.Text = " Failed" Then
tbnhap.Text = "Enter Security Code" & vbCrLf
danhso = True
Exit Sub
End If
If tbnhap.Text = "Invalid Time" Then
tbnhap.Text = "Enter Time" & vbCrLf
danhso = False
cancle = False
Exit Sub
End If
If tbnhap.Text = "Invalid Date" Then
tbnhap.Text = "Enter Date" & vbCrLf
cancle = False
danhso = False
Exit Sub
End If
If tbnhap.Text = "Sending" Then
If cancall = True Then
tbnhap.Text = "Connecting Failed"
Image2.Visible = False
cancall = False
Else
tbnhap.Text = " Connected"
End If
Exit Sub
End If
If tbnhap.Text = " Connected" Then
Image2.Visible = False
tbnhap.Text = "Completed"
Exit Sub
End If
If tbnhap.Text = "Deleted" Then
tbnhap.Text = "Messages"
cancle = True
danhso = False
Exit Sub
End If
If tbnhap.Text = "Invalid Msg Number" Then
tbnhap.Text = "Messages"
cancle = True
danhso = False
Exit Sub
End If
'xu ly khi lam trong muc available network
If tbnhap.Text = "Wait.." Then
tbnhap.Text = "Scanning"
Exit Sub
End If
If tbnhap.Text = "Scanning" Then
Open filename5 For Random As #1 Len = Len(networks)
Get #1, 1, networks
tam1 = 1
tbnhap.Text = networks.mang
st = tbnhap.Text
Close #1
Exit Sub
End If
If tbnhap.Text = "Register" Then
tbnhap.Text = "Completed"
Exit Sub
End If
If tbnhap.Text = "Registerring" Then
tbnhap.Text = "Failed"
Exit Sub
End If
End Sub
'THU TUC SAP THU TU
Private Sub sapthutu()
Dim news As entry
Dim news1 As entry
Dim j As Integer
Dim k As Integer
Dim banghi As Byte
Dim ch As String
Dim ch1 As String
Dim so As String
Dim vitri As Integer
Open filename For Random As #1 Len = Len(news)
Open filename For Random As #2 Len = Len(news1)
banghi = LOF(1) \ Len(news)
For j = 2 To banghi
Get #1, j, news
ch = news.name
so = news.number
vitri = news.location
For k = j - 1 To 1 Step -1
Get #2, k, news1
ch1 = news1.name
If StrComp(ch, ch1) = 1 Or StrComp(ch, ch1) = 0 Then
Exit For
End If
news.name = news1.name
news.number = news1.number
news.location = news1.location
Put #1, k + 1, news
Next k
news.name = ch
news.number = so
news.location = vitri
Put #1, k + 1, news
Next j
Close #1
Close #2
End Sub
'CHUYEN MOT MUC
Private Sub menu_downswitchentry()
Dim news As entry
Dim banghi As Byte
Select Case prevent
Case 1
Open filename For Random As #1 Len = Len(news)
Case 2, 3
Open filename2 For Random As #1 Len = Len(news)
End Select
banghi = LOF(1) \ Len(news)
menucon = True
vitri = vitri + 1
If vitri <= banghi Then
Get #1, vitri, news
st1 = news.name
st = news.name
nu = news.number
tbnhap.Text = st & vbCrLf & nu
Close #1
Exit Sub
Else
vitri = 1
Get #1, vitri, news
st = news.name
st1 = news.name
nu = news.number
tbnhap.Text = st & vbCrLf & nu
Close #1
End If
End Sub
'CHUYEN MOT MUC
Private Sub menu_upswitchentry()
Dim news As entry
Dim banghi As Byte
Select Case prevent
Case 1
Open filename For Random As #1 Len = Len(news)
Case 2, 3
Open filename2 For Random As #1 Len = Len(news)
End Select
banghi = LOF(1) \ Len(news)
menucon = True
vitri = vitri - 1
cancle = True
danhso = False
If vitri >= 1 Then
Get #1, vitri, news
st1 = news.name
st = news.name
nu = news.number
tbnhap.Text = st & vbCrLf & nu
Close #1
Exit Sub
Else
vitri = banghi 'vitri + 1
Get #1, vitri, news
st1 = news.name
st = news.name
nu = news.number
tbnhap.Text = st & vbCrLf & nu
Close #1
End If
End Sub
'DI CHUYEN GIUA CAC MUC TRONG DANH SACH SO CO DINH
Private Sub menu_downlistdial()
Dim news As entry
Dim banghi As Byte
Open filefixed For Random As #1 Len = Len(news)
banghi = LOF(1) \ Len(news)
If banghi = 0 Then
listdial = False
Close #1
Exit Sub
End If
vitri = vitri + 1
If vitri <= banghi Then
Get #1, vitri, news
tbnhap.Text = news.name & vbCrLf & news.number
Else
vitri = 1
Get #1, vitri, news
tbnhap.Text = news.name & vbCrLf & news.number
End If
Close #1
End Sub
'DI CHUYEN GIUA CAC MUC TRONG DANH SACH SO CO DINH
Private Sub menu_uplistdial()
Dim news As entry
Dim banghi As Byte
Open filefixed For Random As #1 Len = Len(news)
banghi = LOF(1) \ Len(news)
If banghi = 0 Then
listdial = False
Close #1
Exit Sub
End If
vitri = vitri - 1
If vitri >= 1 Then
Get #1, vitri, news
tbnhap.Text = news.name & vbCrLf & news.number
Else
vitri = banghi
Get #1, vitri, news
tbnhap.Text = news.name & vbCrLf & news.number
End If
Close #1
End Sub
'THU TUC KIEM TRA BO NHO
Private Sub check(so As Boolean)
Dim news As entry
Dim banghi As Byte
Dim j As Integer
Dim max As Integer
Dim max1 As Integer
Open filename For Random As #1 Len = Len(news)
banghi = LOF(1) \ Len(news)
For j = 1 To banghi
Get #1, j, news
If news.location < 100 Then
max = max + 1
Else
max1 = max1 + 1
End If
Next j
If so = 0 Then
tbnhap.Text = (100 - max) & " Unused Locations"
Else
tbnhap.Text = (155 - max1) & " Unused Locations"
End If
Close #1
End Sub
'DI CHYEN GIUA DANH SACH CAC MANG UU TIEN
Private Sub preferredlist(so As Integer, chuoi As String)
Dim networks As netselect
Dim banghi As Byte
Dim j As Integer
Open filename6 For Random As #1 Len = Len(networks)
Open filetam For Random As #2 Len = Len(networks)
banghi = LOF(1) \ Len(networks)
If banghi = 0 Then
networks.mang = chuoi
Put #2, 1, networks
Else
For j = 1 To banghi
If so j Then
Get #1, j, networks
Put #2, j, networks
Else
networks.mang = chuoi
Put #2, j, networks
Exit For
End If
Next j
Do While j <= banghi
Get #1, j, networks.mang
Put #2, j + 1, networks.mang
j = j + 1
Loop
End If
If lo > banghi Then
networks.mang = st
Put #2, banghi + 1, networks
End If
Close #1
Close #2
Kill filename6
Name filetam As filename6
End Sub
'THU TUC DI CHUYEN MOT MANG UU TIEN DEN VI TRI MOI
Private Sub movenew(oldlo As Integer, newlo As Integer)
Dim networks As netselect
Dim i As Integer
Dim banghi As Integer
Dim chuoi As String
Open filename6 For Random As #1 Len = Len(networks)
Open filetam For Random As #2 Len = Len(networks)
banghi = LOF(1) \ Len(networks)
If oldlo = newlo Then
Close #1
Close #2
tbnhap.Text = "Completed"
Exit Sub
End If
If newlo >= banghi Then
For i = 1 To oldlo - 1
Get #1, i, networks
Put #2, i, networks
Next i
Get #1, oldlo, networks
chuoi = networks.mang
For i = oldlo + 1 To banghi
Get #1, i, networks
Put #2, i - 1, networks
Next i
networks.mang = chuoi
Put #2, banghi, networks.mang
End If
If oldlo < newlo And newlo < banghi Then
For i = 1 To oldlo - 1
Get #1, i, networks
Put #2, i, networks
Next i
Get #1, oldlo, networks
chuoi = networks.mang
For i = oldlo + 1 To newlo
Get #1, i, networks
Put #2, i - 1, networks
Next i
networks.mang = chuoi
Put #2, newlo, networks.mang
i = newlo + 1
Do While i <= banghi
Get #1, i, networks
Put #2, i, networks
i = i + 1
Loop
End If
If oldlo > newlo Then
For i = 1 To newlo - 1
Get #1, i, networks
Put #2, i, networks
Next i
Get #1, oldlo, networks
Put #2, newlo, networks
For i = newlo To oldlo - 1
Get #1, i, networks
Put #2, i + 1, networks
Next i
i = oldlo + 1
Do While i <= banghi
Get #1, i, networks
Put #2, i, networks
i = i + 1
Loop
End If
Close #1
Close #2
Kill filename6
Name filetam As filename6
tbnhap.Text = "Completed"
End Sub
'THU TUC XOA MOT MANG UU TIEN
Private Sub xoa(loca As Integer)
Dim networks As netselect
Dim j As Integer
Dim i As Integer
Dim banghi As Byte
Open filename6 For Random As #1 Len = Len(networks)
Open filetam For Random As #2 Len = Len(networks)
banghi = LOF(1) \ Len(networks)
For j = 1 To banghi
If j loca Then
Get #1, j, networks
Put #2, j, networks
Else
Exit For
End If
Next j
Do While j < banghi
Get #1, j + 1, networks
Put #2, j, networks
j = j + 1
Loop
Close #1
Close #2
Kill filename6
Name filetam As filename6
tbnhap.Text = "Completed"
End Sub
'**** Ham dung phim so trong menu Quick Access *****
Private Function clickquickaccess(so As Integer) As Integer
Dim menuaccess As access
Open filename3 For Random As #1 Len = Len(menuaccess)
Get #1, so, menuaccess
tbnhap.Text = Trim(menuaccess.feature)
clickquickaccess = menuaccess.thutu
'orderinquick = 1
Close #1
End Function
'**** Thu tuc dung phim trong menu Message list
Private Sub clickmessage(so As Integer)
Dim message As messages
Dim banghi As Byte
Open filename4 For Random As #1 Len = Len(message)
banghi = LOF(1) \ Len(message)
If banghi < so Then
tbnhap.Text = "Invalid Msg Number"
messagelist = False
Else
Get #1, so, message
tbnhap.Text = Trim(message.tin)
messagenumber = 2
End If
Close #1
End Sub
Private Sub store_message()
Dim message As messages
Dim banghi As Byte
Open filename4 For Random As #1 Len = Len(message)
banghi = LOF(1) \ Len(message)
If taomoi = True Then
banghi = banghi + 1
message.tin = st
message.sothutu = banghi 'messagenumber
Put #1, banghi, message 'messagenumber
Else
Get #1, messagenumber, message
message.tin = st
Put #1, messagenumber, message
End If
tbnhap.Text = "Stored"
'message1 = False
Close #1
End Sub
Private Sub delete_message()
Dim message As messages
Dim banghi As Byte
Dim j As Integer
Open filename4 For Random As #1 Len = Len(message)
banghi = LOF(1) \ Len(message)
Open filetam For Random As #2 Len = Len(message)
For j = 1 To banghi
If j messagenumber Then
Get #1, j, message
Put #2, j, message
Else
Exit For
End If
Next j
Do While j < banghi
Get #1, j + 1, message
Put #2, j, message
j = j + 1
Loop
tbnhap.Text = "Deleted"
Close #1
Kill filename4
Close #2
Name filetam As filename4
End Sub
'KHOI TAO CONTROL
Private Sub UserControl_Initialize()
Dim news As entry
Dim banghi As Integer
Dim menuaccess As access
Dim k As Integer
Dim message As messages
Dim networks As netselect
Label2.Caption = Left(Time, 5)
tbnhap.Text = "Menu"
unlocked = "1234"
securitycode = "000000"
voicemailnumber = "4321"
servicecentre = "130"
pin2code = "13579"
expiryperiod = "24"
barpassword = "6789"
volume.Picture = volume1(2).Picture
vol = 3
prevent = 1
Open filename3 For Random As #1 Len = Len(menuaccess)
menuaccess.feature = "Find Name?"
menuaccess.thutu = 1
Put #1, 1, menuaccess
menuaccess.feature = "Add to SIM?"
menuaccess.thutu = 4
Put #1, 2, menuaccess
menuaccess.feature = "Call Voicemail?"
menuaccess.thutu = 12
Put #1, 3, menuaccess
menuaccess.feature = "Battery Meter?"
menuaccess.thutu = 11
Put #1, 4, menuaccess
menuaccess.feature = "Show Time/Date?"
menuaccess.thutu = 8
Put #1, 5, menuaccess
menuaccess.feature = "Adjust Ring?"
menuaccess.thutu = 6
Put #1, 6, menuaccess
menuaccess.feature = "Switch Line 1/2?"
menuaccess.thutu = 7
Put #1, 7, menuaccess
menuaccess.feature = "Vibrate On/Off?"
menuaccess.thutu = 9
Put #1, 8, menuaccess
menuaccess.feature = "Change Band?"
menuaccess.thutu = 10
Put #1, 9, menuaccess
Close #1
Open filename For Random As #1 Len = Len(news)
news.name = "NHA"
news.number = "8402631"
news.location = 1
Put #1, 1, news
news.name = "HUNG"
news.number = "8570726"
news.location = 101
Put #1, 2, news
Close #1
Open filename4 For Random As #2 Len = Len(message)
message.tin = "HELLO"
message.sothutu = 1
Put #2, 1, message
Close #2
Open filename5 For Random As #1 Len = Len(networks)
networks.mang = "FPT"
Put #1, 1, networks
networks.mang = "Phuong Nam"
Put #1, 2, networks
networks.mang = "SaigonNet"
Put #1, 3, networks
networks.mang = "VNN"
Put #1, 4, networks
Close #1
Open filefixed For Random As #1 Len = Len(news)
banghi = LOF(1) \ Len(news)
If banghi = 0 Then
news.name = "NHA"
news.number = "8402631"
news.location = 1
Put #1, 1, news
End If
Close #1
Open filename6 For Random As #1 Len = Len(networks)
banghi = LOF(1) \ Len(networks)
If banghi = 0 Then
networks.mang = "FPT"
Put #1, 1, networks
End If
Close #1
End Sub
'KHI CONTROL KET THUC
Private Sub UserControl_Terminate()
Kill filename
Kill filename3
Kill filename4
Kill filename5
Kill filename6
Kill filefixed
End Sub
PHẦN IV :
TÀI LIỆU THAM KHẢO
Kỹ năng lập trình Visual Basic 6.0.
Microsoft Developer Network.
Mục Lục
._.
Các file đính kèm theo tài liệu này:
- DA2054.doc