Nhờ rút gọn code trong Uniform

Liên hệ QC

phanminhphuong

Thành viên hoạt động
Tham gia
26/7/13
Bài viết
127
Được thích
68
Chào các bạn.

Mình có 1 form có
10 textbox: từ txtPort1 => txtPort10
10 textbox: từ txtPortID1 => txtPortID10
10 commandbutton: từ cmdGetPortID1 => cmdGetPortID10

Mình muốn rút gọn Code cho 10 nút cmd thì phải làm ntn

Mã:
Private Sub cmdGetPortID1_Click()
    If Len(txtPort1) Then txtPortID1 = GetStringPortName(txtPort1)
    Call Find_Port_ID(txtPortID1.Value, 3)
    lblPortID.Caption = txtPortID1.Name
End Sub
'----------------
Private Sub cmdGetPortID2_Click()
    If Len(txtPort2) Then txtPortID2 = GetStringPortName(txtPort2)
    Call Find_Port_ID(txtPortID2.Value, 3)
    lblPortID.Caption = txtPortID2.Name
End Sub
'----------------
Private Sub cmdGetPortID3_Click()
    If Len(txtPort3) Then txtPortID3 = GetStringPortName(txtPort3)
    Call Find_Port_ID(txtPortID3.Value, 3)
    lblPortID.Caption = txtPortID3.Name
End Sub
'----------------
Private Sub cmdGetPortID4_Click()
    If Len(txtPort4) Then txtPortID4 = GetStringPortName(txtPort4)
    Call Find_Port_ID(txtPortID4.Value, 3)
    lblPortID.Caption = txtPortID4.Name
End Sub
'----------------
Private Sub cmdGetPortID5_Click()
    If Len(txtPort5) Then txtPortID5 = GetStringPortName(txtPort5)
    Call Find_Port_ID(txtPortID5.Value, 3)
    lblPortID.Caption = txtPortID5.Name
End Sub
'----------------
Private Sub cmdGetPortID6_Click()
    If Len(txtPort6) Then txtPortID6 = GetStringPortName(txtPort6)
    Call Find_Port_ID(txtPortID6.Value, 3)
    lblPortID.Caption = txtPortID6.Name
End Sub
'----------------
Private Sub cmdGetPortID7_Click()
    If Len(txtPort7) Then txtPortID7 = GetStringPortName(txtPort7)
    Call Find_Port_ID(txtPortID7.Value, 3)
    lblPortID.Caption = txtPortID7.Name
End Sub
'----------------
Private Sub cmdGetPortID8_Click()
    If Len(txtPort8) Then txtPortID8 = GetStringPortName(txtPort8)
    Call Find_Port_ID(txtPortID8.Value, 3)
    lblPortID.Caption = txtPortID8.Name
End Sub
'----------------
Private Sub cmdGetPortID9_Click()
    If Len(txtPort9) Then txtPortID9 = GetStringPortName(txtPort9)
    Call Find_Port_ID(txtPortID9.Value, 3)
    lblPortID.Caption = txtPortID9.Name
End Sub
'----------------
Private Sub cmdGetPortID10_Click()
    If Len(txtPort10) Then txtPortID10 = GetStringPortName(txtPort10)
    Call Find_Port_ID(txtPortID10.Value, 3)
    lblPortID.Caption = txtPortID10.Name
End Sub

Xin cám ơn!
 
Gửi file lên đi, rồi sử dụng ClassModule sẽ giải quyết được vấn đề.
 
Upvote 0
Tất cả các sub này đều có đặc điểm giống nhau là cùng có textportIDxxx vậy cho textportIDxxx thành 1 biến. còn trong các privatesub chỉ call 1 sub ra thì đã giảm được toàn bộ thao tác xuống 1 lần rồi(?) đúng ý bạn chưa?


If Len(txtPort10) Then txtPortID10 = GetStringPortName(txtPort10)
Call Find_Port_ID(txtPortID10.Value, 3)
lblPortID.Caption = txtPortID10.Name
 
Upvote 0
Web KT
Back
Top Bottom