Тема: Chart Save/Load
Показать сообщение отдельно
  #6  
Старый 12.02.2010, 09:37
AntoNechayuk AntoNechayuk вне форума
Новичок
 
Регистрация: 23.11.2009
Сообщения: 58
Репутация: 10
Радость

Вот делаю так. Нужны не координаты ни формулы. Значения идут по опросу двух таймеров. 1-й - значение силы 2-й время.

Код:
// процедура подключения к датчику силы
... 

      //file
      FileName:= 'c:\testgraf.txt';
      AssignFile(F, 'c:\testgraf.txt');  // связали файл с переменной
      Rewrite(F);                             // создаем пустой файл
         WriteLn(F,
        'время' + TAB + 'Усилие');    // ТАВ - #14
        WriteLn(F,'');
...

procedure TForm1.Timer1Timer(Sender: TObject); //таймер по которому опрашиваю датчик силы
begin
  if Run <> false then
    begin

    sP1.Caption:= FloatToStrF(dOPCServer1.OPCGroups[0].OPCItems[1].Value,ffFixed, 8, nuli); // Лэйбл показывающий усилие
    newton:= dOPCServer1.OPCGroups[0].OPCItems[1].Value;				    // переменная считавшая значение силы с датчика			


// массивы Х и У  заполняем
    grafikX[x]:=time*0.5;   //опрос 2 Гц	// time - тянет инкрементацию с 2-го таймера с опросом в 500		
    grafikY[y]:=newton;     //усилие
   if grafikX[x]=grafikX[x-1] then begin //проверка уникальности данных массива (неповторяемости)
     x:=x-1;
     y:=y-1;
     grafikX[x]:=time*0.5;
     grafikY[y]:=newton;
   end
   else begin                   //уникально - значит пишем в файл
      WriteLn(F,
        FloatToStr(grafikX[x]) + TAB +
        FloatToStr(grafikY[y]));
        series1.AddXY(grafikX[x],grafikY[y],'',clRed);

    end;
      inc(x); // индексы массивов
      inc(y);
    end;
end;


как потом открыть файл??? притом планирую дописывать в него еще Дату, расчеты проведенные после рисования графика и + добавлю еще 2 графика.

Надеюсь что поможете с одним графиком - я потом по тому же принципу сделаю дополнения .
Ответить с цитированием