Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Чтение имени компонента из файла [D10,D6, WinXp Sp2]


Maloric ©   (2006-07-04 14:18:00) 

Здраствуйте уважаемые Мастера!
Простите за нескромный вопрос, можно ли при открытии файла, например:

Label12 Red
Label14 Blue

Присвоить label12 красный цвет, я имею ввиду как присвоить цвет компоненту, название которого находиться в файле.
Возможно ли это? Просто ни когда не интересовался этим вопросом, заранее спасибо за ответ.


Maloric   (2006-07-05 00:01:00) [1]


> Вы [5] читали внимательно?

Сильно извиняюсь, сначала не обратил внимания.
Перекомпилировал MCK/KOL с этой директивой.
И в проект также вставил. Заработало.
Спасибо огромное, извините что отнял у Вас времени,
все получилось.


ECM   (2006-07-04 23:44:00) [2]

> Но свойства Name нету

Вы [5] читали внимательно?


Maloric   (2006-07-04 23:33:00) [3]

Я тут подумал можно так:
var
komp: Array[0..10] of PControl;
mykomp: string;
begin
for i:=0 to 10 do begin
   if komp.name=mykomp then ...  //Но свойства Name нету
end;
end;

И как создать этот массив...
Пробовал через Panel1.ChildCount;
Но там при использовании Panel1.Children[i] также нет свойства Name =(
Может я ни туда рою?


ECM   (2006-07-04 23:22:00) [4]

> Можно ли обратиться к компоненту название которого в строковом
> виде


> Например читаю в переменную komp='Label13';


> Типа komp.color:=clRed

Может Вам книжку по Паскалю почитать?

Для KOL - посмотрите в сторону $DEFINE USE_NAMES...
Но поиск объекта по имени делать придётся всё равно... чудес не бывает


Maloric   (2006-07-04 22:33:00) [5]

Вариант типа

case komp of
'Label13': Label13.Color:=clRed
...
end;

Мне не подходит. Очень надо, для уменьшения времени и кода.
Спасибо за внимание.


Maloric   (2006-07-04 22:27:00) [6]

Ну вы конечно тут пошутите. Мне конечно с одной стороны даже обидно, но в вопросе помоему я правильно написал, чего я хочу узнать.
Читать я из файла умею, и не один год это делал =)
Я имел ввиду вот что:
Label13 Red
Например читаю в переменную komp='Label13';
Дык вот я и хочу узнать возможно ли использовать переменную komp.
Типа komp.color:=clRed;
Можно ли обратиться к компоненту название которого в строковом виде


[e]Bu$ter   (2006-07-04 19:02:00) [7]

Да по ходу из файлов он читать умеет раз взялся.
Трудность скорее всего вызывает то, что человек на знает каким образом в RunTime по именам обращаться к компонентам, которые он раскладывал по форме в DesignTime.


ECM   (2006-07-04 17:42:00) [8]

> Чтение имени компонента


> я имею ввиду как присвоить цвет компоненту

Так имя или цвет? :)))) Файл я так понимаю текстовый?

> Возможно ли это?

Возможно... Научитесь читать из текстового файла....для начала.
Затем можете обратить внимание на очень полезную функцию из KOL(я надеюсь что в данную конференцию вы не наугад написали - хотя из вопроса это не следует... (я бы на месте модератора сразу бы перенес его в "начинающим")) Parse
function Parse( var S : String; const Separators : String ) : String;
{* Returns first characters of string S, separated from others by
  one of characters, taking place in Separators string, assigning
  a tail of string (after found separator) to source string. If
  no separator characters found, source string S is returned, and
  source string itself becomes empty. }

Далее после получения строки цвета в цвет уже тривиально...


Наверх

Титульная страница Поиск, карта сайта Написать письмо