powered by simpleCommunicator - 2.0.55     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Существует ли выборка переменных ?
3 сообщений из 3, страница 1 из 1
Существует ли выборка переменных ?
    #37344431
Фотография Андрей159
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Только не бейте. Дайте ответ Да или Нет просто.

Существует ли выборка переменных ?

Я когда делал программу, делал доступным также включить/отключить дополнительные функции. Тоесть программа имеет множество мелких настроек, которые хранятся в переменных. Раньше я их выставлял по умолчанию в Form_load как мне было нужно, но для пользователя нужно было сделать интерфейс, чтоб он там сам все указывал что ему нужно. Для этого нужно в форме "Настройка" создать нужное количество элементов таких как TextBox, ComboBox, CheckBox. Удалось мне упростить код по сохранинию и загрузке значений в форму. Тоесть при нажатии "сохранить" перебираются все элементы, находятся нужные, если TAG элемента подписан, значит под этим названием сохраняем в реестр. Чтение аналогично. Код для формы работает отлично.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
Public Function LoadInRegistrAllSettingForForm(frm As Form)
  If Pbl_Progr_zapushenaDrugiyRaz = False Then Exit Function
  Dim Elem As Object
  Dim s As String
  Dim M As String
  Dim z As String
  For Each Elem In frm.Controls
  If IsObject(Elem) = True Then
   s = TypeName(Elem)
   M = Elem.Tag
    If M <> "" Then
      If s = "TextBox" Or s = "ComboBox" Then
        z = GetSetting(VB.App.Title, "Настройка программы", M)
        Elem.Text = z
      ElseIf s = "CheckBox" Then
        z = GetSetting(VB.App.Title, "Настройка программы", M)
         If z = "Включено" Or z = "Да" Then
           Elem.value =  1 
         Else
           Elem.value =  0 
         End If
      End If
    End If
  End If
  Next
End Function

Public Function SaveInRegistrAllSetting(frm As Form)
  Dim Elem As Object
  Dim s As String
  Dim M As String
  Dim z As String
  For Each Elem In frm.Controls
   If IsObject(Elem) = True Then
    s = TypeName(Elem)
    M = Elem.Tag
      If M <> "" Then
        If s = "TextBox" Or s = "ComboBox" Then
          z = Elem.Text
            SaveSetting VB.App.Title, "Настройка программы", M, z
        ElseIf s = "CheckBox" Then
          z = IIf(Elem.value =  0 , "Выключено", "Включено")
            SaveSetting VB.App.Title, "Настройка программы", M, z
        End If
      End If
   End If
  Next
  SaveSetting VB.App.Title, "Настройка программы", "Запущено не первый раз", "Да"
  Pbl_Progr_zapushenaDrugiyRaz = True
End Function

Вопрос. Перебор переменных аналогичный как я перебираю элементы (For Each Elem In frm.Controls) возможный или нет ?

Тоесть приблизительно я себе это где-то так представлял:
Type Переменная
n1 as string
nnn as long
jdi as long[/spoiler]
....
дальше в цыкле идет выборка переменных (из Переменная). Узнается имья переменной и ее. Имья переменной подставляю в key функции GetSetting. Таким образом не плохо было бы избавиться от многостраничного кода.
...
Рейтинг: 0 / 0
Существует ли выборка переменных ?
    #37344457
Фотография VSVLAD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Переменные нельзя, но можно использовать массив или коллекцию для перечисления. Коллекцию даже лучше, так как можно загружать данные по имени (ключу) Но она медленнее чем массив, поэтому используйте по ситуации
...
Рейтинг: 0 / 0
Существует ли выборка переменных ?
    #37344990
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Коллекция - однозначно.
И вообще, читать букварь про ini файлы.
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Существует ли выборка переменных ?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]