#include <System.IniFiles.hpp>
#include <System.IOUtils.hpp>
#include <memory>
//****
#ifdef __ANDROID__
String path = System::Ioutils::TPath::Combine(System::Ioutils::TPath::GetSharedDownloadsPath(), L"options.ini");
#elif _Windows
String path = System::Ioutils::TPath::Combine(ExtractFilePath(ParamStr(0)), L"options.ini");
#endif
if(FileExists(path))
{
std::unique_ptr<TIniFile> FileINI(new TIniFile(path));
String ip = FileINI->ReadString(L"HOST", L"ip", L"127.0.0.1");
//****
1. std::unique_ptr используется чтобы избавиться от delete. std::unique_ptr все делает сам.
2. Файл ini для Андроида надо сохранить в UTF-8.
Думаю, для Windows предпочтительнее использовать GetDocumentsPath(), т.к.:
1). как правило, exe-файл лежит в папке находящейся в Program Files и для записи ini-файла рядом с exe понадобятся права администратора;
2). если работа ведется с разных рабочих столов, то каждый пользователь сможет иметь индивидуальные настройки, хранящиеся в ini-файле