• Vui lòng đọc nội qui diễn đàn để tránh bị xóa bài viết
  • Tìm kiếm trước khi đặt câu hỏi

Ubound ở đâu tại sao máy mình không có ?

Góc trao đổi, hỏi đáp của ngôn ngữ Visual Basic 6 và Visual Basic Script

Moderator: tungblt

comeonbaby
Posts: 6
Joined: Wed 16/04/2008 5:11 pm

Ubound ở đâu tại sao máy mình không có ?

Postby comeonbaby » Sat 29/11/2008 2:43 pm

Chào mọi người, mình đang dùng visual basic 6.0 professional edition. Thấy trong bộ từ điển hàm của 4rum có hàm UBound. Nhưng máy mình nó không có hàm này :| Chả hiểu bị làm sao. Các hàm khác thì ok mỗi cái này là không có. Bạn nào biết nguyên nhân tại sao chỉ mình với.Mình cám ơn nhiều lắm



Uzumaki Naruto
Thành viên danh dự
Thành viên danh dự
Posts: 839
Joined: Mon 30/04/2007 9:55 pm
Location: Sài Gòn
Has thanked: 7 times
Been thanked: 83 times

Re: Ubound ở đâu tại sao máy mình không có ?

Postby Uzumaki Naruto » Sat 29/11/2008 2:51 pm

Theo mình nghĩ thì do bạn dùng sai.
Ubound là một hàm nên nó phải trả về một giá trị nên phải gán vào một biến như trong VBlib.
Cause you're my special thing
I'm flying without wings

comeonbaby
Posts: 6
Joined: Wed 16/04/2008 5:11 pm

Re: Ubound ở đâu tại sao máy mình không có ?

Postby comeonbaby » Sat 29/11/2008 4:31 pm

Cám ơn bạn, mình dùng được rồi. Chỉ có điều vẫn thắc mắc là khi 1 hàm trả về giá trị thì cứ nhất thiết phải gán nó vào biến thì mới gọi được à ? Mình tự học nên chả nắm vững. Sách viết sơ sài quá. Cấu trúc lệnh của cái này cũng hơi khác so với các ngôn ngữ như jv hoặc C.

User avatar
xuanquy_th
Guru
Guru
Posts: 803
Joined: Tue 05/08/2008 9:15 pm
Location: Thanh Hoá
Has thanked: 1 time
Been thanked: 10 times
Contact:

Re: Ubound ở đâu tại sao máy mình không có ?

Postby xuanquy_th » Sat 29/11/2008 5:04 pm

Ubound Là một hàm dùng xác định tổng số phần tử của một mảng
Khi Chúa Trời đóng cánh cửa này lại, Ngài sẽ mở một cánh cửa khác cho ta.
Nhưng ta thường nhìn quá lâu vào cánh cửa đã đóng nên không thấy được có một cánh cửa khác đang mở ra cho ta!!!

User avatar
DQHung
Guru
Guru
Posts: 576
Joined: Mon 12/02/2007 3:24 pm
Location: Rach Gia - Kien Giang
Been thanked: 40 times
Contact:

Re: Ubound ở đâu tại sao máy mình không có ?

Postby DQHung » Sat 29/11/2008 6:46 pm

Test thế này chắc bạn hiểu ngay.

Dim m(0 to 50) as String
Debug.Print UBound(m)

Uzumaki Naruto
Thành viên danh dự
Thành viên danh dự
Posts: 839
Joined: Mon 30/04/2007 9:55 pm
Location: Sài Gòn
Has thanked: 7 times
Been thanked: 83 times

Re: Ubound ở đâu tại sao máy mình không có ?

Postby Uzumaki Naruto » Sat 29/11/2008 9:55 pm

comeonbaby wrote:Cám ơn bạn, mình dùng được rồi. Chỉ có điều vẫn thắc mắc là khi 1 hàm trả về giá trị thì cứ nhất thiết phải gán nó vào biến thì mới gọi được à ? Mình tự học nên chả nắm vững. Sách viết sơ sài quá. Cấu trúc lệnh của cái này cũng hơi khác so với các ngôn ngữ như jv hoặc C.

Không đâu bạn, có nghĩa là khi dùng một hàm (Function)thì hàm này sẽ trả về một giá trị.
VD

Code: Select all

  1. Private Function cong(a,b As Integer) As Integer
  2.        cong=a+b
  3. End Function

Thì sau khi thực hiện xong, cong sẽ mang một giá trị. Và bạn cần một giá trị đó thì phải lưu lại (dùng biến, hoặc xuất ra ngay cho người dùng.

Code: Select all

  1. MsgBox cong(2,5) 'Cai nay thi khong chua trong bien ma xuat ra ngay
Cause you're my special thing
I'm flying without wings

PhuongThanh37
Thành viên năng nổ
Thành viên năng nổ
Posts: 87
Joined: Fri 09/09/2005 1:38 pm
Location: Liên Hà, Đông Anh, HN
Contact:

Re: Ubound ở đâu tại sao máy mình không có ?

Postby PhuongThanh37 » Tue 02/12/2008 6:06 pm

Có UBound Property và UBound Function

Code: Select all

  1. UBound Property
  2. Returns the highest ordinal value of a control in a control array.
  3. Syntax
  4. object.UBound
  5. The object placeholder represents an object expression that evaluates to an object in the Applies To list.
  6. Remarks
  7. UBound is equal to the Index property value of the last control in the array.


Code: Select all

  1. UBound Function
  2. Returns a Long containing the largest available subscript for the indicated dimension of an array.
  3.  
  4. Syntax
  5. UBound(arrayname[, dimension])
  6.  
  7. The UBound function syntax has these parts:
  8. Part            Description
  9. arrayname    Required. Name of the array variable; follows standard variable naming conventions.
  10. dimension    Optional; Variant (Long). Whole number indicating which dimension's upper bound is returned. Use 1 for the first dimension, 2 for the second, and so on. If dimension is omitted, 1 is assumed.
  11.  
  12. Remarks
  13. The UBound function is used with the LBound function to determine the size of an array. Use the LBound function to find the lower limit of an array dimension.
  14. UBound returns the following values for an array with these dimensions:
  15.  
  16. Dim A(1 To 100, 0 To 3, -3 To 4)
  17.  
  18. Statement           Return Value
  19. UBound(A, 1)    100
  20. UBound(A, 2)    3
  21. UBound(A, 3)    4


Trong List Properties/Methods (Ctr+J; Ctr+Space) và trong Object Browser không có hiện nhưng nó có tồn tại nên cứ đánh là hiện đủ và dùng được.
Uống Chanh & nghe Chanh hát

KIDLINUX
Thành viên chính thức
Thành viên chính thức
Posts: 13
Joined: Thu 27/03/2008 10:52 am
Has thanked: 7 times

Re: Ubound ở đâu tại sao máy mình không có ?

Postby KIDLINUX » Thu 22/09/2011 10:03 am

xuanquy_th wrote:Ubound Là một hàm dùng xác định tổng số phần tử của một mảng


Theo mình biết thì hàm Ubound trả về chỉ số lớn nhất của phần tử trong mảng
Tức là: Nếu mảng có 5 phần tử (có cả phần tử chỉ số 0) thì hàm Ubound trả về 4 thôi!
Ví dụ:
  1. Dim abc(5) as integer
  2. abc(0)=5
  3. abc(1)=7
  4. abc(2)=9
  5. abc(3)=11
  6. abc(4)=13
  7. msgbox(Ubound(abc))   'Trả về 4
  8. msgbox(abc(Ubound(abc)))   'Trả về 13
  9.  

Còn nếu khai báo mảng có chỉ số từ 1 thì mới đúng bằng tổng số phần tử!


Return to “Visual Basic 6 và Visual Basic Script (VB & VBS)”

Who is online

Users browsing this forum: No registered users and 21 guests