Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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 &#151; это исключение. Для 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 компонента.


> В чем же дело-то, блин?&#133

Проверил несколько раз на BDS 2006 повторить не удалось.

ЗЫ
 Казалось бы причем тут отладчик?


 
cvg   (2008-04-09 13:34) [19]

Ладно, наплевать, буду пользоваться Name...


 
Kolan ©   (2008-04-09 13:38) [20]

> Ладно, наплевать, буду пользоваться Name&#133

Для чего? :)


 
cvg   (2008-04-09 13:53) [21]

Ну в процедуре этой -- вместо Title.


 
Kolan ©   (2008-04-09 13:56) [22]

> Ну в процедуре этой &#151;&#151; вместо Title.

То есть тебе все равно?

ЗЫ
 Спрашивал про цвет, потом тайтл, теперь он не нужен&#133


 
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
15-1206475079
Real
2008-03-25 22:57
2008.05.04
Worms


2-1207579151
Снежинка
2008-04-07 18:39
2008.05.04
Сортировка


2-1207731836
dumka
2008-04-09 13:03
2008.05.04
Запросы


10-1144210627
alk
2006-04-05 08:17
2008.05.04
Сохранение изменений на сервере


15-1206354703
Ega23
2008-03-24 13:31
2008.05.04
Генератор случайных чисел: какой использует Delphi?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский