Текущий архив: 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(я надеюсь что в данную конференцию вы не наугад написали - хотя из вопроса это не следует... (я бы на месте модератора сразу бы перенес его в "начинающим")) Parsefunction 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