![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Ини файл
Gerk © (2008-06-13 23:23:00)Как записать данные в .ини файл, созданный формой 1, из 2й формы?
Игорь Шевченко (2008-06-15 14:20:00) [1]Германн © (15.06.08 02:59) [19]
> А не хочешь попробовать "заняться чем-то с авиацией в Realtime?
>
> Ну разумеется через промежуточное, аппаратное звено?
Пассажиров жалко. Последний раз такими вещами я занимался в 1990-м году.
Германн (2008-06-15 02:59:00) [2]
> Игорь Шевченко © (15.06.08 02:10) [18]
>
> Германн © (15.06.08 01:39) [17]
>
> Не дай Аллах мое ПО занималось бы чем-то с авиацией в Realtime.
>
>
А не хочешь попробовать "заняться чем-то с авиацией в Realtime?
Ну разумеется через промежуточное, аппаратное звено?
Игорь Шевченко (2008-06-15 02:10:00) [3]Германн © (15.06.08 01:39) [17]
Не дай Аллах мое ПО занималось бы чем-то с авиацией в Realtime.
Германн (2008-06-15 01:39:00) [4]
> Игорь Шевченко © (14.06.08 22:58) [16]
Ага-а-а.
Значит твоё ПО занимается в основном "бухгалтерией" авиаперевозок. И/или ведением БД и документации по произведенным, производимым или предстоящим аваиаперевозкам. Но не обеспечением функционирования терминалов аэропортов в RealTime.
:)
Игорь Шевченко (2008-06-14 22:58:00) [5]Германн © (14.06.08 02:10) [15]
> Неужели в твоём ПО нигде не фигурирует термин "вылет"? Ну
> или "время вылета". Ну ес-сно помимо записи в логе?
> :)
Неа. Не фигурирует. Вот дата рейса интересна, а время - не нужно по сути.
Германн (2008-06-14 02:10:00) [6]
> Игорь Шевченко © (14.06.08 02:03) [14]
>
> Германн © (14.06.08 01:20) [13]
>
> у меня трактование этого термина однозначное :)
>
:)
Неужели в твоём ПО нигде не фигурирует термин "вылет"? Ну или "время вылета". Ну ес-сно помимо записи в логе?
:)
Игорь Шевченко (2008-06-14 02:03:00) [7]Германн © (14.06.08 01:20) [13]
у меня трактование этого термина однозначное :)
Германн (2008-06-14 01:20:00) [8]
> Игорь Шевченко © (14.06.08 01:00) [12]
Я имел в виду термин "вылет". Он ведь используется не только в среде программистов. :)
Например http://yandex.ru/yandsearch?text=%E2%FB%EB%E5%F2
Игорь Шевченко (2008-06-14 01:00:00) [9]Германн © (14.06.08 00:49) [11]
> Профессиональный интерес?
Уже нету. Оно у автора сначала убивается, потом пишется. Неинтересно.
Германн (2008-06-14 00:49:00) [10]
> Игорь Шевченко © (14.06.08 00:44) [10]
>
>
> > При попытке записи - вылет.
>
>
> Че за вылет ?
>
Профессиональный интерес?
:)
Игорь Шевченко (2008-06-14 00:44:00) [11]
> При попытке записи - вылет.
Че за вылет ?
Renegat (2008-06-14 00:07:00) [12]Я к чему клоню. Лучше всего будет инициализацию/освобождение централизовать, а не размазывать по всему проекту какмасло ;)
Например, создание - тольков OnCreate главной формы. А освобождение - тольков OnClose в ней же.
Или как-то наподобие.
Renegat (2008-06-14 00:02:00) [13]Я так понимаю, IniFile - это глобальная переменная. Тогда на кой пересоздавать его 2 раза - при создании как первой, так и второй форм? + ещё удалять непонятно когда.
Рассмотрим такую ситуёвину: юзер открыл форму 1. Потом открыл форму 2. Потом закрыл любую и пытается что-то в инишник записать? Что он получает? Фигу =) Ибо при закрытии созданный класс был разрушен.
Gerk (2008-06-13 23:58:00) [14]Перепутал )
В 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;
При попытке записи - вылет.
Gerk (2008-06-13 23:46:00) [15]В 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.
No_Dead (2008-06-13 23:41:00) [16]в форме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;
работает все
DVM (2008-06-13 23:38:00) [17]
> Gerk (13.06.08 23:33) [2]
судя по номеру той ошибки что у вас вылетает, проблема в 17 строке вашего кода
Renegat (2008-06-13 23:36:00) [18]Без кода ответ неопределён. Показывайте где там у вас что.
Gerk (2008-06-13 23:33:00) [19]При попытке записи из 2й формы вылетает с ошибкой, может забываю что? )
No_Dead (2008-06-13 23:28:00) [20]а разве не пофик какой формой будет создан ини?
вы ж с файлом работаете%>