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

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

Ини файл


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]

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


Наверх

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