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

Вниз

Ини файл   Найти похожие ветки 

 
Gerk   (2008-06-13 23:23) [0]

Как записать данные в .ини файл, созданный формой 1, из 2й формы?


 
No_Dead ©   (2008-06-13 23:28) [1]

а разве не пофик какой формой будет создан ини?
вы ж с файлом работаете%>


 
Gerk   (2008-06-13 23:33) [2]

При попытке записи из 2й формы вылетает с ошибкой, может забываю что? )


 
Renegat   (2008-06-13 23:36) [3]

Без кода ответ неопределён. Показывайте где там у вас что.


 
DVM ©   (2008-06-13 23:38) [4]


> Gerk   (13.06.08 23:33) [2]

судя по номеру той ошибки что у вас вылетает, проблема в 17 строке вашего кода


 
No_Dead ©   (2008-06-13 23:41) [5]

в форме1

procedure TForm1.Button1Click(Sender: TObject);
var
ini: TIniFile;
begin
Ini:=TiniFile.Create(extractfilepath(paramstr(0))+"abcd.ini");
ini.WriteString("id"+form1.caption,"task", form1.Caption);
ini.free;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
form2.show;
end;


в форме 2
procedure TForm2.Button1Click(Sender: TObject);
var
ini: TIniFile;
begin
Ini:=TiniFile.Create(extractfilepath(paramstr(0))+"abcd.ini");
showmessage(ini.ReadString("idForm1","task","default"));
ini.free;
end;


работает все


 
Gerk   (2008-06-13 23:46) [6]

В 1й форме:
procedure TForm1.FormCreate(Sender: TObject);
begin
GetDir(0, IniPath);
IniFile:=TIniFile.Create(IniPath + "\bd.ini");
end;

procedure TForm1.FormShow(Sender: TObject);
begin
Form2.CheckBox2.Checked := IniFile.ReadBool("Key", "K2", false);
IniFile.Free;
end;


во 2й форме тоже самое, за исключением других значений, и запись в файл на FormClose.


 
Gerk   (2008-06-13 23:58) [7]

Перепутал )

В 1й форме:
procedure TForm1.FormCreate(Sender: TObject);
begin
GetDir(0, IniPath);
IniFile:=TIniFile.Create(IniPath + "\bd.ini");
end;


procedure TForm1.FormShow(Sender: TObject);
begin
Form2.CheckBox2.Checked := IniFile.ReadBool("Key", "K2", false);
IniFile.Free;
end;


procedure TForm1.Button2Click(Sender: TObject);
begin
IniFile.WriteBool("Key", "K2", CheckBox1.Checked);
IniFile.Free;
end;


Во 2й форме:

procedure TForm2.FormCreate(Sender: TObject);
begin
GetDir(0, IniPath);
IniFile:=TIniFile.Create(IniPath + "\bd.ini");
end;


procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction);
begin
IniFile.WriteInteger("Options", "S2", SpinEdit1.Value);
IniFile.Free;
end;


При попытке записи - вылет.


 
Renegat   (2008-06-14 00:02) [8]

Я так понимаю, IniFile - это глобальная переменная. Тогда на кой пересоздавать его 2 раза - при создании как первой, так и второй форм? + ещё удалять непонятно когда.

Рассмотрим такую ситуёвину: юзер открыл форму 1. Потом открыл форму 2. Потом закрыл любую и пытается что-то в инишник записать? Что он получает? Фигу =) Ибо при закрытии созданный класс был разрушен.


 
Renegat   (2008-06-14 00:07) [9]

Я к чему клоню. Лучше всего будет инициализацию/освобождение централизовать, а не размазывать по всему проекту какмасло ;)
Например, создание - только в OnCreate главной формы. А освобождение - только в OnClose в ней же.
Или как-то наподобие.


 
Игорь Шевченко ©   (2008-06-14 00:44) [10]


> При попытке записи - вылет.


Че за вылет ?


 
Германн ©   (2008-06-14 00:49) [11]


> Игорь Шевченко ©   (14.06.08 00:44) [10]
>
>
> > При попытке записи - вылет.
>
>
> Че за вылет ?
>

Профессиональный интерес?
:)


 
Игорь Шевченко ©   (2008-06-14 01:00) [12]

Германн ©   (14.06.08 00:49) [11]


> Профессиональный интерес?


Уже нету. Оно у автора сначала убивается, потом пишется. Неинтересно.


 
Германн ©   (2008-06-14 01:20) [13]


> Игорь Шевченко ©   (14.06.08 01:00) [12]

Я имел в виду термин "вылет". Он ведь используется не только в среде программистов. :)
Например http://yandex.ru/yandsearch?text=%E2%FB%EB%E5%F2


 
Игорь Шевченко ©   (2008-06-14 02:03) [14]

Германн ©   (14.06.08 01:20) [13]

у меня трактование этого термина однозначное :)


 
Германн ©   (2008-06-14 02:10) [15]


> Игорь Шевченко ©   (14.06.08 02:03) [14]
>
> Германн ©   (14.06.08 01:20) [13]
>
> у меня трактование этого термина однозначное :)
>

:)
Неужели в твоём ПО нигде не фигурирует термин "вылет"? Ну или "время вылета". Ну ес-сно помимо записи в логе?
:)


 
Игорь Шевченко ©   (2008-06-14 22:58) [16]

Германн ©   (14.06.08 02:10) [15]


> Неужели в твоём ПО нигде не фигурирует термин "вылет"? Ну
> или "время вылета". Ну ес-сно помимо записи в логе?
> :)


Неа. Не фигурирует. Вот дата рейса интересна, а время - не нужно по сути.


 
Германн ©   (2008-06-15 01:39) [17]


> Игорь Шевченко ©   (14.06.08 22:58) [16]

Ага-а-а.
Значит твоё ПО занимается в основном "бухгалтерией" авиаперевозок. И/или ведением БД и документации по произведенным, производимым или предстоящим аваиаперевозкам. Но не обеспечением функционирования терминалов аэропортов в RealTime.
:)


 
Игорь Шевченко ©   (2008-06-15 02:10) [18]

Германн ©   (15.06.08 01:39) [17]

Не дай Аллах мое ПО занималось бы чем-то с авиацией в Realtime.


 
Германн ©   (2008-06-15 02:59) [19]


> Игорь Шевченко ©   (15.06.08 02:10) [18]
>
> Германн ©   (15.06.08 01:39) [17]
>
> Не дай Аллах мое ПО занималось бы чем-то с авиацией в Realtime.
>
>

А не хочешь попробовать "заняться чем-то с авиацией в Realtime?
Ну разумеется через промежуточное, аппаратное звено?


 
Игорь Шевченко ©   (2008-06-15 14:20) [20]

Германн ©   (15.06.08 02:59) [19]


> А не хочешь попробовать "заняться чем-то с авиацией в Realtime?
>
> Ну разумеется через промежуточное, аппаратное звено?


Пассажиров жалко. Последний раз такими вещами я занимался в 1990-м году.



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

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

Наверх




Память: 0.51 MB
Время: 0.018 c
3-1199805755
AntonUSAnoV
2008-01-08 18:22
2008.07.13
Пропадает полоса прокрутки Dbgrid


15-1212341902
Kostafey
2008-06-01 21:38
2008.07.13
С днем рождения ! 1 июня


15-1212140391
bsna
2008-05-30 13:39
2008.07.13
кодировка dos и win


15-1211871564
Desdechado
2008-05-27 10:59
2008.07.13
Вот интересно


15-1211815645
Tualatin
2008-05-26 19:27
2008.07.13
файл ресурса (где картинки jpg)