Главная страница
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.022 c
14-80298
Igor_thief
2004-02-03 15:46
2004.02.25
Динамические масивы


1-79740
DimonNew
2004-02-11 11:04
2004.02.25
OnCreate


3-79643
Ig
2004-01-31 17:14
2004.02.25
DBase , на другом компьютере


6-80084
RaPToR_1
2003-12-21 17:14
2004.02.25
включения компа из сети


7-80313
Shiza
2003-12-03 13:54
2004.02.25
Скорость CD