Главная страница
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.016 c
1-85893
Кокандокало
2002-12-16 14:42
2002.12.26
НУжно разобрать выражение *.gif;*.jpg;*.html;*.php; и т.д.


14-86099
Aristarh
2002-12-04 22:42
2002.12.26
На счетчике свыше 3 штук посетителей...


7-86204
olphi
2002-10-21 21:32
2002.12.26
Как узнать порядковый номер (букву) диска - CD-ROMa?


14-86090
ev
2002-12-04 18:54
2002.12.26
16-битная Delphi


1-86030
SemFLY
2002-12-16 08:21
2002.12.26
Delphi 7...проблемы... :-(