if(FileExists("ADO.ini"))
{
Ini = new TIniFile("ADO.ini");
Ini->WriteString("ADO","ADOConnection","ТЕСТ");
Ini->UpdateFile();
delete Ini;
}
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"
Код:
AnsiString Path = GetCurrentDir();
Path = Path + "\\ADO.ini";
if(FileExists("ADO.ini"))
{
Ini = new TIniFile(Path);
Ini->WriteString("ADO","ADOConnection",DS);
Ini->UpdateFile();
delete Ini;
}
Path = Path + "\\ADO.ini";
if(FileExists("ADO.ini"))
{
Ini = new TIniFile(Path);
Ini->WriteString("ADO","ADOConnection",DS);
Ini->UpdateFile();
delete Ini;
}
Код:
Ini->UpdateFile();
писать не обязательно ;)
Цитата: ROLpogo
Это:
писать не обязательно ;)
Код:
Ini->UpdateFile();
писать не обязательно ;)
Ну почему же, а вдруг кто-то найдет этот ответ для себя полезным :)
...мож у кого-то тож такие траблы? ;)
if(FileExists("ADO.ini"))
Если это нужно только для проверки наличия файла то тоже необязательно - TIniFile его создаст.
Цитата: lena_ki
Вроде разобралась. Так надо:
Код:
AnsiString Path = GetCurrentDir();
А почему текущая директория?
Цитата: GIZMO
А почему текущая директория?
Потому что планируется хранить ini файл в текущей директории проекта. Разве так не правильно?
Надежнее:
ExtractFilePath(Application->ExeName)
Цитата: lesha_m
Текущая не факт совпадает с диреторией проекта
Надежнее:
ExtractFilePath(Application->ExeName)
Надежнее:
ExtractFilePath(Application->ExeName)
ЗачОт!
Цитата: lesha_m
Текущая не факт совпадает с диреторией проекта
Вот и хорошо, что не совпадает.
Если софтина лежит на сервере, и её запускают разные пользователи, можно сделать ярлычки для проги с работчим локальным каталогом (т.е. находящемся на сетевой станции) и наслаждаться возможностью иметь персональные INI-файлы для каждого рабочего места. Я часто так и делаю.