1. THÔNG BÁO TUYỂN ADMIN DIỄN ĐÀN 2013
    Tìm kiếm nhà trọ - Ở ghép
    THÔNG BÁO BÁN ÁO SPKT.NET CHO THÀNH VIÊN DIỄN ĐÀN


    HÃY TÌM KIẾM Ở ĐÂY TRƯỚC KHI ĐẶT CÂU HỎI
    {xen:phrase loading}

VB 6.0 - Hỏi cách tạo mảng 2 chiều cho đối tượng

Thảo luận trong 'Lập trình' bắt đầu bởi Semina, 20 Tháng một 2007.

  1. Semina Guest

    Số bài viết: 0
    Đã được thích: 0
    Điểm thành tích: 0
    Hỡi các tín đồ VB. Có ai có thủ thuật hay về cái này thì giúp với.

    Giả sử ta muốn tạo một mảng các đối tượng "Command button". Tên của chúng như sau: cmd(0,0), cmd(0,1), cmd(1,0), cmd(1,1)....
    Về mảng một chiều thì dễ. Nhưng về mảng hai chiều thì mình bó tay.
    Cảm ơn. Có hậu tạ.
  2. thientrung Guest

    Số bài viết: 0
    Đã được thích: 0
    Điểm thành tích: 0
    Để tạo mảng 2 chiều cho các đối tượng Control như CommandButton chẳng hạn, Bạn nên thông qua 1 biến cấu trúc sau:

    Type ArrayButton
    Item As CommandButton
    End Type

    Đến đây có lẽ bạn đã hiểu dụng ý của mình rồi. Biến ConTrol không tạo mảng 2 chiều được nhueng biến cấu trúc thì có thể [IMG] [IMG]

    Công việc còn lại chỉ là:

    Dim Acmd() As ArrayButton

    Private Sub Form_Load()
    ReDim Acmd(4, 4)
    Set Acmd(0, 0).Item = Me.Controls.Add("VB.CommandButton", "Nut1")
    With Acmd(0, 0).Item
    .Left = 100
    .Top = 300
    .Width = 1000
    .Height = 300
    .Visible = True
    .Caption = "Nut 1"
    End With
    End Sub

    Chúc bạn học tốt !! [IMG] [IMG]
  3. thientrung Guest

    Số bài viết: 0
    Đã được thích: 0
    Điểm thành tích: 0
    Ủa, nhưng mà, nếu làm theo cách này của mình thì cũng đâu cần tạo biến cấu trúc mới
    Chỉ cần:
    ________________________________
    Dim Acmd() As ArrayButton
    ________________________________
    Private Sub Form_Load()
    ReDim Acmd(4, 4)
    Set Acmd(0, 0) = Me.Controls.Add("VB.CommandButton", "Nut1")
    With Acmd(0, 0)
    .Left = 100
    .Top = 300
    .Width = 1000
    .Height = 300
    .Visible = True
    .Caption = "Nut 1"
    End With
    End Sub
    _________________________________
    Thủ thuật trên mình hay dùng để tạo mảng ký tự 2 chiều trong C++
  4. akatsuki2406 Member

    Số bài viết: 333
    Đã được thích: 1
    Điểm thành tích: 16
  5. sinbat911 New Member

    Số bài viết: 25
    Đã được thích: 0
    Điểm thành tích: 0
    cộng 2 ma trận:
    Private Sub Command1_Click()
    n = Val(InputBox "nhap so hang"))
    m = Val(InputBox "nhap so cot"))
    For i = 1 To n
    For j = 1 To m
    a(i, j) = Val(InputBox "a(" & i & "," & j & ")="))
    s = s & a(i, j) & " "
    Next
    s = s & vbCrLf
    Next
    Label4.Caption = s

    For i = 1 To n
    For j = 1 To m
    b(i, j) = Val(InputBox "b(" & i & "," & j & ")="))
    c(i, j) = a(i, j) + b(i, j)
    s2 = s2 & b(i, j) & " "
    s3 = s3 & c(i, j) & " "
    Next
    s2 = s2 & vbCrLf
    s3 = s3 & vbCrLf
    Next
    Label5.Caption = s2
    Label6.Caption = s3
    End Sub

    Nhân 2 ma trận:

    Private Sub Command2_Click()
    n = Val(InputBox "nhap so hang ma tran A"))
    m = Val(InputBox "nhap so cot ma tran A"))
    For i = 1 To n
    For j = 1 To m
    a(i, j) = Val(InputBox "a(" & i & "," & j & ")="))
    s = s & a(i, j) & " "
    Next
    s = s & vbCrLf
    Next
    Label4.Caption = s
    n2 = Val(InputBox "nhap so hang ma tran B"))
    m2 = Val(InputBox "nhap so cot ma tran B"))
    For i = 1 To n2
    For j = 1 To m2
    b(i, j) = Val(InputBox "b(" & i & "," & j & ")="))
    s2 = s2 & b(i, j) & " "
    Next
    s2 = s2 & vbCrLf
    Next
    Label5.Caption = s2
    If m <> n2 Then
    MsgBox " khong the nhan"
    Else
    For i = 1 To n
    For j = 1 To m2
    For k = 1 To m
    c(i, j) = c(i, j) + (a(i, k) * b(k, j))
    s3 = s3 & c(i, j) & " "
    Next
    Next
    s3 = s3 & vbCrLf
    Next
    End If
    Label6.Caption = s3
    End Sub
  6. akatsuki2406 Member

    Số bài viết: 333
    Đã được thích: 1
    Điểm thành tích: 16
    ko
    đó là 2 ma trận riêng biệt rồi
    cộng từng hàng hoặc từng cột của ma trận
    ngĩa là hàng dọc hoặc hàng ngang đó
    cộng a(1,1) + a(1,2) + ...
    chỉ 1 ma trận thôi nha
    mong mọi ng giúp nha

    àh
    thank sinbat911 nha
  7. sinbat911 New Member

    Số bài viết: 25
    Đã được thích: 0
    Điểm thành tích: 0
    Re: VB 6.0 - Hỏi cách tạo mảng 2 chiều cho đối tượng

    mình ko đọc kĩ câu hỏi, sr nha
    bạn có thể down cái phần đính kèm
    đó là nguyên 1 bài mình đã làm, bạn mở code ở command " thuc hien"
  8. akatsuki2406 Member

    Số bài viết: 333
    Đã được thích: 1
    Điểm thành tích: 16
    thank bạn nha

    àh
    mình hỏi tí nữa dc ko
    bài mảng ngược thì làm sao
    mảng 1 chiều ý
    với bài sắp xếp ở tetxbox 1 hiện thị ở textbox 2 ( mỗi textbox 6 ô liên tiếp nha)
    bài sắp xếp giảm
    mình chỉ làm dc 1 ô
    còn 5 ô sao nó ko có ý
  9. sinbat911 New Member

    Số bài viết: 25
    Đã được thích: 0
    Điểm thành tích: 0
    Re: VB 6.0 - Hỏi cách tạo mảng 2 chiều cho đối tượng

    có gì đâu mà cảm ơn, mình giúp dc thì giúp thôi
    Bạn có thể down file bên dưới để tìm hiểu thêm, đấy là 2 bài mình đã làm
  10. akatsuki2406 Member

    Số bài viết: 333
    Đã được thích: 1
    Điểm thành tích: 16
  11. sinbat911 New Member

    Số bài viết: 25
    Đã được thích: 0
    Điểm thành tích: 0
    Re: VB 6.0 - Hỏi cách tạo mảng 2 chiều cho đối tượng

    bạn thông cảm nha
    mình ko đụng vào visual ~ 2 tháng rồi, chữ nghĩa bay gần hết rồi :(, tập vở thì quăng lung tung, giờ kiếm ko thấy tờ giấy bài tập đâu hết :D
    bạn có thể post cái đề lên ko, giúp dc thì mình giúp liền ah
  12. akatsuki2406 Member

    Số bài viết: 333
    Đã được thích: 1
    Điểm thành tích: 16
    bài 25: sắp xếp : nhập mảng số nguyên 6 ptu từ mảng tetxtA ( gồm 6 ptu liên tiếp nối liền từ textA(0) đến textA(6) )
    sắp xếp theo chiều giảm dần gtri các ptu .kết quả hiện thị ở textB(gpm62 6 ô lun)
    thank bạn nha
  13. akatsuki2406 Member

    Số bài viết: 333
    Đã được thích: 1
    Điểm thành tích: 16
  14. lvquang89 New Member

    Số bài viết: 2
    Đã được thích: 0
    Điểm thành tích: 0
    Ai hướng dẫn giúp mình với. Mình có 1 bài tập tương tự là : kiểm tra chẳn trong ma trận ( 7*7 bit )
    1 textbox là nhập ma trận 7*7, 2 textbox hiện ra kết quả sau khi cộng hàng ngang và hàng dọc...
    button tính kết quả...
    Ai giúp mình demo với ! Cảm ơn nhiều :D
  15. oneclicklogin New Member

    Số bài viết: 7
    Đã được thích: 0
    Điểm thành tích: 1

Chia sẻ trang này