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

Вниз

Ini files   Найти похожие ветки 

 
DeMoN-777 ©   (2002-12-16 20:05) [0]

Народ, помогите пожалуйста...
Проблема вот в чём....
Мне надо считать настройки из ini-файла и по ним выставить на компонентах свойства true или false.
Считываю по onCreate главной формы. На главной форме все значения устанавливаются, а на остальных
нет т.к. они ещё не успели воздатся.
Вопрос:
По какому событию лучше всего реализовать чтение?


 
mike-d ©   (2002-12-16 20:37) [1]

Как вариант:

var
Form1: TForm1;
RunApp: Boolean = True;

implementation

{$R *.DFM}

procedure TForm1.FormShow(Sender: TObject);
begin
if RunApp then
begin
...
RunApp := False;
end;
end;




 
PVOzerski ©   (2002-12-16 20:38) [2]

Вообше говоря, очевидны два подхода:
1) То, что касается данной формы, читать на OnCreate этой самой формы;
2) Читать всё на onCreate главной формы, но не пытаться присваивать значения
свойствам еще не созданных форм, а dhtvtyyj сохранять их в каких-нибудь "сторонних"
переменных. Преимущества метода 2 мне не очевидны.
>нет т.к. они ещё не успели воздатся.
А вообще, не бойтесь думать и экспериментировать, и Вам воздастся! :^)


 
DeMoN-777 ©   (2002-12-16 21:05) [3]

>PVOzerski © (16.12.02 20:38)
Честно говоря мне более нравится, и я считаю более грамотным вариант №1.
Например, есть форма TFmOptions = class(TForm) в которой хранится настройка прозрачности главного окна(которое создаётся первее чем окно настроек программы). В коде например такой порядок...


Procedure LoadFromIni;
begin
Ini:=TIniFile.create(Pach+"Status.dll");
FmOptions.AlphaBlendTrack.Position:= Ini.ReadInteger("Options","AlphaBlend", FmOptions.AlphaBlendTrack.Position);
Ini.Free;
end;

procedure TFmMain.FormCreate(Sender: TObject);
begin
Pach:=ExtractFilePath(Application.ExeName);
LoadFormIni; //Моя процедура считывания
FmMian.AlphaBlendValue:= AlphaBlendTrack.Position;
end;


Очевидно, что способ №1 мне никак не подходит, а способ №2 я считаю более трудоёмким и менее оптимальным.


 
Palladin ©   (2002-12-16 22:33) [4]

думаю можно создать юнит и там завести все переменные... в нем же и читать на момент инициализации юнита...
если покажется слишком рутинно создавать кучу переменных, то
можно создать один глобальный объект типа GlobalIni:TIniFile
и в том же модуле на
initialization
GlobalIni:=TIniFile.Create(strIniFileName);

finalization
GlobalIni.free;

и пусть каждая форма при создании сама читает свои настройки из GlobalIni

это ИМХО :)



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

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

Наверх




Память: 0.48 MB
Время: 0.013 c
8-86046
DerMaister
2002-07-06 12:21
2002.12.26
Эквалайзер


14-86165
IronHawk
2002-11-24 23:47
2002.12.26
ТРЕТЬЯ ВСТРЕЧА МАСТАКОВ В КИЕВЕ НАМЕЧАЕТСЯ ....


3-85862
and_sp
2002-12-03 09:32
2002.12.26
Paradox в Excel


1-86018
kull
2002-12-15 12:28
2002.12.26
Помогите пропарсить HTML...


1-85922
Jeka
2002-12-09 12:23
2002.12.26
tray