Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.03.05;
Скачать: CL | DM;

Вниз

Работа с Ini - файлами   Найти похожие ветки 

 
mozgan   (2006-02-17 21:53) [0]

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

Помогите разобраться с вопросом по работе с 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;


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

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

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

вроде так?


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

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

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


 
Virgo_Style ©   (2006-02-17 22:23) [3]

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

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

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


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

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


 
Джо ©   (2006-02-18 04:06) [5]

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

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


 
antonn ©   (2006-02-18 06:44) [6]

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;


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

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



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

Текущий архив: 2006.03.05;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.041 c
4-1134303640
volser
2005-12-11 15:20
2006.03.05
Ипользование SHGetImageList


15-1139562745
Marat
2006-02-10 12:12
2006.03.05
IB Expert


15-1139678202
Ученик чародея
2006-02-11 20:16
2006.03.05
Как разрядить бумагу, после ее печати на лазерном принтере?


4-1134322223
Destroyer
2005-12-11 20:30
2006.03.05
Узнать какие диски присутствуют


1-1138970255
Ega23
2006-02-03 15:37
2006.03.05
Использование нескольких TActionList