Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.02.25;
Скачать: [xml.tar.bz2];

Вниз

Заполнение свойств компонента по их имени (в 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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.031 c
14-80249
Skier
2004-02-04 15:18
2004.02.25
за .Net будущее ?


9-79535
Omar2002
2003-08-14 23:39
2004.02.25
DXGEdit


1-79963
nucl
2004-02-13 17:28
2004.02.25
изменение строки подключения


1-80013
hfa
2004-02-13 08:15
2004.02.25
Составление формул


14-80132
real_dimedrol
2004-01-30 16:43
2004.02.25
Обои в NT





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский