Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > VB .NET > Работа с ini файлами


Автор: Errorx1 27.4.2006, 10:41
Есть класс в VB.NET для работы с INI файлами? или мож посоветуйте замену? в файле собираюсь сделать хранение настроек, чтобы можно было загружать и сохранять в файл, реестр не подходит тут smile если можно с примером )  smile 

Автор: Exception 27.4.2006, 15:28
Смотри в сторону пространства имён System.Configuration. Или My.Settings в VB .NET. 

Автор: Pankon 27.4.2006, 15:38
app.config
Код

...
  <appSettings>
    
    <add key ="ku" value="ku-ka-re-ku"/>

  </appSettings>
...


Код

Dim objKu As String = System.Configuration.ConfigurationManager.AppSettings("ku").ToString()

 smile  

Модератор: используйте [ code = xml ] для подсветки кода. 

Автор: Errorx1 28.4.2006, 06:08
Pankon
Можно поподробней как использовать:

Код

Dim objKu As String = System.Configuration.ConfigurationManager.AppSettings("ku").ToString()


в прграмме...до меня чото не дашло smile
т.е считываем из хмл настройки, но надо сначало открыть файл или как? smile объясни если не трудно, зарание спасибо 

Автор: Exception 28.4.2006, 09:17
Цитата(Errorx1 @  28.4.2006,  07:08 Найти цитируемый пост)
т.е считываем из хмл настройки, но надо сначало открыть файл или как?  объясни если не трудно, зарание спасибо  


Почитай немного теорию. У каждого приложения .NET может быть свой файл .config, в котором могут храниться установки приложения (используемые версии библиотек и т.д.). Также в нём можно хранить собственные настройки (в секции <appSettings>).

Например, для программы myDotNetProgram.exe нужен файл myDotNetProgram.exe.config. В Visual Studio достаточно просто добавить файл, которой называется app.config в проект, а VS сама потом переименует его.

Пространство имён System.Configuration предоставляет доступ к чтению установок приложения:

Код
Dim mySetting As String = System.Configuration.ConfigurationManager.AppSettings("mySetting").ToString()


при условии того, что в app.config написано

Код

<appSettings>
    
    <add key ="mySetting" value="Значение"/>

</appSettings>


Что неясно? 

Автор: Errorx1 28.4.2006, 10:20
Так...блин..сложно...ну например есть CheckBox1.Checked, как сделать так чтобы при загрузке, программа считывала значение из конфиг файла, и если там true значит чекбокс будет Checked а если  false значит будет Uncheked, я понимаю так:

 в конфиг файле

Код

<appSettings>
        <add key ="check" value="true"/>
</appSettings>


и при загрузке формы пишем

Код

Dim check As String = System.Configuration.ConfigurationManager.AppSettings("check").ToString()
CheclBox1.Checked=check


но так не работает..что не так? 

Автор: Pankon 28.4.2006, 11:08
Что не работает-то? 

Автор: Errorx1 28.4.2006, 11:52
Не грузится прога, ошибка сразу... ну проект я назвал application1, конфиг сначала application1.exe.config, потом пробовал просто application1.config, никак не получается..  

Автор: Pankon 28.4.2006, 12:15
Цитата(Exception @  28.4.2006,  09:17 Найти цитируемый пост)
В Visual Studio достаточно просто добавить файл, которой называется app.config в проект, а VS сама потом переименует его.

http://msdn.microsoft.com/library/rus/default.asp?url=/library/rus/vbcon/html/vbtskchangingvalueofdynamicproperty.asp 

Автор: Exception 28.4.2006, 17:05
Цитата(Errorx1 @  28.4.2006,  11:20 Найти цитируемый пост)

Код

Dim check As String = System.Configuration.ConfigurationManager.AppSettings("check").ToString()
CheclBox1.Checked=check



Ну подумай чуть-чуть smile ! Какой тип имеет check? Правильно, String. А свойство Checked - Boolean. Так что надо переписать так:

Код

Dim check As Boolean = Covert.ToBoolean(System.Configuration.ConfigurationManager.AppSettings("check"))
MyCheckBox.Checked = check

Цитата(Errorx1 @  28.4.2006,  11:20 Найти цитируемый пост)
Так...блин..сложно...


Да что тут сложного? А самому конфиг делать необязательно, просто Add Iem... => Application Configuration File. 

Автор: Errorx1 28.4.2006, 19:29
У меня VB.NET Тока, там нет Add Iem... => Application Configuration File.  

А в конфиг файле чтото ещё должно быть или просто
Код

<appSettings>
     <add key ="ku" value="ku-ka-re-ku"/>
</appSettings>


А то чото не меняет при загрузке... 

Автор: Exception 28.4.2006, 22:51
Цитата(Errorx1 @  28.4.2006,  20:29 Найти цитируемый пост)
У меня VB.NET Тока, там нет Add Iem... => Application Configuration File.  


Посмотри ещё раз. 

Автор: Errorx1 29.4.2006, 00:39
Да  нету..у меня VB.NET 25 мегов smile там много чего нет...а можно как нибутьпроге указать с какого файла считывать все настроийки? мне это собственно и нужно smile 

Автор: Exception 29.4.2006, 14:05
Цитата(Errorx1 @  29.4.2006,  01:39 Найти цитируемый пост)
у меня VB.NET 25 мегов


Это как? Покажи скриншот окна "Add Item...", не верится мне чего-то. А файл надо назвать имя_приложения.exe.config и класть в папку с самим exe'шником. 

Автор: Errorx1 29.4.2006, 14:26
Ещё у меня есть VB.NET и C# вместе и всё это весит 4 метра smile собирает проги ивсё работает smile

Скрин: http://img227.imageshack.us/my.php?image=14lb2.jpg
 

Автор: 119040 12.4.2007, 23:07
А как осуществлять чтение и запись в INI файл? Или у нас не INI? smile

Короче не полная картина. Только про объявление говорите. Мне не хватает инфы. Помогите плз. Для PDA хочу написать прогу.

Автор: bom 24.4.2007, 18:21
Привет! У меня тоже нет "Application Configuration File" в "Add item" (VB 2005 EE).
Очень непривычно все по сравнению с VB6 smile  
1. В свойствах проекта открываем вкладку "settings", добавляем новую настройку: name="сheck",  тип=boolean, value=true.
user posted image
2. В приложении используем check в любом месте без всяких доп. объявлений:
Код

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        CheckBox1.Checked = My.Settings.check
    End Sub
    Private Sub Form1_Deactivate(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Deactivate
        My.Settings.check = CheckBox1.Checked
    End Sub

Config-file создается и меняется автоматом.
 smile 
Цитата(Exception @  10.4.2007,  15:49 Найти цитируемый пост)
...теперь нужно хоть чуточку разбираться в библиотеке, прежде чем начинать писать программы?
Ну, положим, в VB6 тоже надо разбираться в весьма сложных вещах чтобы писать программы, а не только
Код

Private Sub Command1_Click()
MsgBox "Helo Word!"
End Sub
 smile  
Цитата(Exception @  10.4.2007,  15:49 Найти цитируемый пост)
...теперь появились полноценные классы?
Это действительно радует. Чтож, придется разбираться, почти что с нуля, ничего не поделаешь...

Автор: bom 24.4.2007, 21:20
Да, забыл добавить, при таком способе, config-file с настройками создается при запуске приложения в папке: 
Код

\Documents and Settings\UserName\Local Settings\Application Data\CompanyName\ApplicationName.exe_Url_...\ApplicationVersion

и имеет имя: UserName.config

Автор: PROGRAMMATOR 25.4.2007, 05:41
Доброго времени суток!

Может кто поможет начинающему (1неделя) с  *.ini

Начал с самого простого,создание Launchera для с воей любимой игры "Half-Life 2"
 Вобщем создал!!! Но сразу-же захотелось доработать : добавить сохранение настроек.Что...сам не смог !  smile 

Что нужно:
1. Сохранение в *.ini
2. Считывание с *.ini

структура внутри файла:

[setting]
сохранение параметров







Автор: Exception 25.4.2007, 22:29
http://www.codeproject.com/vb/net/VbNetClassIniFile.asp

Неплохой класс для работы с ini-файлами.

Автор: PROGRAMMATOR 26.4.2007, 06:44
2 Exception
Спасибо!!!
Я тут тоже нашол "Class" "iniFile.vb"

Автор: Nickey 27.6.2007, 19:13
Цитата(bom @  24.4.2007,  21:20 Найти цитируемый пост)
Да, забыл добавить, при таком способе, config-file с настройками создается при запуске приложения в папке: Без подсветки1:\Documents and Settings\UserName\Local Settings\Application Data\CompanyName\ApplicationName.exe_Url_...\ApplicationVersionhighlightSyntax('nocolor_kZGEzZ','nocolor');highlightSyntax('nocolor_kZGEzZ','nocolor');и имеет имя: UserName.config


А какнибудь можно сделать чтобы он, это файл конфигурации, хранился в папке с программой, и записывались изменения не в копию файла лежащую в Application Data ?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)