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

Вниз

Заполнение свойств компонента по их имени (в String формате)   Найти похожие ветки 

 
neteditor   (2004-02-12 16:12) [0]

Задача следующая: есть массив строковых пар THashedStringList
Что-то вида


Left=100
Top=50
Enabled=false
Caption=Form Caption


Как можно занести данные этих свойств в существуюший экземпляр класса? И желательно без кучи ифов :)


if HSL.Values["Left"] <> "" then c.Left := StrToInt(HSL.Values["Left"] );
if HSL.Values["Top"] <> "" then c.Top := StrToInt( HSL.Values["Top"] );
if HSL.Values["Height"] <> "" then c.Height := StrToInt( HSL.Values["Height"] );
if HSL.Values["Width"] <> "" then c.Width := StrToInt( HSL.Values["Width"] );
if HSL.Values["Caption"] <> "" then c.Caption := HSL.Values["Caption"];


 
Sandman25 ©   (2004-02-12 16:15) [1]

Работает только с published.
SetPropValue из TypInfo.pas


 
Тимохов ©   (2004-02-12 16:17) [2]

Функции написать типа

function GetInt(s: string; default: integer): integer;
begin
if s <> "" then result := strtoint(s) else result := default;
end;

использовать так

c.Left := getint(HSL.Values["Left"],c.Left);


 
icWasya ©   (2004-02-12 16:34) [3]

> Тимохов © (12.02.04 16:17) [2]
а на какой вопрос Вы отвечаете ?


 
Тимохов ©   (2004-02-12 16:43) [4]


> icWasya © (12.02.04 16:34) [3]

На вот это "И желательно без кучи ифов :)"


 
neteditor   (2004-02-12 17:21) [5]

2 Тимохов: спасибо :)

2 Sandman25: если б еще понять, как с ним работать... :) раньше никогда с интерфейсами не работал.


 
Sandman25 ©   (2004-02-12 17:26) [6]

[5] neteditor (12.02.04 17:21)

С какими еще интерфейсами???

with MyStrings do
for I := 0 to Count-1 do
SetPropValue(Self, Names[I], Values[Names[I]]);


 
Sandman25 ©   (2004-02-12 17:29) [7]

[5] neteditor (12.02.04 17:21)

Простите за "???". Я погорячился.


 
neteditor   (2004-02-12 17:39) [8]

2 Sandman25:

[5] не туды полез :) IOTAComponent.SetProp
спасибо за помощь

[6] вас можно понять :)


 
Sandman25 ©   (2004-02-12 17:41) [9]

[8] neteditor (12.02.04 17:39)

Спасибо за понимание... Тяжелый день сегодня.



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

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

Наверх




Память: 0.48 MB
Время: 0.025 c
1-79693
jen
2004-02-14 04:20
2004.02.25
Можно ли в ячейке StringGrid изменить цвет части текста


6-80065
L0N6
2003-12-17 17:35
2004.02.25
Быстрая передача данных по сети


1-79971
Dmitriy_G
2004-02-13 16:11
2004.02.25
Время выполнения процедуры


1-79891
Fants
2004-02-10 09:49
2004.02.25
Динамические библиотеки


14-80117
SeriousSam
2004-02-02 20:51
2004.02.25
Как отклюить в процессе работы программы определенный пункты меню