Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Работа с Ini - файлами


mozgan ©   (2006-02-17 21:53:00) 

Добрый вечер, господа Мастера!

Помогите разобраться с вопросом по работе с ini файлами.

На форме есть Image1. При выходе из программы сохраняются путь и имя
в последний раз загруженного изображения. Все сохраняется, но после второго
и / или третьего запуска проги все значения стираются.

В чем прикол - не пойму. Особо c инифайлами не работал, но вот пришлось.

Вот мой код.

Skin - Image1;
Open - OpenDialog1
------------------
procedure TForm1.FormDestroy(Sender: TObject);
var
 ini: TIniFile;
begin
 ini:=TiniFile.Create(extractfilepath(paramstr(0))+'setup.ini');
ini.WriteString('SKIN','Name',extractfilepath(open.FileName)+extractfilename(ope n.FileName));
ini.Free;

////////////
procedure TForm1.FormCreate(Sender: TObject);
var
 ini: TIniFile;
begin
 ini:=TiniFile.Create(extractfilepath(paramstr(0))+'setup.ini');
 Skin.Picture.LoadFromFile(ini.ReadString('SKIN','Name',open.FileName));
 ini.Free;


mozgan   (2006-02-19 20:12:00) [1]

Ребят, спасиба. Немного подумал и чуточку разобрался.
Спасибо!


antonn   (2006-02-18 06:44:00) [2]

mozgan   (17.02.06 22:26) [4]
Я пытаюсь использовать Opendialog1 для автоматического открытия (не знаю ка кправильно сказать :))) файла

Opendialog - это инструмент выбора файла, а не его открытия.

> ini.WriteString('SKIN','Name', extractfilepath(open.File
> Name)+extractfilename(ope n.FileName)
);

ух...

procedure TForm1.FormCreate(Sender: TObject);
var ini: TIniFile;
begin
ini:=TiniFile.Create(extractfilepath(paramstr(0))+'setup.ini');
try
open.FileName:=ini.ReadString('SKIN','Name','');
if fileexists(open.FileName) then
Skin.Picture.LoadFromFile(open.FileName);
finally
ini.Free;
end;
end;


Джо   (2006-02-18 04:06:00) [3]

> [4] mozgan   (17.02.06 22:26)
> Я пытаюсь использовать Opendialog1 для автоматического открытия
> (не знаю ка кправильно сказать :))) файла, указанного в
> инишке и загрузить в image1.
> Вот.

TOpenDialog не открывает файлов, это заблуждение. Наверное, придётся подумать над тем, чтобы "правильно сказать" :)


mozgan   (2006-02-17 22:26:00) [4]

Я пытаюсь использовать Opendialog1 для автоматического открытия (не знаю ка кправильно сказать :))) файла, указанного в инишке и загрузить в image1.
Вот.


Virgo_Style   (2006-02-17 22:23:00) [5]

идея есть, в [1] изложена.

код, выполняющийся при нажатии на F5 неплохо бы в студию.

смотря какую инфу.


mozgan   (2006-02-17 22:20:00) [6]

Сначала все записывается и остается. Я открывал файл и раз двадцать просматривал - нормально. Вопрос то в том, что например обнови окно клавой F5 раза три - тот же результат, что и с запуском проги. Не понимаю!
Есть идеи?

И ваще, как правильно сохранить инфу о image1 в INI?


Virgo_Style   (2006-02-17 22:00:00) [7]

Запуск №1
запустил программу
...
выходишь - сохранилось имя файла из open

Запуск №2
запустил - загрузился скин
...
выходишь - сохраняется имя файла из open, а ведь туда ничего не писалось!

вроде так?


Наверх

Титульная страница Поиск, карта сайта Написать письмо