Форум: "Начинающим";
Текущий архив: 2008.05.04;
Скачать: [xml.tar.bz2];
ВнизПомогите найти ошибку в небольшой функции! Найти похожие ветки
← →
cvg (2008-04-09 11:31) [0]Пару месяцев назад мне на этом же форуме кто-то посоветовал текст процедуры для выбора нужной процедуры рисования строки из массива Chart1 по имени. Я ее намного доработал -- для того чтобы была возможность вызывать и процедуру SeriesAddNullXY. При попытке компиляции курсор встает после оператора "then", и сообщение об ошибке звучит так: "Operator not applicable to this operand type". С чего бы это "not applicable"-то? Вот текст процедуры:
procedure SeriesNameAddXY(AChart:TChart;const SeriesName:string;X,Y:double;AMark:string;AColor:TColor);
var i:integer;
begin
with AChart do
for i := 0 to SeriesList.Count - 1 do
if Series[i].Title = SeriesName
then
if AColor <> nil
then Series[i].AddXY(X,Y,AMark,AColor)
else Series[i].AddNullXY(X,Y,AMark);
end;
← →
Johnmen © (2008-04-09 11:32) [1]См. TColor+F1
← →
Сергей М. © (2008-04-09 11:34) [2]
> С чего бы это
С того что тип TColor не является указательным типом.
← →
cvg (2008-04-09 11:37) [3]
> С того что тип TColor не является указательным типом.
Ну и как тогда проще поступить?
← →
Плохиш © (2008-04-09 11:39) [4]
> cvg (09.04.08 11:37) [3]
>
> > С того что тип TColor не является указательным типом.
>
> Ну и как тогда проще поступить?
см. [1]
← →
Johnmen © (2008-04-09 11:39) [5]
> Ну и как тогда проще поступить?
Забить на всё.
← →
Сергей М. © (2008-04-09 11:39) [6]
> как тогда проще поступить?
А как ты вообще собрался передавать в эту процедуру "никакой" цвет ?
← →
{RASkov} © (2008-04-09 11:40) [7]> [3] cvg (09.04.08 11:37)
> Ну и как тогда проще поступить?
Сравнивать равнозначные типы...
← →
cvg (2008-04-09 11:45) [8]
> А как ты вообще собрался передавать в эту процедуру "никакой"
> цвет ?
Ну так ведь в AddNullXY цвет и не нужен.
Короче, есть ли какой-либо аналог nil для типа TColor?
← →
Palladin © (2008-04-09 11:48) [9]clNone
← →
clickmaker © (2008-04-09 11:48) [10]clNone
← →
Kolan © (2008-04-09 11:49) [11]> Короче, есть ли какой-либо аналог nil для типа TColor?
[1] ты так и не последовалс :(
← →
Сергей М. © (2008-04-09 11:49) [12]
> в AddNullXY цвет и не нужен
Ну и что ?
ты же вызывая эту процедуру что-то обязан указать последним параметро, коль скоро он у тебя не дифолтный ?
Вот я и спрашиваю, что ты будешь передавать фактически ?
← →
cvg (2008-04-09 11:51) [13]Ладно, ок, попробую сlNone. Сэнкс.
← →
Kolan © (2008-04-09 11:53) [14]> Вот я и спрашиваю, что ты будешь передавать фактически ?
Да забей, он уже для себя запомнил, чтоTColor
— это исключение. ДляTColor nil
записывается какclNone
.
:)
← →
cvg (2008-04-09 13:08) [15]Что за фигня, товарищи??? В отладчике изменяю Title у любой из Series, а меняется он далеко не всегда! Ж:( В чем причина?
← →
Kolan © (2008-04-09 13:15) [16]> В отладчике изменяю Title у любой из Series
Ух ты это как же ты это делаешь? Научи?
← →
cvg (2008-04-09 13:23) [17]
> Ух ты это как же ты это делаешь? Научи?
Кликаю на чарте, появляется окошко "Editing Chart1", выбираю Series? cghfdf tcnm ryjgrf "Title...". Почему-то даже если title не задан, там все равно высвечивается "SeriesNN" ("NN" -- его номер). Ну, ввожу там что-нибудь. Нажимаю "OK", потом "Close" для всего окошка "Editing Chart1". Потом снова открываю это окошко, нахожу тот же Series, и с гарантией процентов 90 вижу у него старый title :(. В чем же дело-то, блин?..
← →
Kolan © (2008-04-09 13:29) [18]> Почему-то даже если title не задан
Потому, что используется Name компонента.
> В чем же дело-то, блин?…
Проверил несколько раз на BDS 2006 повторить не удалось.
ЗЫ
Казалось бы причем тут отладчик?
← →
cvg (2008-04-09 13:34) [19]Ладно, наплевать, буду пользоваться Name...
← →
Kolan © (2008-04-09 13:38) [20]> Ладно, наплевать, буду пользоваться Name…
Для чего? :)
← →
cvg (2008-04-09 13:53) [21]Ну в процедуре этой -- вместо Title.
← →
Kolan © (2008-04-09 13:56) [22]> Ну в процедуре этой —— вместо Title.
То есть тебе все равно?
ЗЫ
Спрашивал про цвет, потом тайтл, теперь он не нужен…
← →
cvg (2008-04-09 14:05) [23]Name даже проще, потому что они уже есть и не меняются. Мне ведь без разницы -- цвет или тайтл, лишь бы только функция выбирала нужный Series. А с цветом -- так я утешился ClNone"ом.
← →
{RASkov} © (2008-04-09 14:17) [24]> [23] cvg (09.04.08 14:05)
Я не совсем в курсе ветки.... но может Tag, например, поможет?
← →
Kolan © (2008-04-09 14:19) [25]Скажи а зачем вобще тебе надо по имени что-то делать с графиком?
← →
cvg (2008-04-09 15:25) [26]Потому что Series"ов очень много да еще и для двух Chart"ов, ну и к некоторым хотелось бы обращаться формально. Ну, например, образно примерно так: есть 4 графика на одном чарте, для каждого есть еще свои вспомогательные линии. Есть некоторая процедура, которая на основании неких входных данных рисует вспомогательные линии для каждого графика. Как мне внутри этой процедуры задать "рисуй вспомогательные линии к соответствующему графику"? Допустим, для этих вспомогательных линий у меня отведены Series20, Series21, Series29 и Series33. Предлагаешь каждый раз писать четырехступенчатый if?
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2008.05.04;
Скачать: [xml.tar.bz2];
Память: 0.5 MB
Время: 0.005 c