Lậptrìnhasp.netđểtạobộđếmsốngườionline Hỏi: Xin hướng dẫn lậptrình asp.net đểtạobộđếmsốngườionline và dịch từ số đó sang chữ. Đáp: Cụm từ "số người on-line" của bạn không rõ ràng, thường thì người ta chỉ muốn đếm xem có bao nhiêu người đã truy xuất website cụ thể. Để xây dựng trang ASP hiển thị dòng chữ miêu tả sốngười đã truy xuất website (hay trang web) của mình, bạn cần giải quyết 2 vấn đề cơ bản: - Viết hàm chuyển đổi từ số nguyên sang dòng chữ phát âm số nguyên đó. - Tăng counter đếm (thường phải được để trên file hay database để lưu giữ lâu dài ngay cả khi trang web không được truy xuất hay máy server bị shutdown), rồi dùng hàm chuyển đổi counter hiện hành sang chuỗi phát âm tương ứng và hiển thị ở vị trí thích hợp trên trang web. Đoạn lệnh sau đây là của trang ASP demo do chúng tôi viết, mỗi khi có người dùng nào đó truy xuất sẽ lưu thông tin về người dùng đó lên table tên là ClientsTab, rồi đếm tổng sốngười dùng đã truy xuất từ trước đến nay và hiển thị chuỗi phát âm lên trang web kết quả: <html> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <head> <% '------------------------------------ ' Hàm đổi 1 số có tối đa 3 ký số thành chuỗi tương ứng. '------------------------------------- Private Function sotram2chu(socandoi) 'As String ' Khai báo dữ liệu Dim chuso(11) 'As String Dim shangchuc, shangtram, shangdonvi Dim str 'As String chuso(1) = "một" chuso(2) = "hai" chuso(3) = "ba" chuso(4) = "bốn" chuso(5) = "năm" chuso(6) = "sáu" chuso(7) = "bảy" chuso(8) = "tám" chuso(9) = "chín" str = "" ' Kiểm tra số cần đổi có hợp lệ không If socandoi >= 1000 Then sotram2chu = "???" Exit Function End If 'Xác định 3 ký số miêu tả hàng trăm, hàng chục & đơn vị shangtram = socandoi \ 100 socandoi = socandoi Mod 100 shangchuc = socandoi \ 10 shangdonvi = socandoi Mod 10 If shangtram >= 1 Then str = chuso(shangtram) & " trăm" End If If shangchuc >= 2 Then str = str & " " & chuso(shangchuc) & " mươi" ElseIf shangchuc = 1 Then str = str & " mười" End If If shangdonvi = 0 Then sotram2chu = str Exit Function End If If shangchuc = 0 Then If shangtram <> 0 Then str = str & " lẻ " & chuso(shangdonvi) Else str = str & " " & chuso(shangdonvi) End If sotram2chu = str Exit Function End If If shangchuc = 1 Then If shangdonvi <> 5 Then str = str & " " & chuso(shangdonvi) Else str = str & " lăm" End If sotram2chu = str Exit Function End If If shangdonvi = 1 Then str = str + " mốt" ElseIf shangdonvi = 5 Then str = str + " lăm" Else str = str + " " + chuso(shangdonvi) End If sotram2chu = str End Function '------------------------------------ ' Hàm đổi 1 số nguyên bất kỳ thành chuỗi phát âm tương ứng '------------------------------------ Private Function so2chu(socandoi) Dim idx 'As Integer Dim ba_kyso 'As Integer Dim str, str_tram 'As String Dim tu_ngan_cach 'As String Dim chu_cach(5) 'As String chu_cach(1) = "tỷ" chu_cach(2) = "ngàn" chu_cach(3) = "triệu" idx = 0 ' vi tri dau cham phan cach tung 3 ky so str = "" str_tram = "" While socandoi <> 0 ba_kyso = socandoi Mod 1000 socandoi = socandoi \ 1000 str_tram = sotram2chu(ba_kyso) 'nen bo cac khoang trong dan dau If idx = 0 Then ' vi tri don vi str = str_tram ElseIf Len(str_tram) <> 0 Then 'vi tri ngan, trieu, ty tu_ngan_cach = chu_cach((idx Mod 3) + 1) str = str_tram + " " + tu_ngan_cach + " " + str ElseIf (idx Mod 3) = 0 Then str = "tỷ " + str End If idx = idx + 1 Wend so2chu = str End Function //hàm lưu thông tin về người dùng truy xuất và đếmsố lượt người Function UserCount() 'khai báo các biến cần dùng dim MyConnection dim MyCommand dim MyRecordset 'tạo 1 connection đến database dung DSN set MyConnection = Server.CreateObject("ADODB.Connection") MyConnection.Open "DSN=MyDatabase" 'tạo đối tượng Command set MyCommand = Server.CreateObject("ADODB.Command") MyCommand.ActiveConnection = MyConnection 'lưu thông tin người dùng đang truy xuất vào database MyCommand.CommandText = "INSERT INTO ClientsTab VALUES ('" & Request.ServerVariables("Remote_Addr") & "','" & Request.ServerVariables("Path_Info") & "','" & Request.ServerVariables("HTTP_User_Agent") & "')" MyCommand.Execute() 'đọc tất cả record trong table ClientsTab MyCommand.CommandText = "SELECT * FROM ClientsTab" set MyRecordset = MyCommand.Execute() clientnum = 0 'đếm số record trong table ClientsTab Do While Not MyRecordset.EOF clientnum = clientnum + 1 MyRecordset.MoveNext Loop 'đổi số lượt người ra chuỗi phát âm usercount=so2chu(clientnum) 'đóng các đối tượng đã dùng lại MyRecordset.Close MyConnection.Close End Function %> </head> <body> Bạn là người truy cập thứ <b><%=UserCount()%></b> tới trang web này. . </body> </html> . Lập trình asp. net để tạo bộ đếm số người online Hỏi: Xin hướng dẫn lập trình asp. net để tạo bộ đếm số người online và dịch từ số đó sang chữ " ;số người on-line" của bạn không rõ ràng, thường thì người ta chỉ muốn đếm xem có bao nhiêu người đã truy xuất website cụ thể. Để xây dựng trang ASP