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

Вниз

Чтение имени компонента из файла   Найти похожие ветки 

 
Maloric   (2006-07-04 14:18) [0]

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

Label12 Red
Label14 Blue

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


 
ECM ©   (2006-07-04 17:42) [1]

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


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

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

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

Возможно... Научитесь читать из текстового файла....для начала.
Затем можете обратить внимание на очень полезную функцию из 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. }

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


 
[e]Bu$ter ©   (2006-07-04 19:02) [2]

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


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

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


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

Вариант типа

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

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


 
ECM ©   (2006-07-04 23:22) [5]

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


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


> Типа komp.color:=clRed

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

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


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

Я тут подумал можно так:
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:44) [7]

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

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


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


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

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



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

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

Наверх




Память: 0.49 MB
Время: 0.036 c
15-1172866869
alpha5
2007-03-02 23:21
2007.03.25
Стили приложения


15-1172503751
Programist
2007-02-26 18:29
2007.03.25
Как работает сообщение wm_paint в Delphi7?


2-1173088934
Клара
2007-03-05 13:02
2007.03.25
Выпадающий список


3-1167462346
vidiv
2006-12-30 10:05
2007.03.25
проблема TADOQuery + MSAccess + Union


3-1167225881
RomanH
2006-12-27 16:24
2007.03.25
Набор данных возвращаемый XП