Dùng vòng lặp cho biến

Liên hệ QC

hsm.ksxd

Thành viên chính thức
Tham gia
24/8/17
Bài viết
77
Được thích
5
Giới tính
Nam
Em có các biến Color_1, Color_2, Color_3, Color_4........., Color_56
Có cách nào dùng vòng lặp i = 1 to 56 để gán dữ liệu cho biến không ạ?
 

hsm.ksxd

Nếu là hằng số bạn sử dụng khai báo Enum:
Mã:
Enum ConstColor
     [_First]
     Color_1 = 1
     Color_2
     '....
     Color_56
     [_Last]
End Enum

Khai báo theo dạng Mảng:​

Mã:
Dim colors56(1 to 56) As Integer, i%
For i = Lbound(colors56) to Ubound(colors56)  
   colors56(i) = i
Next
 
Upvote 0
Lần chỉnh sửa cuối:
Upvote 0
Cảm ơn các bác đã quan tâm. Em hỏi xem có cách nào để gán biến theo kiểu đó thôi ạ. Để em nghiên cứu thêm mảng
 
Upvote 0
Bài này phải khai báo 56 biến vì mảng chưa học tới. Hoặc người ta tự cho là phải có 56 biến không thì không giải được.
Tưởng hỏi là dễ, hóa ra hỏi cũng phải biết hỏi.
Để trả lời đúng câu của thớt, tức là "cách gán trị cho 56 biến bằng vòng lặp":
Dim cu_lưa_1, cu_lưa_2, ..., cu_lưa_56
For i = 1 To 56
Select Case i
Case 1
cu_lưa_1 = ...
Case 2
cu_lưa_2 = ...
Case ...
Case 56
cu_lưa_56 = ...
End Select
Next i
 
Upvote 0
Để trả lời đúng câu của thớt, tức là "cách gán trị cho 56 biến bằng vòng lặp":
Dim cu_lưa_1, cu_lưa_2, ..., cu_lưa_56
For i = 1 To 56
Select Case i
Case 1
cu_lưa_1 = ...
Case 2
cu_lưa_2 = ...
Case ...
Case 56
cu_lưa_56 = ...
End Select
Next i
Nhớ lại chuyện vui thời bệnh cái ghẻ và vấn nạn rệp hoành hành cả nước
"Người bán thuốc trừ rệp bảo đảm giết chết rệp 100%, cách dùng thuốc: Bắt từng con rệp, banh miệng nhét thuốc vào"
 
Upvote 0
Thực ra ở bài #7 tôi đùa nhưng không hoàn toàn ngoài lề. (không phải lúc nào tôi cũng đùa ngoài lề)

Với code ấy, sửa đổi một chút

Sub GanTri(i As Integer, tri As CaiGiDo)
Select Case i
Case 1
cu_lưa_1 = tri
Case 2
cu_lưa_2 = tri
...
End Seclect
End Sub

Gán trị bằng vòng lặp:
For i = 1 To 56
GanTri i, triGiDo ' triGiDo muốn là một trị hay phần tử mảng chiếu theo i thì tuỳ thích
Next i

Đương nhiên, các biến phải là biến toàn cục củaq mô đun.

Tại sao làm vậy?
Trả lời: có thể trong suốt chu trình làm việc, nhóm biến này được gán trị nhiều lần.

Tuy nhiên, đây rốt cuộc vẫn là giải pháp cực chẳng đã. Với một hệ thống code được thiết kế chuẩn từ đầu thì thường một nhóm biến nằm trong mảng hoặc type, hoặc object.
Ngôn ngữ như C có thể dùng con trỏ (pointer) để chuyển một nhóm biến thành mảng nhưng các ngôn ngữ khong có pointers thì không làm được (ít nhất là theo trình độ hiểu biết của tôi)
 
Upvote 0
Web KT

Bài viết mới nhất

Back
Top Bottom