Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Графики


Tatb9na ©   (2008-12-17 18:27:00) 

Задача состоит в следующем, чтобы построить график, записать данные в массив, массив в файл и потом с этого файла построить график.

объявляю димнамический массив
и соотв переменные
 OX,OY: real;
 s,s1,s2,s3:string;
 ar: array of array of real;

пишу так
begin
        for i:=0 to poin
             do begin
                   graf.Series1.AddXY(i*x, a*i*(1/sin(k*x)),'',clred);
        end;
      for cr:=1 to 2 do begin
           for cc:=1 to poin do begin
           OX:= strtofloat(FloatToStrF((i*x),ffNumber,4,2));
           OY:= strtofloat(FloatToStrF((a*i*(1/sin(k*x))),ffNumber,4,2));
           ar[cc,1]:=OX;
           ar[cc,2]:=OY;
                end;     end;
      end;

на стадии выполнения ошибка
1 212,00 is not valid floatting  point value.


Сергей М.   (2008-12-18 08:38:00) [1]


> Tatb9na


Для сохранения и восстановления массива можно и удобно использовать, например, TMemoryStream или TFileStream ..


Германн   (2008-12-18 01:00:00) [2]


> Сергей М. ©   (17.12.08 23:07) [4]
>
> Последовательность действий напрашивается сама собой:
>
> 1. Расчитать данные и записать их в таблицу, роль которой
> выполняет массив.
> 2. По табличным данным, взятым из массива, построить график.
>
> 3. Записать содержимое массива в файл.
>

2 и 3 лучше поменять местами. Так будет логичнее, если нет задачи по графику  решать стоит ли эти данные сохранять в файл.


Tatb9na   (2008-12-17 23:38:00) [3]

вы правы: рассчитать данные, построить график, записать данные в файл, потом возможно по любым данным из лююого сохраненного файла построить график... записывать данные можно в любую структуру...


Сергей М.   (2008-12-17 23:07:00) [4]

Последовательность действий напрашивается сама собой:

1. Расчитать данные и записать их в таблицу, роль которой выполняет массив.
2. По табличным данным, взятым из массива, построить график.
3. Записать содержимое массива в файл.
4. Прочитать содержимое файла в массив.
5. Выполнить п. 2


Сергей М.   (2008-12-17 22:53:00) [5]


> построить график, записать данные в массив


Неужели задание прямо тот так и звучит - сначала расчитать значения и по ним построить график, потом вновьрасчитать те же самыезначения и записать их в массив ?

Или это твоя вольная интертрепация задания ?

Я к тому клоню, что вряд ли препод, каким бы он ни был, станет давать такую дурацкую вводную .. А именно это сейчас реализовано в твоем коде ..


Tatb9na   (2008-12-17 22:21:00) [6]

это я исправила. подскажите как мне эту легенду сохранить. я делаю так уже:
  begin
        for i:=0 to poin
             do begin
                   graf.Series1.AddXY(i*x, a*i*(1/sin(k*x)),'',clred);
       // end;
       for cr:=1 to poin do begin
          for cc:=1 to 2 do begin
             OX:= x*i;
             OY:= a*i*(1/sin(k*x));
             str(OX:5:2,S);
             str(OY:5:2,S1);

            ar[1,cr]:=S;
             ar[2,cr]:=S1;
                   end;
    end;        
for i1:=1 to poin do
                   for j:=1 to 2 do begin
                graf.stringgrid1.Cells[1,j]:=S;
                graf.stringgrid1.Cells[2,j]:=S1;
               end; end;
 
    end;


{RASkov}   (2008-12-17 20:31:00) [7]

> 1 212,00 is not valid floatting  point value.

Это результат работы FloatToStrF.... Т.е. обратно из строки, сформированной данной функцией, получить число нельзя.


Наверх

Титульная страница Поиск, карта сайта Написать письмо