Страницы: 1
RSS
[ Закрыто ] Переменная
 
Доброе Уважаемые форумчане.
Меня мучает один вопрос и я решил спросить опытных людей.

У меня есть много текстбоксов в итоге их будет около 30 в каждом текст боксе буду свои правила форматирования текста. Вопрос в следующем.
В данном случае есть ли смысл в переменных? я имею в виду не глупо будет присваивать переменной txt_surname, как вообще делают в таких случаях опытные люди?
Код
Dim Фамилия As String = txt_surname.Text
плохо что я использую русские имена для переменных?
есть ли в этом смысл, возможно в такой ситуации переменная это просто лишнее?
возможно такое действие благотворно влияет на программу и операции будут проходить быстрее?

В качестве примера приведу программный которым я сейчас занимаюсь  (особая благодарность Ігор Гончаренко)
Код
' *****************************************************************************
' ComboBox Кызы \ Оглы
'
Private Sub cbo_kz_og_Exit(ByVal Cancel As MSForms.ReturnBoolean)
    If cbo_kz_og.Text = "" Then lbl_kz_og.Visible = True
End Sub

Private Sub cbo_kz_og_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
    If KeyCode = vbKeyTab Then Exit Sub
    If lbl_kz_og.Visible = True Then lbl_kz_og.Visible = False
End Sub
' *****************************************************************************
' TextBox Фамилия
'
Private Sub txt_surname_Enter()
    ВключитьРусскуюРаскладку
End Sub
Private Sub txt_Surname_Change()
    If txt_surname.Text <> "" Then txt_surname.Text = Up1Letter(txt_surname.Text)
End Sub

Private Sub txt_Surname_Exit(ByVal Cancel As MSForms.ReturnBoolean)
    If txt_surname.Text = "" Then lbl_surname.Visible = True
    txt_surname = Trim(txt_surname)
    
End Sub

Private Sub txt_surname_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
    If KeyCode = vbKeyTab Then Exit Sub
    If lbl_surname.Visible = True Then lbl_surname.Visible = False
    If KeyCode = vbKeyDelete Then
        If txt_surname > "" Then
            txt_surname.Value = ""
    End If
    End If
End Sub

' *****************************************************************************
' TextBox Имя
'
Private Sub txt_name_Enter()
    ВключитьРусскуюРаскладку
End Sub
Private Sub txt_name_Change()
    If txt_name.Text <> "" Then txt_name.Text = Up1Letter(txt_name.Text)
End Sub

Private Sub txt_name_Exit(ByVal Cancel As MSForms.ReturnBoolean)
    If txt_name.Text = "" Then lbl_name.Visible = True
End Sub

Private Sub txt_name_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
    If KeyCode = vbKeyTab Then Exit Sub
    If lbl_name.Visible = True Then lbl_name.Visible = False
    If KeyCode = vbKeyDelete Then
        If txt_name > "" Then
            txt_name.Value = ""
    End If
    End If
End Sub
 
не знаю как делают опытные люди, а я стараюсь избегать:
- обявлений и использования лишних переменных
- использования в именанх переменных кириллицы

и 30 текстбоксов - это что-то многовато. Вы встречались с такими формами в жизни, попадались они Вам на глаза (кроме тех, что написали Вы)
это неудобно ни пользователю, который потеряется в этом изобилии, ни программисту, которому нужно еще каждого из этих текстбоксов "обучить" корректной работе
старайтесь обходиться только тем, без чего никак не обойтись, но, конкечно, не в ущерб удобств использования того что вы делаете конечным пользователем.

и название придумайте Вашей теме, а то ее закроют.
Изменено: Ігор Гончаренко - 05.01.2019 15:10:27
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Цитата
Ігор Гончаренко написал:
это что-то многовато. Вы встречались с такими формами в жизни
Игорь, погляди любой календарь.  :D
 
 в моем календаре 2 текстбокса))
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
Страницы: 1
Наверх