Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > C++ Builder
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.11.2011, 22:14   #1
iKarma
Кипучий чайник
Пользователь
 
Регистрация: 17.10.2011
Сообщений: 55
По умолчанию Графики с использованием С++ builder

Пишу программу на C++ чтобы по заданным точкам рисовала график и возникла такая проблема - странная ошибка при выполнении. Не могу разобраться. Помогите плиз =)
Код:
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
//---------------------------------------------------------------------------
#include "Unit1.h"
#include "Math.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma link "trayicon"
#pragma link "CSPIN"
#pragma resource "*.dfm"
TMainForm *MainForm;
//---------------------------------------------------------------------------
__fastcall TMainForm::TMainForm(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::ButtonRunClick(TObject *Sender)
{
  if (CheckBoxFunction -> Checked == True)
  {
    int Y1, Y2, X;
    for (X = -10; X < 11; X++)
    {
      Y1 = -X*X;
      Y2 = X*X;
      Series1 -> Add(Y1, X);
      Series1 -> Add(Y2, X);
    }
  }
  else
  {
    int i, j, N;
    N = StrToInt(CSpinEditPoints -> Text);
    StringGridPoints -> RowCount = N + 1;
    for (i = 1; i < StrToInt(CSpinEditPoints -> Text) + 1; i++)
      StringGridPoints -> Cells[0][i] = IntToStr(i);
    int A[100][100];
    for (i = 1; i < 3; i++)
    {
      for (j =1; j < N + 1 +1; j++)
        {
          A[i][j] = StrToInt(StringGridPoints -> Cells[i][j]);
          Series2 -> Add(A[i][j]);
        }
    }
  }
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::FormCreate(TObject *Sender)
{
  StringGridPoints -> Cells[0][0] = '№';
  StringGridPoints -> Cells[1][0] = 'Y';
  StringGridPoints -> Cells[2][0] = 'X';
  CSpinEditPoints -> Text = 3;
  StringGridPoints -> RowCount = 4;
  int i;
  for (i = 1; i < StrToInt(CSpinEditPoints -> Text) + 1; i++)
    StringGridPoints -> Cells[0][i] = IntToStr(i);
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::Button1Click(TObject *Sender)
{
  StringGridPoints -> RowCount = StrToInt(CSpinEditPoints -> Text) + 1;        
}
//---------------------------------------------------------------------------
В прикрепленном файле проект.
Вложения
Тип файла: zip График.zip (1.08 Мб, 7 просмотров)
iKarma вне форума Ответить с цитированием
Старый 21.11.2011, 12:07   #2
nick42
Форумчанин
 
Аватар для nick42
 
Регистрация: 14.10.2011
Сообщений: 267
По умолчанию

Ваш проект, простите, я не смотрел, но некоторые ошибки видны сразу. Так, Series->Add имеет не такую структуру. В параметрах - Y, "МЕТКА", цвет. То-есть в Вашем случае что-то типа Series1-> Add(Y1,"red_Y1", clRed); . И ещё, - таблица у Вас заполнена не полностью и такая конструкция
A[i][j] = StrToInt(StringGridPoints -> Cells[i][j]); скорее всего вызовет ошибку.
Безопаснее использовать другую форму:
A[i][j] = StringGridPoints -> Cells[i][j].ToIntDef(0) ; здесь тоже преобразование строки
в целое, но в случае неуспеха берётся дефолтовое значение (0), которое мы определяем.
nick42 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
CodeGear C++ Builder 2007 Lite не может откомпилировать исходники C++ Builder 6 Ecosasha C++ Builder 2 22.11.2013 15:02
Отображение графики в Builder 6.0 через Canvas M0rf Общие вопросы C/C++ 0 19.06.2010 03:01
как создать базу данных в builder c++ с использованием stringgrid boris2010 C++ Builder 1 15.03.2010 09:54
C++ Builder Как строить динамичные графики? Yakker C++ Builder 1 23.10.2008 00:46
Вывод графики с использованием отображаемых файлов Евгения Общие вопросы Delphi 1 20.02.2007 20:37