Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2005.02.06;
Скачать: [xml.tar.bz2];

Вниз

Помогите с INI   Найти похожие ветки 

 
lexales ©   (2005-01-22 12:07) [0]

Подскажите как прописать путь для сохранения и чтения Ini файла. По умолчанию он сохраняется в папке Windows, а мне надо чтоб в той папке от куда программа запускается. Или просто подскажите как прописать путь


 
Knight ©   (2005-01-22 12:24) [1]

Так и укажы полный путь где он должен быть... %)


 
Knight ©   (2005-01-22 12:28) [2]

var F:TIniFile;
...
F:=TIniFile.Create("c:\Pupkin\config.ini");
...


 
aus   (2005-01-22 13:07) [3]

или так


var Ini: TIniFile;
.........
  Ini := TIniFile.Create(ChangeFileExt(Application.ExeName),".ini");
.........


 
Dolt ©   (2005-01-22 13:46) [4]

Папка, где лежит приложение, может быть закрыто для записи.
Не лучше ли сохранять в ту папку, которая для этого предназначена?


 
aus   (2005-01-22 13:57) [5]

Предчувствую, что сейчас начнется выяснение преимуществ реестра и ini-файлов...


 
Anatoly Podgoretsky ©   (2005-01-22 14:04) [6]

Dolt ©   (22.01.05 13:46) [4]
Папка, где лежит приложение, может быть закрыто для записи.

Только правильнее сказать ДОЛЖНА быть закрыта для записи, всем кроме администратора.

aus   (22.01.05 13:57) [5]
Тьфу на вас, это же провокация.


 
aus   (2005-01-22 14:28) [7]

Anatoly Podgoretsky ©   (22.01.05 14:04) [6]
Плюваться некрасиво, разве не учили в школе? )))


 
Anatoly Podgoretsky ©   (2005-01-22 14:41) [8]

Это учили в школе, а за провокации в других местах.


 
Knight ©   (2005-01-22 15:06) [9]


> Dolt ©   (22.01.05 13:46) [4]
> Не лучше ли сохранять в ту папку, которая для этого предназначена?

Правильно... Windows резиновый... стерпит. Он и так одна большая свалка... %)


 
Danilka ©   (2005-01-22 15:25) [10]

[9] Knight ©   (22.01.05 15:06)
Не обязательно в папку виндовс. Смотри в сторону %userprofile%


 
Knight ©   (2005-01-22 15:37) [11]


> Danilka ©   (22.01.05 15:25) [10]
> Не обязательно в папку виндовс. Смотри в сторону %userprofile%

Чтобы не засирать систему и, чтобы в случае её краха или просто переустановки, не пришлось ковыряться в трупе, выковыривая из него нужное... Стараюсь следовать принципу - "всё своё ношу с собой"... Поэтому смотрю в сторону папки где установлена программа или отдельной папки для конфигураций и пр. находящейся в папке с программой, к которой можно дать доступ для всех.


 
Danilka ©   (2005-01-22 15:51) [12]

[11] Knight ©   (22.01.05 15:37)
Если сам для себя, то старайся как угодно, хоть на потолке пляши.
Если программа предназначена для широкого круга пользователей, то, воизбежание проблем и ненужных вопросов, все-таки имеет смысл использовать стандартные средства.


 
Knight ©   (2005-01-22 16:21) [13]


> Danilka ©   (22.01.05 15:51) [12]
> Если программа предназначена для широкого круга пользователей,
> то, воизбежание проблем и ненужных вопросов, все-таки имеет
> смысл использовать стандартные средства.

А меня, например, как пользователя некоторого круга программ, раздражают эти стандартные средства... Когда после установки проги, лучше не дышать в её направлении т.к. это чревато кучей неприятностей, как для себя, так и для всей системы от мелих глюков до полного краха. Ну нравиться мне, чтобы как в ДОСе, зацепил прогу, перекинул с раздела на раздел, а ей по-барабану... надобность в ней отпала, стёр и никаких мёртвых ключей п реестре, библиотек в сИстеме и прочих кофигов где попало... и не говорите мне про uninstall, который мне недавно без запросов удалил нужные для Delphi библиотеки... ладно хоть тот выдал сообщение, что конкретно не хватает %)


 
Danilka ©   (2005-01-22 16:26) [14]

[13] Knight ©   (22.01.05 16:21)
> Когда после установки проги, лучше не дышать в её направлении
> т.к. это чревато кучей неприятностей, как для себя, так
> и для всей системы от мелих глюков до полного краха.

Объясни мне, почему, если хранить файл настроек в папке с программой, то в ее направлении можно дышать, а если в папке предназначеной, для хранения пользовательских настроек, то уже в ее направлении нельзя дышать?
Ну не понимаю я этого. :)


 
Knight ©   (2005-01-22 16:47) [15]


> Danilka ©   (22.01.05 16:26) [14]

Знаешь, до чего доходит? На днях столкнулся... Прога хранит путь к самой себе в ини-файле в папке Виндос... и при перемещении её в другое место теряет сама себя. После ручной правки пути, начинает работать, т.е. больше ничего от местоположения не зависит... причём её даже не надо инсталировать... так почему бы не запихнуть этот файл в папку проги...

А по файлам... меня уже достал TotalCommander, который я использую для FTP доступа к сайтам, и который при смене ОС забывает все настройки и приходиться заново вспоминать логины, пароли и т.п.


 
Knight ©   (2005-01-22 16:50) [16]

По тоталу... после последней смены системы... УДАЛИЛ ЕГО НАФИХ... щаслив от одного процесса... %)


 
Danilka ©   (2005-01-22 16:52) [17]

[15] Knight ©   (22.01.05 16:47)
> На днях столкнулся... Прога хранит путь к самой себе в ини-файле
> в папке Виндос...

Ну, как я понимаю, здесь не идет речь о чужой криворукости. :)

А на счет настроек, у меня ФАР-овская ветка реестра с настройками рядом с дистрибутивом ФАРа лежит. Поставил, запустил рег-файл, и работай без проблем.
Кроме того, в ФАРе, в каталоге с программой есть такие файлы:
RestoreSettings.bat
SaveSettings.bat
Которые как-раз ветку реестра сохраняют/восстанавливают. Может и в коммандере подобное есть? ;)


 
Knight ©   (2005-01-22 18:27) [18]


> [17] Danilka ©   (22.01.05 16:52)
> Может и в коммандере подобное есть? ;)

Щас спецом, посмотрел (перед тем как и дома тотал удалить)... у него ftp-настройки хранятся в файле wcx_ftp.ini, который лежит в Windows... и сколько таких прог? Каждую искать? Делать мне больше нех..


 
rdm ©   (2005-01-22 19:15) [19]

TIniFile.Create(".\config.ini") - работает с INI из текущей папки.


 
Anatoly Podgoretsky ©   (2005-01-22 19:21) [20]

В нормальной системе пользователю запрещено писать в папку Виндоус, в папку с программой. Для записи существует папка пользователя.


 
Knight ©   (2005-01-22 19:46) [21]


> [19] rdm ©   (22.01.05 19:15)

Где-то я раз с этими текущими папками накалывался... с тех пор предпочитаю прописывать путь от и до...


> [20] Anatoly Podgoretsky ©   (22.01.05 19:21)
> В нормальной системе пользователю запрещено писать в папку
> Виндоус, в папку с программой. Для записи существует папка
> пользователя.

Кто ж виноват, что виндоз по-умолчанию всё тащит к себе любимому... :)


 
lexales ©   (2005-01-23 13:17) [22]

Спасибо!!! Вы мне очень помогли.


 
aus   (2005-01-23 13:29) [23]

Knight ©   (22.01.05 19:46) [21]
с тех пор предпочитаю прописывать путь от и до


Это не правильно, нужно предоставить выбор пользователю, где ему хранить программу и ее файлы. Твердо прописанные пути к любым файлам (не только настроечным) - это и есть геморой для пользователя.
У всех свои вкусы, я, например, не люблю создавать папки в корне диска С:, но некоторые программы именно этого хотят, чем сразу вызывают у меня недоверие.


 
Anatoly Podgoretsky ©   (2005-01-23 13:42) [24]

Knight ©   (22.01.05 19:46) [21]
Кто ж виноват, что виндоз по-умолчанию всё тащит к себе любимому... :)

С каких это пор, может поискать более подходящую кандидатуру?

aus   (23.01.05 13:29) [23]
Лавить в зародыше.


 
Юрий Зотов ©   (2005-01-23 13:49) [25]

> Knight

> и не говорите мне про uninstall, который мне недавно без
> запросов удалил нужные для Delphi библиотеки

Увы, такое бывает. Но это все же кривые руки программиста. У библиотек есть счетчик программ-пользователей, за которым надо правильно следить.

> Прога хранит путь к самой себе в ини-файле в папке Виндос...
> и при перемещении её в другое место теряет сама себя.

Еще более кривые руки программиста. Зачем вообще нужно хранить путь к себе, когда он и без всякого хранения всегда известен?

> меня уже достал TotalCommander

А вот это уже кривые руки пользователя. Total Commander сделан на этот счет очень грамотно и при инсталляции предлагает указать, где он должен хранить свои настройки. Таким образом, можно сделать и единую настройку для всех юзеров, и индивидуальную для каждого.

Кстати, это и есть ответ на спорный вопрос, где хранить настройки. Общие - в общем каталоге (не обязательно в системном, в системный каталог лазить без нужды вообще незачем), а персональные - в персональных. И для этого есть специально отведенное место - Documents and Settings.


 
Knight ©   (2005-01-23 14:20) [26]


> [23] aus   (23.01.05 13:29)
> Это не правильно, нужно предоставить выбор пользователю,
> где ему хранить программу и ее файлы. Твердо прописанные
> пути к любым файлам (не только настроечным) - это и есть
> геморой для пользователя.

Я не имел в виду, что путь жёстко прописан в самой проге... а то, что не использую относительную адресацию, типа .\config.ini
По-умолчанию использую папку, куда установлена прога, если при этом происходит сбой доступа, то предлагаю выбрать путь для хранения либо Винда, либо произвольный.


> [25] Юрий Зотов ©   (23.01.05 13:49)

На счёт Тотала, может погорячился... я его не инсталировал, а скопировал у кого-то... так и юзал как есть... надо будет найти инсталятор.



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2005.02.06;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.52 MB
Время: 0.047 c
1-1106401615
infom
2005-01-22 16:46
2005.02.06
Каким образом лучше сохранять несколько потоков в один файл ?


4-1101921383
TankMan
2004-12-01 20:16
2005.02.06
Хорошо...Скажите пожалуйста, как (возможно ли) "опознать" чипсет


4-1103554307
Bless
2004-12-20 17:51
2005.02.06
Как работает DefWindowProc?


14-1106043390
Fre=
2005-01-18 13:16
2005.02.06
Ищу песня


3-1105347168
Orc
2005-01-10 11:52
2005.02.06
Список серверов SQL в сети





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский