Есть ли способ сохранить состояние флажка в программе, созданной в 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?