Trang chủ
Bài viết mới
Diễn đàn
Bài mới trên hồ sơ
Hoạt động mới nhất
VIDEO
Mùa Tết
Văn Học Trẻ
Văn Học News
Media
New media
New comments
Search media
Đại Học
Đại cương
Chuyên ngành
Triết học
Kinh tế
KHXH & NV
Công nghệ thông tin
Khoa học kĩ thuật
Luận văn, tiểu luận
Phổ Thông
Lớp 12
Ngữ văn 12
Lớp 11
Ngữ văn 11
Lớp 10
Ngữ văn 10
LỚP 9
Ngữ văn 9
Lớp 8
Ngữ văn 8
Lớp 7
Ngữ văn 7
Lớp 6
Ngữ văn 6
Tiểu học
Thành viên
Thành viên trực tuyến
Bài mới trên hồ sơ
Tìm trong hồ sơ cá nhân
Credits
Transactions
Xu: 0
Đăng nhập
Đăng ký
Có gì mới?
Tìm kiếm
Tìm kiếm
Chỉ tìm trong tiêu đề
Bởi:
Hoạt động mới nhất
Đăng ký
Menu
Đăng nhập
Đăng ký
Install the app
Cài đặt
Chào mừng Bạn tham gia Diễn Đàn VNKienThuc.com -
Định hướng Forum
Kiến Thức
- HÃY TẠO CHỦ ĐỀ KIẾN THỨC HỮU ÍCH VÀ CÙNG NHAU THẢO LUẬN Kết nối:
VNK X
-
VNK groups
| Nhà Tài Trợ:
BhnongFood X
-
Bhnong groups
-
Đặt mua Bánh Bhnong
CÔNG NGHỆ
Công Nghệ Thông Tin
Thủ Thuật Tin học
Tạo bộ đếm số người online bằng ASP.NET
JavaScript is disabled. For a better experience, please enable JavaScript in your browser before proceeding.
You are using an out of date browser. It may not display this or other websites correctly.
You should upgrade or use an
alternative browser
.
Trả lời chủ đề
Nội dung
<blockquote data-quote="hoanglan89" data-source="post: 80204" data-attributes="member: 1881"><p><strong>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ữ.</strong></p><p><strong></strong></p><p><strong>Trả lời :</strong></p><p><strong></strong></p><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:</p><p></p><p>- Viết hàm chuyển đổi từ số nguyên sang dòng chữ phát âm số nguyên đó.</p><p>- 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.</p><p></p><p>Đ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ả</p><p></p><p><html></p><p><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></p><p><head></p><p><%</p><p>'------------------------------------</p><p>' Hàm đổi 1 số có tối đa 3 ký số thành chuỗi tương ứng.</p><p>'-------------------------------------</p><p>Private Function sotram2chu(socandoi) 'As String</p><p>' Khai báo dữ liệu</p><p>Dim chuso(11) 'As String</p><p>Dim shangchuc, shangtram, shangdonvi</p><p>Dim str 'As String</p><p>chuso(1) = "một"</p><p>chuso(2) = "hai"</p><p>chuso(3) = "ba"</p><p>chuso(4) = "bốn"</p><p>chuso(5) = "năm"</p><p>chuso(6) = "sáu"</p><p>chuso(7) = "bảy"</p><p>chuso(8) = "tám"</p><p>chuso(9) = "chín"</p><p>str = ""</p><p>' Kiểm tra số cần đổi có hợp lệ không</p><p>If socandoi >= 1000 Then</p><p>sotram2chu = "???"</p><p>Exit Function</p><p>End If</p><p>'Xác định 3 ký số miêu tả hàng trăm, hàng chục & đơn vị</p><p>shangtram = socandoi 100</p><p>socandoi = socandoi Mod 100</p><p>shangchuc = socandoi 10</p><p>shangdonvi = socandoi Mod 10</p><p>If shangtram >= 1 Then</p><p>str = chuso(shangtram) & " trăm"</p><p>End If</p><p>If shangchuc >= 2 Then</p><p>str = str & " " & chuso(shangchuc) & " mươi"</p><p>ElseIf shangchuc = 1 Then</p><p>str = str & " mười"</p><p>End If</p><p>If shangdonvi = 0 Then</p><p>sotram2chu = str</p><p>Exit Function</p><p>End If</p><p>If shangchuc = 0 Then</p><p>If shangtram <> 0 Then</p><p>str = str & " lẻ " & chuso(shangdonvi)</p><p>Else</p><p>str = str & " " & chuso(shangdonvi)</p><p>End If</p><p>sotram2chu = str</p><p>Exit Function</p><p>End If</p><p>If shangchuc = 1 Then</p><p>If shangdonvi <> 5 Then</p><p>str = str & " " & chuso(shangdonvi)</p><p>Else</p><p>str = str & " lăm"</p><p>End If</p><p>sotram2chu = str</p><p>Exit Function</p><p>End If</p><p>If shangdonvi = 1 Then</p><p>str = str + " mốt"</p><p>ElseIf shangdonvi = 5 Then</p><p>str = str + " lăm"</p><p>Else</p><p>str = str + " " + chuso(shangdonvi)</p><p>End If</p><p>sotram2chu = str</p><p>End Function</p><p>'------------------------------------</p><p>' Hàm đổi 1 số nguyên bất kỳ thành chuỗi phát âm tương ứng</p><p>'------------------------------------</p><p>Private Function so2chu(socandoi)</p><p>Dim idx 'As Integer</p><p>Dim ba_kyso 'As Integer</p><p>Dim str, str_tram 'As String</p><p>Dim tu_ngan_cach 'As String</p><p>Dim chu_cach(5) 'As String</p><p>chu_cach(1) = "tỷ"</p><p>chu_cach(2) = "ngàn"</p><p>chu_cach(3) = "triệu"</p><p>idx = 0 ' vi tri dau cham phan cach tung 3 ky so</p><p>str = ""</p><p>str_tram = ""</p><p>While socandoi <> 0</p><p>ba_kyso = socandoi Mod 1000</p><p>socandoi = socandoi 1000</p><p>str_tram = sotram2chu(ba_kyso) 'nen bo cac khoang trong dan dau</p><p>If idx = 0 Then ' vi tri don vi</p><p>str = str_tram</p><p>ElseIf Len(str_tram) <> 0 Then 'vi tri ngan, trieu, ty</p><p>tu_ngan_cach = chu_cach((idx Mod 3) + 1)</p><p>str = str_tram + " " + tu_ngan_cach + " " + str</p><p>ElseIf (idx Mod 3) = 0 Then</p><p>str = "tỷ " + str</p><p>End If</p><p>idx = idx + 1</p><p>Wend</p><p>so2chu = str</p><p>End Function</p><p>//hàm lưu thông tin về người dùng truy xuất và đếm số lượt người</p><p>Function UserCount()</p><p>'khai báo các biến cần dùng</p><p>dim MyConnection</p><p>dim MyCommand</p><p>dim MyRecordset</p><p>'tạo 1 connection đến database dung DSN</p><p>set MyConnection = Server.CreateObject("ADODB.Connection")</p><p>MyConnection.Open "DSN=MyDatabase"</p><p>'tạo đối tượng Command</p><p>set MyCommand = Server.CreateObject("ADODB.Command")</p><p>MyCommand.ActiveConnection = MyConnection</p><p>'lưu thông tin người dùng đang truy xuất vào database</p><p>MyCommand.CommandText = "INSERT INTO ClientsTab VALUES ('" & Request.ServerVariables("Remote_Addr") & "','" & Request.ServerVariables("Path_Info") & "','" & Request.ServerVariables("HTTP_User_Agent") & "')"</p><p>MyCommand.Execute()</p><p>'đọc tất cả record trong table ClientsTab</p><p>MyCommand.CommandText = "SELECT * FROM ClientsTab"</p><p>set MyRecordset = MyCommand.Execute()</p><p>clientnum = 0</p><p>'đếm số record trong table ClientsTab</p><p>Do While Not MyRecordset.EOF</p><p>clientnum = clientnum + 1</p><p>MyRecordset.MoveNext</p><p>Loop</p><p>'đổi số lượt người ra chuỗi phát âm</p><p>usercount=so2chu(clientnum)</p><p>'đóng các đối tượng đã dùng lại</p><p>MyRecordset.Close</p><p>MyConnection.Close</p><p>End Function</p><p>%></p><p></head></p><p><body></p><p>Bạn là người truy cập thứ <b><%=UserCount()%></b> tới trang web này.</p><p>...</p><p></body></p><p></html></p><p></p><p>Theo pcworld</p></blockquote><p></p>
[QUOTE="hoanglan89, post: 80204, member: 1881"] [B]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ữ.[/B] [B] Trả lời : [/B] 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à đếm số 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> Theo pcworld [/QUOTE]
Tên
Mã xác nhận
Gửi trả lời
CÔNG NGHỆ
Công Nghệ Thông Tin
Thủ Thuật Tin học
Tạo bộ đếm số người online bằng ASP.NET
Top