Главная страница
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.028 c
2-1185190388
***mikle***
2007-07-23 15:33
2007.08.26
как узнать с какого IP пришло сообщение на ServerSocket


5-1160386111
Prohor
2006-10-09 13:28
2007.08.26
Где взять нормальный DbGridEh


15-1185284193
tesseract
2007-07-24 17:36
2007.08.26
Я таки вернулся


2-1186006781
Johnnnn
2007-08-02 02:19
2007.08.26
Выделить текст до конца строки в memo


15-1185829929
DillerXX
2007-07-31 01:12
2007.08.26
Я сделал это! Никто не хочет померяться у кого меньше? ;)