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

Вниз

Можно ли редактировать INI файл проекта, находясь в этом проекте?   Найти похожие ветки 

 
КлЯкСа ©   (2006-11-04 12:17) [0]

Есть проект, который запускается по определенным параметрам, хранящимся в ffl.ini файле. Мне надо, чтоб продвинутые пользователи открыв проект смогли изменить (подредактировать этот файл) на следующий уже заход к примеру, чтоб не надо им было рассказывать, где этот файл лежит. Поскольку мне не приходилось вообще работать с ini файлом, здесь 2 вопроса - реально ли это в принципе осуществить или ситсема уже блокирует файл, когда проект загружен? И второй вопрос - как осуществить этот код без всяких заморочек, чтоб открывался файл по кнопке и при выходе просто был запрос сохранить ли внесенные изменения? (Я нашла в книге как новый файл записать, а как существующий уже обрабатывать - не знаю) Может направите на информацию где это взять или здесь кто приведет кодовый пример, плз.
Заранее спасибо!


 
Kolan ©   (2006-11-04 12:19) [1]

Ниасилил, многабукаф.

Для работы с Ini файлами есть класс TIniFile, который находится в модуле IniFiles.
А вот в справке(F1) есть описание как им пользоваться :)


 
Virgo_Style ©   (2006-11-04 12:27) [2]

КлЯкСа ©   (04.11.06 12:17)
И второй вопрос - как осуществить этот код без всяких заморочек, чтоб открывался файл по кнопке и при выходе просто был запрос сохранить ли внесенные изменения?


Свой редактор (Форма, TMemo + кнопки отмена и Ok) или запускать, скажем, Блокнот с параметром (если слегка извратиться, можно найти, с какой программой ассоциирован .txt и открыть там - вдруг кто-то удалит из системы Блокнот? =) )


 
MetalFan_pda   (2006-11-04 12:30) [3]

где там была ссылка по поводу smart questions?
автор,ты сама то поймешь,если свой вопрос перечитаешь?


 
Percent   (2006-11-04 13:08) [4]

Поскольку мне не приходилось вообще работать с ini файлом, здесь 2 вопроса - реально ли это в принципе осуществить или ситсема уже блокирует файл, когда проект загружен?

"Ситсема" блокирует файл, когда идет обращение к файлу (чтение/зпапись).
Если файл не открыт, то зачем системе его блокировать?
Откуда системе знать, какое отношение имеет твой ffl.ini к твоей пльограмме?

P. S. Какой компонент доступа к файлу?


 
КлЯкСа ©   (2006-11-04 14:54) [5]

To MetalFan_pda: Я перечитала то, что написала, признаю, что произошли некоторые опечатки, ;-) но в общем смысл понятен, если непонятно, переспросите что, я поясню :-)


 
КлЯкСа ©   (2006-11-04 14:57) [6]

To Percent: Мой первый вопрос и состоял как раз в том, что если я открываю проект в соответсвии с параментрами ffl.ini файла, то будет ли система его держать блокированным до тех пор, пока открыт этот проект?


 
КлЯкСа ©   (2006-11-04 15:12) [7]

To Virgo_Style: поскольку я чайник, и только пытаюсь начать работу, так что мои познания очень ограничены пока, а надо срочно решить эту проблему(задачу), так что мне бы поподробнее, плз, какие компоненты и приемы я должна использовать на форме, кроме подсказанной вами Tmemo? чтобы открыть, редактировать открытый в Мемо файл и сохранить введенные сохранения без использования компонента SaveDialog


 
Virgo_Style ©   (2006-11-04 15:31) [8]

0. Открываем окно-редактор
1. TMemo.LoadFromFile с параметром - именем ini-файла.
2а. если нажата Ok, то TMemo.SaveToFile и закрываем окно
2б. если нажата Отмена, то просто закрываем.

Всего делов.

Прим. к 1.:
Для получения полного пути к каталогу программы - ExtractFilePath( Appliaction.ExeName ) + "ffl.ini";
Если имя ini совпадает с именем Exe - то ChangeFileExt( Application.ExeName, ".ini");


 
КлЯкСа ©   (2006-11-04 15:40) [9]

Спасибо Virgo_Style, объяснение звучит понятно, буду пробовать :-)


 
Percent   (2006-11-04 15:59) [10]

что если я открываю проект в соответсвии с параментрами

Раз-два-три-четыре-пять... начинаю телепать.

Когда происходит чтение параметров из .ini файла? При старте программы.
Когда происходит запись параметров в .ini файл? При завершении программы.
Надо ли держать .ini файл открытым в течение всего сеанса работы программы? Не надо.
Когда надо открывать файл? В начале работы и в конце работы.

Вопрос: Будет ли файл заблокированным в течение всего сеанса, или только в момент чтения/записи данных, то есть, только в начале сеанса работы с программой, и в конце сеанса?


 
Desdechado ©   (2006-11-04 17:45) [11]

Я бы не делал редактирование ini напрямую как текста. Я бы сделал формочку, в которой нормальными компонентами можно было что-то настраивать, а программа бы сама перекладывала в INI настройки в том виде, в котором она понимает. Например, галочки командой WriteBool, циферки - WriteInteger и т.п.
Т.е. до кишок INI пользователя пускать нельзя, ему нужно дать возможность настроить с понятными интерфейсными решениями.


 
КлЯкСа ©   (2006-11-05 09:05) [12]

To Virgo_Style: я дико извиняюсь, но вот не смогла реализовать в жизнь то, что вы сказали, TMemo не обладает методом LoadFromFile :-(((
Какой компонент я должна использовать в этом случае вместо Memo? Или если я все же совет насчет Мемо годен, то как мне осуществить загрузку текстового файла в мемо кмпонент??


 
Ketmar ©   (2006-11-05 09:14) [13]

>[12] КлЯкСа(c) 5-Nov-2006, 09:05
а-а-а!!! говорящий помидор!!!


 
Virgo_Style ©   (2006-11-05 09:39) [14]

КлЯкСа ©   (05.11.06 9:05) [12]
TMemo не обладает методом LoadFromFile


Ну ошибся я, так надо ж если не книжки читать, то хотя бы обладать способностью к исследованию и чтению справки.

TMemo.Lines.LoadFromFile();
TMemo.Lines.SaveToFile();

Что вы, право...



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

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

Наверх





Память: 0.49 MB
Время: 0.04 c
15-1162462150
MsGuns
2006-11-02 13:09
2006.11.19
Приобретение лецензии на Delphi 7


1-1160481752
markers
2006-10-10 16:02
2006.11.19
UTF-8 > Win


15-1162384753
IronHawk
2006-11-01 15:39
2006.11.19
IDA signature file for Delphi6 & Delphi7


2-1162192150
Megabyte
2006-10-30 10:09
2006.11.19
Вопрос по проектированию класса


2-1162462779
pasha_golub
2006-11-02 13:19
2006.11.19
Как поймать сообщение посланное для Application.Handle?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский