![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Запор с INI файлами [D6, WinXP]
InfMag © (2004-11-07 18:57:00)Люди, объясните мне, почему я не могу работать с INI'шками в корневой папке, а только в папке пиндовса?..
InfMag (2004-11-07 20:09:00) [1]Да нет, вроде понятнее уже некуда...
Defunct (2004-11-07 20:01:00) [2]> InfMag © (07.11.04 19:46) [13]
Уважаемый InfMag
У вас дилемма - открыть Ini файл, который находится в одноименном каталоге с EXE файлом?
попробую объяснить на примере кода.
const
IniFileName = 'conf.ini';
procedure TForm1.Button1Click(Sender: TObject);
var Directory : String;
begin
Directory := ExtractFilePath(ParamStr(0));
// ParamStr(0) - имя фашего запущенного EXE файла.
// ExtractFilePath возвращает имя каталога по имени файла с завершающим слешем.
// итого Directory = "C:\...\..\...\" на месте точек какие-то имена реально существующих каталогов.
// Убедимся в этом:
ShowMessage(Directory);
// Далее вы хотите открыть ini файл
// Посмотрите как будет выглядеть полное имя ini файла:
ShowMessage(Directory + IniFileName)
// Еще вопросы?
end;
InfMag (2004-11-07 19:53:00) [3]Ну что я могу сказать, кроме спасибо... ;)
begin...end (2004-11-07 19:50:00) [4]
> [13] InfMag © (07.11.04 19:46)
begin
with TIniFile.Create(ExtractFilePath(ParamStr(0)) + 'conf.ini') do
try
// Используем
finally
Free
end.
Теперь понятно?
InfMag (2004-11-07 19:46:00) [5]begin...end, спасибо конечно, но мне писать этот код к адресу ini?
begin...end (2004-11-07 19:44:00) [6]
> [11] InfMag © (07.11.04 19:42)
> Мне нужно, чтобы у меня файл был например: file.exe, а ini
> - conf.ini и т.п.
Тогда ExtractFilePath(ParamStr(0)) + 'conf.ini'
InfMag (2004-11-07 19:42:00) [7]Люди, вы убьете мои нервы... Вы все больше меня путаете.
Мне нужно, чтобы у меня файл был например: file.exe, а ini - conf.ini и т.п.
Дык это правда, что str.exe просто станет str.ini?
И вобще где писать - ChangeFileExt(ParamStr(0),'.ini')
KilkennyCat (2004-11-07 19:23:00) [8]
> Defunct © (07.11.04 19:22) [9]
но в ней действительно есть алгоритм :)
Defunct (2004-11-07 19:22:00) [9]> Опиши пожалуйста алгоритм действия этой строчкии куда ее приписывать...
LOL!
begin...end (2004-11-07 19:21:00) [10]
> [5] InfMag © (07.11.04 19:17)
> и куда ее приписывать
Куда-нибудь до использования ini-файла... :-)
KilkennyCat (2004-11-07 19:20:00) [11]насколько я помню, парамстр(0) вернет путь с именем запустившегося екзешника. ChangeFileExt тогда вернет путь с именем этого же екзешника, но .exe поменяет на .ini
snake1977 (2004-11-07 19:19:00) [12]почтай про ParamStr(0)
это и есть папка из которой была запущена твоя программа
InfMag (2004-11-07 19:17:00) [13]Хм. Тоесть путь будет определяться при запуске?
Опиши пожалуйста алгоритм действия этой строчки и куда ее приписывать...
KilkennyCat (2004-11-07 19:07:00) [14]укажи его программно, а не явно. Один из вариантов - snake1977 [2]
InfMag (2004-11-07 19:04:00) [15]Так, чето я запутался.
Вобщем, мне нужно, чтобы с INI можно было работать там, где лежит EXE'шник, но полный путь указать я не могу, поскольку в будущем возможно придется перемещать папку с EXE'шниками и INI'шками...
snake1977 (2004-11-07 19:02:00) [16]просто в TINIFile.Create , укажи полный путь
например ChangeFileExt(ParamStr(0),'.ini')
KilkennyCat (2004-11-07 19:01:00) [17]в корневой, имеется ввиду папка, где лежит екзешник? возможно, примсутсвует русское наименование в пути...