Головна сторінка
Top.Mail.Ru Яндекс.Метрика
Форум: "Основна";
Поточний архів: 2002.12.26;
Завантажити: [xml.tar.bz2];

Вниз

Ini files Знайти схожі гілки


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

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



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

Як варіант:

було
Form1: TForm1;
RunApp: Boolean = True;

реалізація

{$ R * .DFM}

procedure TForm1.FormShow (Sender: TObject);
починати
if RunApp then
починати
...
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
и в том же модуле на
ініціалізація
GlobalIni:=TIniFile.Create(strIniFileName);

finalization
GlobalIni.free;

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

это ИМХО :)



сторінки: 1 вся гілка

Форум: "Основна";
Поточний архів: 2002.12.26;
Завантажити: [xml.tar.bz2];

наверх









Пам'ять: 0.56 MB
Час: 0.048 c
1-86034
Vityok
2002-12-15 18:24
2002.12.26
BIOS


14-86132
Vopros
2002-12-05 16:25
2002.12.26
Пишіть якесь марення


3-85865
Лариса
2002-12-08 20:03
2002.12.26
Підкажіть будь ласка, як зробити Back up з програми.


7-86192
BJValentine
2002-09-13 18:14
2002.12.26
USB


14-86183
makt_liCh
2002-12-07 14:21
2002.12.26
скоро олімпіада





африкаанс албанський арабська вірменин азербайджанець баскський білоруський болгарська каталонський Китайська (спрощене письмо) Китайський традиційний) хорватський чеська данську мову нідерландський Ukranian естонець Філіппінська фінську мову французький
галісійська грузинський німецький грецький гаїтянський креольський давньоєврейську хінді угорський ісландський індонезієць ірландський італійський японський корейський латиська литовець македонець малайський мальтійський норвежець
перс полірування португальська румунський російська сербський словацький словенський іспанська суахілі шведську мову тайський турецька український урду в'єтнамський валлійський ідиш бенгальський боснійський
кебуано есперанто гуджараті хауса хмонг ігбо яванський каннада кхмерская Лао латинь маорі маратхі монгольський непальська панджабі сомалійський тамільська телугу йоруба
зулуський
Англійська Французький Німецький Італійський Португальська Русский Іспанська