Главная страница
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.064 c
15-1172575892
Ksander
2007-02-27 14:31
2007.03.25
Помогите!!!


2-1172760724
проходил мимо решил заглянуть
2007-03-01 17:52
2007.03.25
listbox


15-1172496149
Двоишник
2007-02-26 16:22
2007.03.25
Лицензия


15-1172251427
palva
2007-02-23 20:23
2007.03.25
Чего нельзя делать в Интернете?


2-1172935222
z80maniac
2007-03-03 18:20
2007.03.25
Повторная загрузка DLL