Страница: 1 |
Страница: 1 |
Вопрос: Сохранение значений
Добавлено: 05.06.07 12:02
Автор вопроса: Сергей | Web-сайт:
У меня в форме куча комбобоксов и текстбоксов. После редактирования их содержимого пользователем необходимо все значения сохранить в какой-то файл (что-то типа библиотеки), чтобы потом можно было сразу загрузить эти данные в форму (при входе в этот файл).
Спасибо.
Ответы
Всего ответов: 9
Номер ответа: 1
Автор ответа:
-АлександР-
Вопросов: 55
Ответов: 1008
Web-сайт:
Профиль | | #1
Добавлено: 05.06.07 22:51
класс IO ..., там дальше разберешься
Номер ответа: 2
Автор ответа:
s12
Вопросов: 24
Ответов: 363
Профиль | | #2
Добавлено: 06.06.07 15:08
Давай по подробнее.
Что за файл. и че значит
Номер ответа: 3
Автор ответа:
Павел
Администратор
ICQ: 326066673
Вопросов: 368
Ответов: 5968
Web-сайт:
Профиль | | #3
Добавлено: 06.06.07 15:21
Думаю, лучше всего в XML сохранять.
Номер ответа: 4
Автор ответа:
Сергей
ICQ: 369608887
Вопросов: 7
Ответов: 24
Web-сайт:
Профиль | | #4
Добавлено: 06.06.07 16:27
А можно узнать, как?
Поподробнее и попроще пожалуйста.
Задача такая, у программы есть Настройки.
Пользователь их изменяет, а кнопочки "Сохранить" нет. ((
Кнопка не проблема, а вот код для нее - да.
Номер ответа: 5
Автор ответа:
Сергей
ICQ: 369608887
Вопросов: 7
Ответов: 24
Web-сайт:
Профиль | | #5
Добавлено: 06.06.07 16:31
Что за файл. и че значит
(при входе в этот файл).
Я програмку написал и нажал "Build".
Потом захожу в ...bin\Release там лежат 3 файла (*.exe, *.pdb, *.xml)
Я так понимаю, что их достаточноскопировать на другой компьютер, чтобы пользователь не имея VB мог кликнуть на exe-шник и пользоваться программой.
Номер ответа: 6
Автор ответа:
Павел
Администратор
ICQ: 326066673
Вопросов: 368
Ответов: 5968
Web-сайт:
Профиль | | #6
Добавлено: 06.06.07 16:59
Например с помощью такого класса:
Imports System.IO
Namespace AppConfiguration
Public Class AppConfiguration
Private _Settings As Dictionary(Of String, String)
Private Property Settings() As Dictionary(Of String, String)
Get
Return _Settings
End Get
Private Set(ByVal value As Dictionary(Of String, String))
_Settings = value
End Set
End Property
Public Sub LoadSettings()
Settings = New Dictionary(Of String, String)
Dim CommonConfigFileName As String = System.AppDomain.CurrentDomain.BaseDirectory & "common.config"
If Not File.Exists(CommonConfigFileName) Then
Return
End If
Dim CommonDoc As New XmlDocument()
CommonDoc.Load(CommonConfigFileName)
Dim CommonNodes As XmlNodeList = CommonDoc.SelectNodes("/config/settings/setting"
For Each CommonNode As XmlNode In CommonNodes
Dim Key As String = CommonNode.Attributes("key".Value
Dim Value As String = CommonNode.Attributes("value".Value
Me.Settings.Add(Key, Value)
Next
End Sub
Public Sub SetSetting(ByVal key As String, ByVal value As String)
If Me.Settings.ContainsKey(key) Then
Me.Settings(key) = value
Else
Me.Settings.Add(key, value)
End If
End Sub
Public Overloads Function GetSetting(ByVal key As String)
If Me.Settings.ContainsKey(key) Then
Return Me.Settings(key)
Else
Return Nothing
End If
End Function
Public Overloads Function GetSetting(ByVal key As String, ByVal defaultValue As String) As String
If Me.Settings.ContainsKey(key) Then
Return Me.Settings(key)
Else
Return defaultValue
End If
End Function
Public Sub SaveSettings()
Dim CommonConfigFileName As String = System.AppDomain.CurrentDomain.BaseDirectory & "common.config"
Dim Writer As New XmlTextWriter(CommonConfigFileName, System.Text.Encoding.UTF8)
Writer.WriteStartDocument()
Writer.WriteStartElement("config"
Writer.WriteStartElement("settings"
For Each Key As String In Me.Settings.Keys
Writer.WriteStartElement("setting"
Writer.WriteAttributeString("key", Key)
Writer.WriteAttributeString("value", Me.Settings(Key))
Writer.WriteEndElement()
Next
Writer.WriteEndElement()
Writer.Close()
End Sub
End Class
End Namespace
Номер ответа: 7
Автор ответа:
BG(Алексей)
Вопросов: 26
Ответов: 295
Профиль | | #7
Добавлено: 07.06.07 03:52
То Павел:
А могли бы Вы подробнее объяснить что он делает и как пользоваться этим классом, а то я в этом еще не "силён", только учусь.
Номер ответа: 8
Автор ответа:
s12
Вопросов: 24
Ответов: 363
Профиль | | #8
Добавлено: 09.06.07 13:53
Павел снимаю шляпу.
У меня есть способы сохранения настроек в 6.0, но в 7.0-8.0 я еще слабоват.
спасибо.
Номер ответа: 9
Автор ответа:
Viktor
Вопросов: 2
Ответов: 18
Профиль | | #9
Добавлено: 02.07.07 15:34
Спасибо за код. Распичатал, прочитал. Всё понятно