Страница: 1 | 2 | 3 | 4 | 5 |
Вопрос: Где хранить настройки? делимся опытом
Добавлено: 01.05.06 06:01
Автор вопроса: ZXC
Вообщем как мне сохранить всё что есть на форме в файл? а именно чекбоксы, отмечены или нет, текст в текстовых полях и т.д, тоесть жму кнопку и все сохраняеться в файл, затем загружаю его и на форме всё меняеться как задано в файле...кто что думает?
Ответы
Всего ответов: 75
Номер ответа: 1
Автор ответа:
EROS
Вопросов: 58
Ответов: 4255
Профиль | | #1
Добавлено: 01.05.06 10:03
VB 2005
Номер ответа: 2
Автор ответа:
Billi Gates
ICQ: 242-026-281
Вопросов: 25
Ответов: 57
Профиль | | #2
Добавлено: 01.05.06 10:11
в *.ini! мне очень нравится!
Номер ответа: 3
Автор ответа:
EROS
Вопросов: 58
Ответов: 4255
Профиль | | #3
Добавлено: 01.05.06 10:17
Billi Gates, ini-файлы.. это уже пережиток прошлого (имхо)
Номер ответа: 4
Автор ответа:
Billi Gates
ICQ: 242-026-281
Вопросов: 25
Ответов: 57
Профиль | | #4
Добавлено: 01.05.06 13:32
попросили поделиться, я делюсь, мне нет разници что там думают об ини, удобно переносить с программой! Легко записывать и считывать! Мне нравится!
Номер ответа: 5
Автор ответа:
ZXC
Вопросов: 30
Ответов: 106
Профиль | | #5
Добавлено: 01.05.06 19:36
Billi Gates
А как юзать в VB.NET ini? в ВБ6 через API а в .NET как? поподробней плиз.
Номер ответа: 6
Автор ответа:
ZXC
Вопросов: 30
Ответов: 106
Профиль | | #6
Добавлено: 02.05.06 06:31
ну так что? как работать с *ini в VB.NET?
Номер ответа: 7
Автор ответа:
mich
ICQ: 261800349
Вопросов: 19
Ответов: 148
Web-сайт:
Профиль | | #7
Добавлено: 02.05.06 20:18
имхо: XML рулит.
Номер ответа: 8
Автор ответа:
danser
ICQ: 299287824
Вопросов: 76
Ответов: 209
Профиль | | #8
Добавлено: 02.05.06 20:34
Сериализация. Позволяет записивать\считивать в\з файл\а обекти любого типа (в том числе и форми).
Номер ответа: 9
Автор ответа:
EROS
Вопросов: 58
Ответов: 4255
Профиль | | #9
Добавлено: 02.05.06 21:21
Ну раз тебе насоветовали INI-файлы, да ты и сам гориш желанием их юзать, то работа с этим типом файла в .NET ничем не отличается от VB6. Те же самые API...
Номер ответа: 10
Автор ответа:
HACKER
Разработчик Offline Client
Вопросов: 236
Ответов: 8362
Профиль | | #10
Добавлено: 02.05.06 21:33
имхо тоже в ини удобно, действительно легко с прогой таскать. Мнение о xml интересное... может в дотнете есть готовые средства для работы с хмл, в 6-ой я краем уха слышал о каких-то контролах, но никогда не пробовал. С ини всё просто, все апи опианы, написано много примеров итп... ща декларацию скопирую с модуля для работы с ини (с) sne
Option Compare Text
'********************************************************************
'* Написано 12.03.2004 году (Team HomeWork) *
'* e-mail: sne_pro@mail.ru *
'********************************************************************
'* *
'* Работа с ini файлами, аналогичная работе с реестром Windows *
'* *
'********************************************************************
Private Declare Function GetPrivateProfileInt Lib "kernel32.dll" Alias "GetPrivateProfileIntA" (ByVal strSection As String, ByVal lpKeyName As String, ByVal nDefault As Long, ByVal lpFileName As String) As Long
Private Declare Function GetPrivateProfileSection Lib "kernel32.dll" Alias "GetPrivateProfileSectionA" (ByVal lpAppName As String, ByVal lpReturnedString As String, ByVal nSize As Long, ByVal lpFileName As String) As Long
Private Declare Function GetPrivateProfileSectionNames Lib "kernel32.dll" Alias "GetPrivateProfileSectionNamesA" (ByVal lpszReturnBuffer As String, ByVal nSize As Long, ByVal lpFileName As String) As Long
Private Declare Function GetPrivateProfileString Lib "kernel32.dll" Alias "GetPrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As Any, ByVal lpDefault As String, ByVal lpReturnedString As String, ByVal nSize As Long, ByVal lpFileName As String) As Long
'Private Declare Function GetPrivateProfileStruct Lib "kernel32.dll" Alias "GetPrivateProfileStructA" (ByVal lpszSection As String, ByVal lpszKey As String, lpStruct As Any, ByVal uSizeStruct As Long, ByVal szFile As String) As Long
Private Declare Function WritePrivateProfileSection Lib "kernel32.dll" Alias "WritePrivateProfileSectionA" (ByVal lpAppName As String, ByVal lpString As String, ByVal lpFileName As String) As Long
Private Declare Function WritePrivateProfileString Lib "kernel32.dll" Alias "WritePrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As Any, ByVal lpString As Any, ByVal lpFileName As String) As Long
'Private Declare Function WritePrivateProfileStruct Lib "kernel32.dll" Alias "WritePrivateProfileStructA" (ByVal lpszSection As String, ByVal lpszKey As String, lpStruct As Any, ByVal uSizeStruct As Long, ByVal szFile As String) As Long
Private Declare Function WPPStrToDelKey Lib "kernel32" Alias "WritePrivateProfileStringA" (ByVal strSection As String, ByVal lpKeyName As String, ByVal lpString As Long, ByVal lplFileName As String) As Long
Private Declare Function WPPSToDelSec Lib "kernel32" Alias "WritePrivateProfileStringA" (ByVal strSection As String, ByVal lpKeyName As Long, ByVal lpString As Long, ByVal lplFileName As String) As Long
Private Declare Function DeleteFile Lib "kernel32.dll" Alias "eleteFileA" (ByVal lpFileName As String) As Long
Public Type gbHWIniExRetData
sKeyName As String
sValue As String
End Type
Ещё вариант в реестр. Тоже API, мож в дотнете чё-то другое :/ юзать по удобству так же как и ини, но с переносом гемор... хотя в принципе экспортировать шмот реестра в файла, а на другом компе добавить... а так в принципе одно и тоже..
Ну воть
Номер ответа: 11
Автор ответа:
EROS
Вопросов: 58
Ответов: 4255
Профиль | | #11
Добавлено: 02.05.06 23:49
HACKER
И ты это называешь легко? хыыыы )))
Нет уж.. нафиг.. все больше убеждаюсь, что NET и Xml в этом плане рулят однозначно!! Вот смотри, чтобы сохранить состояние формы со всем её содержимым у меня будет всего 3 строчки кода.. Вот это легко!! ))
И снова заблуждение... Какой может быть гемор с переносом обычного текстового файла(*.xml)??
И при всем при этом в xml можно хранить любой тип данных(число, время, цвет да что угодно) а не только String как в INI, вплоть до хранения сложнейших вложенных объектов. Чего увы, INI не позволяет...
Так что повторюсь еще раз.. INI-пережиток прошлого! Тем более в NET...
Номер ответа: 12
Автор ответа:
HOOLIGAN
Вопросов: 0
Ответов: 1066
Профиль | | #12
Добавлено: 03.05.06 11:05
у меня будет всего 3 строчки кода.. Вот это легко!! ))
хыыыы
у меня вообще будет одна инструкция процессора:
call dword ptr[SaveMyForm]
Вот это действительно легко
Номер ответа: 13
Автор ответа:
EROS
Вопросов: 58
Ответов: 4255
Профиль | | #13
Добавлено: 03.05.06 13:21
call dword ptr[SaveMyForm]
Ну раз такое дело, тогда чтож ты вместо этой одной строчки запости для человека 1,6 метра кода? Который позволяет удивительно легко работать с INI.. ))))))))))
Номер ответа: 14
Автор ответа:
EROS
Вопросов: 58
Ответов: 4255
Профиль | | #14
Добавлено: 03.05.06 13:28
Ну раз такое дело, тогда возникает вопрос.. Для чего было постить 1,6 метра кода, который позволяет удивительно легко работать с INI вместо того,чтобы запостить 1 строчку?
Так,мол, и так.. на вот тебе волшебную строчку
Которая все сделает сама!! и больше ничего писать тебе не надо! ))
Ах, да.. не забудь еще показать ему ф-ю SaveMyForm!! В ней, я надеюсь, тоже 1-2 строчки?
)))
Номер ответа: 15
Автор ответа:
HOOLIGAN
Вопросов: 0
Ответов: 1066
Профиль | | #15
Добавлено: 03.05.06 13:46
Ха-ха-ха...
Что твои три строчки без тысяч строк подключаемых классов?
Вот ты покажешь мне свой класс, сохраняющий настройки, тогда я покажу тебе свою ф-цию, сохраняющую настройки.
И тогда преимущество в 3 раза (по строкам) возрастет многократно.
Приведи код своего класса.