Есть ли способ сохранить состояние флажка в программе, созданной в Visual Basic 6.0?

Я создал (спроектировал) программу на Visual Basic 6.0, она состоит из около 100 флажков, программа не требует никакого кода, просто программа типа флажка да / нет, но я хочу сохранить состояние флажка, чтобы, если находится в состоянии "да", то после перезапуска программы его состояние сохраняется. Я читал о My.Settings.Save, но не знаю, как им пользоваться, я использую Visual Basic 6.0.

2 ответа

Создайте ключи в реестре, сохраните каждое значение флажка в соответствующем флажке Изменить событие и загрузите статус каждого из них в форме Инициализировать код события.

Option Explicit

Private Const MyApp As String = "My Own App" 'put here your application name
Private Const Sett As String = "Settings"

Private Sub CheckBox1_Change()
    Dim chkBoxStatus As String
    chkBoxStatus = "CheckBox1"
    If Me.CheckBox1.value = True Then
        SaveSetting MyApp, Sett, chkBoxStatus, CStr(True)
    Else
        SaveSetting MyApp, Sett, chkBoxStatus, CStr(False)
    End If
End Sub

Сделайте то же самое для всех флажков. А потом:

Private Sub UserForm_Initialize() 'I do not remember well if VB6 uses Form_Initialize... You must adapt it accordingly.
  Dim regValue As String
  regValue = GetSetting(MyApp, Sett, "CheckBox1", "No value")
  If regValue <> "No value" Then Me.CheckBox1.value = CBool(regValue)
    'do the same for all checkboxes in discussion
    '.
    '.
End Sub

"No value" возвращается, если значение в реестре не задано (пока)...

Ну, я бы сделал все чекбоксы управляющим массивом и сохранил бы их состояние в текстовом файле в каком-нибудь скрытом месте, например C:\Users\UserName\AppData\Local. Это был бы довольно маленький код. Вы знакомы с кодированием VB6?

Другие вопросы по тегам