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

Вниз

chart   Найти похожие ветки 

 
Мануха   (2007-08-01 23:27) [0]

Мастера, выручайте.
На форме chart и кнопка.
onclick:

Xz :=100;
 for g:=0 to StringGrid2.ColCount - 1 do
 for i:=0 to StringGrid1.ColCount - 1 do
   begin
     if StringGrid1.Cells[i,0] = StringGrid2.Cells[g,0] then
       begin
         StringGrid1.Cells[i,0] := "";
         Series1.AddY(Xz, IntToStr(?),clBlue);
         Dec(XZ);
       end else
       begin
         Series1.AddY(xz, IntToStr(?),clBlue);
       end;
   end;


Вобщем задача такая, имеется грид1 в котором 100 чисел в порядке возрастания (cols:= 100, rows:=1;). Грид2 заполняется рэндомно на 1000 чисел (cols:= 1000, rows:=1;), гриды используются для наглядности, а так будет массив. Проходимся по каждой ячейке грида2 и смотрим есть ли в гриде1 число из ячейки грида2, если есть то "стираем" его, и рисуем на чарте, уменьшаем координату Y на один. В след раз проверяем и если числа нет в гриде1(оно  из предыдущего шага стерлось) то рисуем на чарте, Y остается предыдущего шага.
Мне кажется что алгоритм составлен не совсем корректно, и проблема что по X нужно показывать каждый шаг по возрастанию начиная с 1...
Спасибо за ответы.


 
Elen ©   (2007-08-02 08:34) [1]

Я привильно поняла тебя, тебе нужно что-то типа этого? :

procedure TForm1.Button1Click(Sender: TObject);
var w,yz,i:integer;
begin
//********* FOR ******************
yz:=100;
for i :=0  to StringGrid1.Rows[0].Count do
begin
if (StringGrid1.Rows[1].IndexOf(StringGrid1.Rows[0].Strings[i])>=0) then begin
 if TryStrToInt(StringGrid1.Rows[0].Strings[i],w) then
  Series1.AddXY(yz,w) else StringGrid1.Rows[2].Add(StringGrid1.Rows[0].Strings[i]);
 StringGrid1.Rows[0].Strings[i]:="";
 dec(yz);*
end else
 if TryStrToInt(StringGrid1.Rows[0].Strings[i],w) then
  Series1.AddXY(yz,w) else StringGrid1.Rows[2].Add(StringGrid1.Rows[0].Strings[i]);
end;
//******* END FOR ****************{}
end;


 
Мануха   (2007-08-02 18:30) [2]

хм...
маленький пример...

массив_a: 1 2 3 4 5 6 7 8 9 10
массив_b: 6 5 5 6 3 4 8 7 5 5 1
рисуем первый столбик(0,10) т.к. еще не выпадало никаких чисел.
первый элемент массива_b - 6, ага, рисуем второй столбик(1,9)
второй элемент массива_b - 5, ок, рисуем третий столбик(2,8)
третий элемент массива_b - 5, хм, рисуем четвертый столбик(3,8)
четвертый элемент - 6, рисуем пятый столбик (4,8)

Y - один и тот же потому что не выпали новые числа.
пятый элемент - 3, рисуем шестой столбик(4,7)
...
типо того


 
Мануха   (2007-08-02 19:51) [3]

вообщем сам разобрался, тему можна закрыть, удалить и т.п. :)



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

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

Наверх




Память: 0.47 MB
Время: 0.024 c
2-1186105128
Glivera
2007-08-03 05:38
2007.08.26
TaskBar


2-1185959157
Nikfel
2007-08-01 13:05
2007.08.26
Внутри ли кнопки курсор.


2-1186130249
Юра
2007-08-03 12:37
2007.08.26
Клавиатура


2-1185787061
031178
2007-07-30 13:17
2007.08.26
Работа с файлами


11-1168515485
Mabia
2007-01-11 14:38
2007.08.26
Установка Report&Print в D6