Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

INI

343
23 ноября 2006 года
lena_ki
282 / / 14.04.2005
Вижу в точках остова, что этот код отрабатывает:
 
Код:
if(FileExists("ADO.ini"))
    {
     Ini = new TIniFile("ADO.ini");
     Ini->WriteString("ADO","ADOConnection","ТЕСТ");
     Ini->UpdateFile();
     delete Ini;
    }


Одкако в ADO.ini не появляется слово ТЕСТ.

Содержание ADO.ini:
[ADO]
ADOConnection=Provider=MSDASQL.1;Persist Security Info=False;Data Source=Access;Extended Properties="DSN=Access;DATABASE=access;SERVER=w2003srv;PORT=5432;SSLMODE=prefer;UID=postgres;ReadOnly=0;Protocol=6.4;FakeOidIndex=0;ShowOidColumn=0;RowVersioning=0;ShowSystemTables=0;ConnSettings=;Fetch=100;Socket=8192;UnknownSizes=0;MaxVarcharSize=254;MaxLongVarcharSize=8190;Debug=0;CommLog=0;Optimizer=1;Ksqo=1;UseDeclareFetch=0;TextAsLongVarchar=1;UnknownsAsLongVarchar=0;BoolsAsChar=0;Parse=0;CancelAsFreeStmt=0;ExtraSysTablePrefixes=dd_;;LFConversion=1;UpdatableCursors=0;DisallowPremature=0;TrueIsMinus1=0;BI=0;ByteaAsLongVarBinary=1;UseServerSidePrepare=0;LowerCaseIdentifier=0"
343
23 ноября 2006 года
lena_ki
282 / / 14.04.2005
Вроде разобралась. Так надо:
 
Код:
AnsiString Path = GetCurrentDir();
   Path = Path + "\\ADO.ini";
   if(FileExists("ADO.ini"))
    {
     Ini = new TIniFile(Path);
     Ini->WriteString("ADO","ADOConnection",DS);
     Ini->UpdateFile();
     delete Ini;
    }
9.5K
23 ноября 2006 года
ROLpogo
80 / / 22.08.2006
Это:
 
Код:
Ini->UpdateFile();

писать не обязательно ;)
4.1K
23 ноября 2006 года
Zeran
80 / / 21.07.2006
Цитата: ROLpogo
Это:
 
Код:
Ini->UpdateFile();

писать не обязательно ;)



Ну почему же, а вдруг кто-то найдет этот ответ для себя полезным :)
...мож у кого-то тож такие траблы? ;)

14K
24 ноября 2006 года
lesha_m
14 / / 13.12.2005
Строка
if(FileExists("ADO.ini"))
Если это нужно только для проверки наличия файла то тоже необязательно - TIniFile его создаст.
246
24 ноября 2006 года
GIZMO
1.8K / / 30.07.2004
Цитата: lena_ki
Вроде разобралась. Так надо:
 
Код:
AnsiString Path = GetCurrentDir();



А почему текущая директория?

343
24 ноября 2006 года
lena_ki
282 / / 14.04.2005
Цитата: GIZMO
А почему текущая директория?



Потому что планируется хранить ini файл в текущей директории проекта. Разве так не правильно?

14K
24 ноября 2006 года
lesha_m
14 / / 13.12.2005
Текущая не факт совпадает с диреторией проекта
Надежнее:
ExtractFilePath(Application->ExeName)
246
24 ноября 2006 года
GIZMO
1.8K / / 30.07.2004
Цитата: lesha_m
Текущая не факт совпадает с диреторией проекта
Надежнее:
ExtractFilePath(Application->ExeName)


ЗачОт!

294
28 ноября 2006 года
Plisteron
982 / / 29.08.2003
Цитата: lesha_m
Текущая не факт совпадает с диреторией проекта


Вот и хорошо, что не совпадает.
Если софтина лежит на сервере, и её запускают разные пользователи, можно сделать ярлычки для проги с работчим локальным каталогом (т.е. находящемся на сетевой станции) и наслаждаться возможностью иметь персональные INI-файлы для каждого рабочего места. Я часто так и делаю.

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог