ini файлы

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

ini файлы

Сообщение Dryg » 03.06.2010 00:12:02

выдает ошибку при попытки сохранить в ini файл
вот так сохраняю!
Код: Выделить всё
inif:=TIniFile.Create(ExtractFilePath(Application.ExeName)+ 'inf.ini');
inif.WriteString('label','label1', edit1.Text);
inif.WriteString('label','label2', edit2.Text);
inif.WriteString('label','label3', edit3.Text);
inif.WriteString('label','label4', edit4.Text);
inif.WriteString('label','label5', edit5.Text);
inif.WriteString('label','label6', edit6.Text);
inif.WriteString('label','label7', edit7.Text);
inif.WriteString('label','label8', edit8.Text);
inif.WriteString('edit','edit1', edit1.Text);
inif.WriteString('edit','edit2', edit2.Text);
inif.WriteString('edit','edit3', edit3.Text);
inif.WriteString('edit','edit4', edit4.Text);
inif.WriteString('edit','edit5', edit5.Text);
inif.WriteString('edit','edit6', edit6.Text);
inif.WriteString('edit','edit7', edit7.Text);
inif.WriteString('edit','edit8', edit8.Text);
inif.free;                     
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Dryg
незнакомец
 
Сообщения: 8
Зарегистрирован: 21.05.2010 00:23:47

Re: ini файлы

Сообщение modjo » 03.06.2010 06:18:50

ExtractFilePath(Application.ExeName) - тут лишнее. Файл и так будет сохранён в том же каталоге что и программа. А так всё верно.
modjo
новенький
 
Сообщения: 92
Зарегистрирован: 19.07.2009 15:52:10
Откуда: Москва

Re: ini файлы

Сообщение Dryg » 03.06.2010 07:54:58

modjo писал(а):ExtractFilePath(Application.ExeName) - тут лишнее. Файл и так будет сохранён в том же каталоге что и программа. А так всё верно.


не понял тебя!! у меня так и написано! может ему надо UTF-8 мохранять!! если сохранить а там будут русские буквы то потом отображается одни знаки вопроса! это ошибка появляется при повторном сохранение!!
Dryg
незнакомец
 
Сообщения: 8
Зарегистрирован: 21.05.2010 00:23:47

Re: ini файлы

Сообщение GrayEddy » 03.06.2010 08:41:23

Если ОС - Vista, то, скорее всего, проблемы с правами.
Попробуй записать в другой каталог.
GrayEddy
постоялец
 
Сообщения: 375
Зарегистрирован: 06.05.2005 09:37:56

Re: ini файлы

Сообщение dunin » 03.06.2010 08:46:44

modjo писал(а):ExtractFilePath(Application.ExeName) - тут лишнее. Файл и так будет сохранён в том же каталоге что и программа. А так всё верно.

Оно тут лишнее немного во другой причине. На Win7 крайне желательно, чтобы программа писала куда-нибудь в каталог пользователя, а не в каталог в котором она установлена. Иначе могут возникнуть различные ошибки записи/создания файлов из-за не дремлющей "системы безопасности" оной. Что, скорее всего, и происходит.

А вообще явно прописывать путь сохранения файла - хороший тон. И ни когда не лишнее. Помню на Win95/98 по умолчанию ini файлы сохранялись не в каталоге с программой, а в директории Windows. Так что не лишнее.
Аватара пользователя
dunin
энтузиаст
 
Сообщения: 634
Зарегистрирован: 02.05.2007 13:18:11
Откуда: Тољя††и

Re: ini файлы

Сообщение v-t-l » 03.06.2010 10:17:36

Соласен с dunin
Код: Выделить всё
inif:=TIniFile.Create(GetAppConfigDir(False)+ 'inf.ini');
inif.WriteString('label','label1', edit1.Text);
v-t-l
энтузиаст
 
Сообщения: 740
Зарегистрирован: 13.05.2007 16:27:22
Откуда: Belarus

Re: ini файлы

Сообщение modjo » 03.06.2010 10:19:40

dunin
Я писал подобный код и не разу не столкнулся с тем что при

Код: Выделить всё
INI := TIniFile.Create('ini.ini');


Файл будет создан не там где программа которая его создает. А уж про такие древние системы наверное и не все помнят/знают :)

Dryg
При повторном? Это странно. Абсолютно всё равно, код один и тотже, даже если данные уже существуют.
modjo
новенький
 
Сообщения: 92
Зарегистрирован: 19.07.2009 15:52:10
Откуда: Москва

Re: ini файлы

Сообщение dunin » 03.06.2010 11:07:41

v-t-l писал(а):
Код: Выделить всё
inif:=TIniFile.Create(GetAppConfigDir(False)+ 'inf.ini');
...

Совершенно верно. :)
Раз уж коснулись темы куда писать, то вот пример над чем сейчас работаю. Слева рабочая папка программы, справа папка с инсталлированной программой.
1.jpg
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
dunin
энтузиаст
 
Сообщения: 634
Зарегистрирован: 02.05.2007 13:18:11
Откуда: Тољя††и

Re: ini файлы

Сообщение modjo » 03.06.2010 11:15:03

dunin
Вы уж извините - но зачем хранить что-то софтовое в моих документах. Там у меня только документы, а все настройки можно в %APPDATA%, на худой конец в %USERPROFILE% хранить.

PS
Просто раздражает когда в мои документы мало майская программа пихает свои конфиги или ещё что-то. Потом попробуй найди в куче папок нужный документ или файл.
modjo
новенький
 
Сообщения: 92
Зарегистрирован: 19.07.2009 15:52:10
Откуда: Москва

Re: ini файлы

Сообщение Mr.Smart » 03.06.2010 12:49:04

modjo писал(а):А уж про такие древние системы наверное и не все помнят/знают :)

Вы считаеть Windows CE Embedded 6.0 и её производные древними системами?
Mr.Smart
долгожитель
 
Сообщения: 1796
Зарегистрирован: 29.03.2008 01:01:11
Откуда: из леса!

Re: ini файлы

Сообщение dunin » 03.06.2010 12:54:45

modjo писал(а):dunin
Вы уж извините - но зачем хранить что-то софтовое в моих документах. Там у меня только документы, а все настройки можно в %APPDATA%, на худой конец в %USERPROFILE% хранить.

Без проблем. Прога при инсталляции спрашивает где создать папку. Как раз такие варианты на выбор и предлагаются.
Инсталлятор пишет инфу в файл "imhotep.conf" (панель справа). Если сильно приспичит - то можно потом подкорректировать. Ну а вариант "Мои документы" от параноидальных админов, запрещающих писать куда-то окромя этого. Встречал и такое.
Аватара пользователя
dunin
энтузиаст
 
Сообщения: 634
Зарегистрирован: 02.05.2007 13:18:11
Откуда: Тољя††и

Re: ini файлы

Сообщение modjo » 03.06.2010 13:01:55

dunin
Если предлагает - зачёт, однозначно.

Mr.Smart
Если честно даже не подумал о таком :) Не разу не сталкивался.
modjo
новенький
 
Сообщения: 92
Зарегистрирован: 19.07.2009 15:52:10
Откуда: Москва

Re: ini файлы

Сообщение dunin » 03.06.2010 15:52:59

modjo писал(а):dunin
Если предлагает - зачёт, однозначно.
...

Вот так оно наглядно выглядит
1.jpg

Все уже придумано до нас - юзайте InnoSetup со встроенным Pascal Scripting :wink:
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
dunin
энтузиаст
 
Сообщения: 634
Зарегистрирован: 02.05.2007 13:18:11
Откуда: Тољя††и

Re: ini файлы

Сообщение Timid » 04.06.2010 10:24:52

Dryg писал(а):выдает ошибку при попытки сохранить в ini файл


Попробуйте проверить наличие ini-файла и прав доступа к нему. А также у каталога с программой.
Timid
постоялец
 
Сообщения: 290
Зарегистрирован: 21.11.2007 21:33:15

Re: ini файлы

Сообщение hinst » 04.06.2010 12:49:08

что это вы такое интересное делаете? справочник по истории Древнего Египта?
Аватара пользователя
hinst
энтузиаст
 
Сообщения: 781
Зарегистрирован: 12.04.2008 18:32:38

След.

Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 221

Рейтинг@Mail.ru