Trang chủDiễn đànThư viện TutorialsTin tứcĐăng kýLiên hệ
DANH MỤC

QUẢNG CÁO


THỐNG KÊ
Số bài giảng: 224
Số chuyên mục: 35
Số thành viên: 748433
Đang online: 1447

Trang chủ >> Lập trình web động >> ASP
Bài 3 - Tóm tắt các cú pháp VBScript
Mã lệnh ASP có thể viết bằng VBScript hoặc JavaScript (đọc thêm tài liệu về ngôn ngữ này). Các script của ASP thực thi trên server và nằm trong cặp dấu <% %>. Bên trong có thể chứa các biểu thức, hàm, toán tử, lệnh hợp lệ của ngôn ngữ Script tương ứng. Ở đây chúng ta tìm hiểu vắn tắt cách sử dụng ASP để lập trình web động bằng VBScript.

1.3.1 Response.write

để gửi nội dung về cho trình duyệt ta dùng lệnh Response.write <%response.write “Hello World!”%> hoặc có thể viết ngắn gọn hơn <%=“Hello World!”%>

1.3.2 Biến
Biến dùng để lưu trữ thông tin. Biến có phạm vi cục bộ, nếu nó được khai báo bên trong 1 hàm hay thủ tục thì nó chỉ có tác dụng trong hàm hay thủ tục đó, nếu nó khai báo trong phạm vi toàn trang ASP thì tác dụng của nó sẽ có phạm vi trong toàn trang ASP, tuy nhiên không có tác dụng trong trang ASP khác.Ví dụ ở trang Hello.asp ta có một biến x có giá trị là 3, trang Index.asp ta dùng lệnh <%response.write x %> thì sẽ không ra kết qủa là 3 vì biến x của trang Hello.asp không được hiểu trong trang Index.asp. Tương tự như vậy khi một biến được khai báo trong 1 hàm, sẽ không có tác dụng ở bên ngoài hàm đó. Biến được khai báo và sử dụng bên trong trang asp nào dùng nó.
Code:
<%
Dim x ‘khai báo biến, không bắt buộc
x=3
Response.write x
%>

Biến không bắt buộc phải khai báo. Trong asp không khai báo kiểu của biến. Asp sẽ căn cứ vào việc sử dụng biến mà quyết định xem nên xử lý biến đó như là kiểu gì.

Code:
<%Dim a, b
a=”Hello” ‘a là một biến kiểu chuỗi
For b=1 to 10 ‘b là một biến kiểu số nguyên
Response.write b
Next%>

Để có thể kiểm soát chính xác một biến theo kiểu mình mong muốn, chúng ta dùng các hàm chuyển đổi kiểu. Để định nghĩa một biến có phạm vi sử dụng trong nhiều trang ASP của ứng dụng Web, ta dùng biến session và application (xem đối tượng session và application)

1.3.3 Mảng

Mảng dùng để lưu trữ dữ liệu theo một dãy các phần tử.

Code:
<%
dim y(5) ‘khai báo mảng 6 phần tử đánh chỉ số từ 0 đến 5
y(0)=2
y(1)=13
response.write y(0)
response.write y(1)
%>

1.3.4 Ghép chuỗi
Để ghép các chuỗi với nhau ta dùng dấu &

Code:
<%Dim a, b
A=”Cộng hòa xã hội chủ nghĩa Việt Nam”
B=”Độc lập Tự do Hạnh phúc”
Response.write a&b
%>

1.3.5 Hàm có sẵn
VBScript hỗ trợ sẵn một số hàm cơ bản. Ví dụ hàm “now”sau đây sẽ trả về thời gian trên server

Code:
<%response.write now%>

1.3.5.1 Các hàm chuyển đổi kiểu
Các hàm này cho phép chuyển đổi kiểu dữ liệu
Cdate: Chuyển sang kiểu ngày tháng

Code:
<%Dim a, b
a=”22/1/2004” ‘a đang được hiểu là một chuỗi
b=Cdate(a) ‘chuyển chuỗi a sang đúng kiểu ngày tháng
%>

Cint: Chuyển sang kiểu Integer

Code:
<% Dim a,b
a=”3”
10 ASP
b=cint(a)
%>

Cstr: Chuyển sang kiểu string

Code:
<% Dim a,b
a=3
b=Cstr(a) %>

Các hàm khác : Cbyte, Cdbl,CSng, Cbool, Ccur,

1.3.5.2 Các hàm format
Các hàm này cho phép định dạng dữ liệu
FormatDateTime
FormatCurrency
FormatNumber
FormatPercent

1.3.5.3 Các hàm toán học:
Int: lấy phần nguyên của một số

Code:
<% Dim x=14.9
Y=Int(x) ‘kết quả y=14
%>
Code:

Các hàm khác : Abs, Atn, Cos, Exp, Fix, Hex, Log, Oct, Rnd, Randomize,
Round, Sin, Sqr, Tan

1.3.5.4 Các hàm thao tác với chuỗi
Len: Lấy chiều dài chuỗi

Code:
<%dim a,b
a=”Cộng hòa xã hội chủ nghĩa Việt Nam”
b=len(a)
%>

Ucase, Lcase: Chuyển chữ hoa thành chữ thường và ngược lại

Code:
<%dim a,b,c,d
a=”hello”
b=Ucase(a) ‘b=”HELLO”
c=”GOODBYE”
d=Lcase(c) ‘d=”goodbye” %>
Ltrim, Rtrim, Trim: cắt bỏ các khoảng trắng thừa
<% dim a,b,c,d,e,f
a=” Hello”
b=Ltrim(a) ‘cắt bỏ hết các khoảng trắng bên trái
c=”Hello ”
d=Rtrim(a) ‘cắt bỏ hết các khoảng trắng bên phải
e=” Hello world ”
f=Trim(a) ‘cắt bỏ hết các khoảng trắng thừa 2 bên và ở giữa
%>

Left, Mid, Right: Lấy một chuỗi con trong chuỗi lớn

Code:
<%Dim a,b,c,d
a=”Hello World”
Chương 1: Giới thiệu ASP 11
b=left(a,5) ‘lấy 5 ký tự bên trái của a, kết quả b=”Hello”
c=right(a,5) ‘lấy 5 ký tự bên phải của a, kết quả c=”World”
d=mid(a,7,1) ‘lấy 1 ký tự của a từ vị trí thứ 7, kết quả d=”W”
%>

Các hàm khác: Space,String, StrReverse,StrComp,InStr,Replace,Split,join

1.3.5.5 Các hàm ngày tháng
Date, Time, Now: Lấy ngày, giờ hiện hành trên server

Code:
<%
Response.write “Hom nay la ngay: ” &Date ‘Date trả về ngày hiện hành
Response.write “Bay gio la”&Time ‘Time trả về giờ hiện hành
Response.write Now ‘Now trả về ngày và giờ hiện hành
%>

Các hàm khác: DateAdd, DateDiff, DatePart, Year, Month, Day, Weekday,
Hour, Minute, Second

1.3.5.6 Các hàm kiểm tra:

Các hàm này cho phép kiểm tra kiểu của biến và biểu thức
Isdate: Kiểm tra có phải đúng kiểu ngày tháng không?

Code:
<%Dim a
a=”1/1/2004”
If Isdate(a) then
Response.write “a đúng là kiểu ngày tháng ”
End if
%>

IsNumeric: Kiểm tra có phải đúng kiểu số không?

Code:
<%Dim a
A=”13”
If IsNumeric(a) then
Response.write “a đúng là kiểu số”
End if
%>

Các hàm khác: IsArray,IsEmpty,IsNull,IsObject

1.3.6 Rẽ nhánh

1.3.6.1 If
Chúng ta sử dụng if theo cú pháp như ví dụ sau:
Code:
<% h=hour(now)
If h >12 then
Response.write “Afternoon”
else
Response.write “Morning”
End if %>

Hoặc:
Code:
<% h=hour(now)

If h >12 then Response.write "Afternoon" else Response.write "Morning" %>
Code:

1.3.6.2 Select case ... else ...End select

Cấu trúc rẽ nhánh trong trường hợp có nhiều hơn 2 lựa chọn

Code:
<%
h=hour(now)
Select case h
Case "1"
Response.write "1 am"
Case "2"
Response.write "2 am"
Case else
Response.write "Other "
End select
%>

1.3.7 Lặp:
1.3.7.1 For…Next

Vòng lặp có số lần lặp xác định
Code:
<%Dim i
For i=1 to 10
Response.write i
Next
%>
Code:

1.3.7.2 Do While…Loop

Vòng lặp có số lần lặp không xác định
Code:
<% Dim i
i=1
Do while i<=10
Response.write i
i=i+1
Loop
%>

1.3.7.3 While .. Wend
Vòng lặp có số lần lặp không xác định
Code:
<% Dim i
i=1
While i<=10
Response.write i
i=i+1
Wend
%>
Code:

1.3.7.4 Do .. Loop Until
Vòng lặp có số lần lặp không xác định
Code:
<%
Chương 1: Giới thiệu ASP 13
i=1
do
response.write i
i=i+1
loop Until i>10
%>

1.3.8 Điều kiện and ,or, not
Code:
<% h=hour(now)
If (h >12) and (h<18) then
Response.write “Afternoon”
End if
%>

1.3.9 Thủ tục và hàm người dùng

Cũng như các ngôn ngữ lập trình khác, VBScript cho phép người dùng định nghĩa và sử dụng các thủ tục ,hàm. Nhờ vậy chương trình có thể chia thành các module nhỏ tạo nên cấu trúc lập trình sáng sủa (phương pháp chia để trị) Chẳng hạn với một bài toán ASP cần thực hiện việc hiển thị dữ liệu từ Database ra màn hình, ta có thể xây dựng các thủ tục hay hàm thực hiện từng nhiệm vụ đó:
- Thủ tục KetNoi
- Thủ tục HienThi
- Thủ tục HuyKetNoi
Như vậy phần chương trình chính sẽ rất sáng sủa, chúng ta chỉ việc gọi 3 thủ tục:

Code:
<%
KetNoi
HienThi
HuyKetNoi
%>

1.3.9.1 Thủ tục

Thủ tục thực hiện một nhóm các câu lệnh. Để viết một thủ tục chúng ta theo cấu trúc sau:

Code:
<%Sub TenThuTuc(Tham so)
‘ Phần thân của thủ tục
End Sub
%>

Ví dụ sau đây xây dựng chương trình đăng nhập gồm 2 file: Form.asp (hiển thị form để người dùng nhập username và password), Xulyform.asp (xử lý form, nếu username=”test” và password=”test” thì thông báo đăng nhập thành công, nếu không thì thông báo đăng nhập thất bại). File Xulyform.asp sẽ viết thủ tục và gọi thủ tục này:
Form.asp

HTML Code:
<html>
<body>
<form method="post" action="xulyform.asp">
14 ASP
<input type="text" name="user">
<input type="password" name="pass">
<input type="submit" name="submit">
</form>
</body>
</html>
Xulyform.asp
<%Sub CheckUser(username,password)
if (username<>
"test") or (password <> "test") then
response.write "Dang nhap that bai!"
else
response.write "Dang nhap thanh cong!"
end if
End Sub
%>
<% dim a, b
a=request.form("user")
b=request.form("pass")
CheckUser a,b ‘gọi thủ tục
%>

1.3.9.2 Hàm

Hàm khác với thủ tục là nó trả về một kết quả. Để viết một hàm chúng ta viết theo cấu trúc sau:

Code:
<%Function TenFunction(tham so)
‘ Phần nội dung của hàm
End Function
%>
Code:

Chú ý trong nội dung của hàm bao giờ cũng phải có một lệnh trả về kết quả:
TenFunction=...
Với bài toán đăng nhập ở trên chúng ta có thể viết lại như sau (file xulyform.asp dùng hàm)
Form.asp

Code:
<html>
<body>
<form method="post" action="xulyform.asp">
<input type="text" name="user">
<input type="password" name="pass">
<input type="submit" name="submit">
</form>
</body>
</html>
Xulyform.asp
<%Function CheckUser(username,password)
if (username<>"test") or (password <> "test") then
CheckUser="False"
else
Chương 1: Giới thiệu ASP 15
CheckUser="True"
end if
End Function
%>
<%
dim a
a=CheckUser(request.form("user"),request.form("pass")) ‘ gọi hàm
if a="True" then
response.write "Dang nhap thanh cong"
else
response.write "Dang nhap that bai"
end if
%>

1.3.10 Sử dụng #include
Trong trường hợp muốn trộn mã nguồn từ 1 file asp vào 1 file asp khác trước khi server thực thi nó, người ta dùng thẻ định hướng #include với cú pháp
Code:
<!--#include file=”Tenfile”-->

Một số ứng dụng của #include như người ta thường include file chứa các hàm thư viện dùng chung cho cả ứng dụng vào đầu file Asp nào cần sử dụng thư viện này, hoặc insert các file Header và Footer cho 1 trang web, insert các thành phần được sử dụng chung trong nhiều file asp như menu,...
Ví dụ trong ứng dụng ASP có nhiều trang cần thao tác với database, chúng ta sẽ viết riêng module thao tác với database ra một file myConnection.asp, rồi include file này vào trang asp nào muốn thao tác với database
Code:
<!--#include file=“myConnection.asp"-->
<%
‘ mã nguồn
%>

Lưu ý là include file được thực hiện trước khi script chạy. Vì vậy đoạn lệnh sau đây là không hợp lệ:
Code:
<% filename=”myConnection.asp”%>
<!--#include file=“<%=filename%>"-->
Bài mới nhất cùng chuyên mục Xem bài tiếp theo
BẢO VỆ CƠ SỞ DỮ LIỆU ACCESS TRONG CÁC ỨNG DỤNG WEB (06-09-2009 | 02:02:01 PM)
Bài 6 - Hướng dẫn xây dựng 1 số ứng dụng bằng ASP (Đăng ký, đăng nhập, quản lý, Shoping Cart) (05-09-2009 | 08:47:41 PM)
Bài5 - Sử dụng Database với ASP (05-09-2009 | 08:46:01 PM)
Bài 4 - Các đối tượng căn bản (05-09-2009 | 08:45:26 PM)
Bài 3 - Tóm tắt các cú pháp VBScript (05-09-2009 | 08:44:55 PM)
 
 
© Copyright 2009 SINHVIENIT.NET, All right reserved
Thư viện bài giảng nghành công nghệ thông tin SinhVienIT.Net  
Xây dựng và phát triển bởi các thành viên SinhVienIT.net
Liên hệ: Admin@SinhVienIT.Net | VuThanhLai@Gmail.Com
Ghi rõ nguồn http://sinhvienit.net khi sao chép bài ở đây.