Главная страница
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.021 c
14-80092
Ega23
2004-02-03 14:01
2004.02.25
Посоветуйте программу


4-80370
SkyRanger
2003-12-16 04:05
2004.02.25
Проблема с ХР


6-80083
beeper
2003-12-16 19:31
2004.02.25
Изменить настройки сети


3-79653
OlegM
2004-01-30 22:25
2004.02.25
Вычислить максимально значение поля ?


1-79815
Romba
2004-02-11 10:37
2004.02.25
Как в ToolBar сделать чтобы некоторые кнопки были всегда в конце?