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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 27.02.2011, 19:09   #1
radiokarazinec
Пользователь
 
Регистрация: 13.12.2010
Сообщений: 47
По умолчанию график не строится...посмотрите баги ...я не спамлю..прост очень горит

нужно построить график
вот код программы:
Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Buttons, ExtCtrls, TeeProcs, TeEngine,Series, Chart;

type
  TForm1 = class(TForm)
    ListBox1: TListBox;
    ListBox2: TListBox;
    Button1: TButton;
    Chart1: TChart;
    BitBtn1: TBitBtn;
    procedure Button1Click(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

const
  Delim='    ';


var
  Form1: TForm1;


implementation

{$R *.dfm}
var
Arr1,arr2:array of string;


function FirstToArr1(s:string):string;
begin
  //Копируем первую часть строки
Result:=Copy(s,1,AnsiPos(Delim,s)-1);
end;

function secondToArr2(s:string):string;
begin
  //Удаляем первую часть строки + делтель, остальное в результат
System.Delete(s, 1, AnsiPos(Delim, s)+3);
Result:=s;
end;

procedure Inpup;
var
  i:Integer;
begin
for i:=5 to 45 do
begin
Form1.ListBox1.Items.Add(Arr1[i]);
Form1.ListBox2.Items.Add(Arr2[i]);
end;
Form1.ListBox1.Items.SaveToFile('1.txt');
Form1.ListBox2.Items.SaveToFile('2.txt');
end;



procedure TForm1.Button1Click(Sender: TObject);
var
  ts:TStringList;
  i:Integer;
  myDir:string;
begin
  myDir:=ExtractFilePath(ParamStr(0));
  ts:=TStringList.Create;
  try
  ts.LoadFromFile(myDir+'Data.txt');
  for i:=0 to ts.Count -1 do
  begin
    //Заполняем массивы
  Arr1[i]:=FirstToArr1(ts.Strings[i]);
  Arr2[i]:=secondToArr2(ts.Strings[i]);
  end;
  Inpup;
  finally
  ts.Free;
  end;
end;






procedure TForm1.BitBtn1Click(Sender: TObject);////ЭТА КНОПКА ОТВЕЧАЕТ ЗА ПОПОСТРОЕНИЕ ГРАФИКА
var
a,b : array of extended;
    i:integer;
    Line : TLineSeries;
begin
for i:=0 to 44 do
a[i]:=StrToFloat(Arr1[i]);
b[i]:=StrToFloat(Arr2[i]);
Chart1.SeriesList.Clear;
Line := TLineSeries.Create(Chart1);
Line.AddXY(a,b);
//Line.AddArray(b[high(b)]);
Line.LinePen.Color := clBlue;
Line.LinePen.Width := 2;
Chart1.AddSeries(Line);
end;
//Chart1. Series[1].Add(a[high(a)]);
//Chart1. Series[1].Add(b[high(b)]);



end
у меня есть два ListBox, Chart, и кнонки, при нажатии на кнопку Data в ListBox появляются данные и вот по этим данным мне надо построить график. из одного бокса по точки оси X? из другого по Y. ТАМ В КОДЕ У МЕНЯ ЕЩЕ ИЗ КАЖДОГО ListBoxa записывает значения в 2 текстовых файла. НО есть у меня КАКАЯ-ТО ЗАПАРА НЕ ХОЧЕТ СТРОИТЬ ТО КАКИЕ-ТО ОШИБКИ ВЫДАЕТ. ДО КНОПКИ ПОСТРОЕНИЯ ГРАФИКА ВРОДЕ БЫ КАК ВСЕ РАБОТАЕТ НОРМАЛЬНО...ПОДСОБИТЕ ПЛИЗ ЧТОБЫ ЗАРАБОТАЛО И ПОСТРОИЛО ГРАФИК
ВОТ ЕСЛИ ЧТО ССЫЛКА НА ФАЙЛ
http://ifolder.ru/22136473
Вложения
Тип файла: rar Primer.rar (238.0 Кб, 7 просмотров)

Последний раз редактировалось radiokarazinec; 27.02.2011 в 19:48.
radiokarazinec вне форума Ответить с цитированием
Старый 27.02.2011, 19:14   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Какие ошибки? на какой строке? Почему не прикрепил архив с проектом сюда?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 27.02.2011, 19:55   #3
radiokarazinec
Пользователь
 
Регистрация: 13.12.2010
Сообщений: 47
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Какие ошибки? на какой строке? Почему не прикрепил архив с проектом сюда?
да вот такие
[Ошибка] Unit1.pas(105): Incompatible types: 'Double' and 'dynamic array'\
ну вот такая, а если там ставишь не a,b а a[i],b[i] то
выскакивает окно Debugger Exception Notification, топ по ходу потому что у меня до этого массивы состоят из строк, а для графика же надо integer? подсоби чтоб он строил, если не тяжело....
radiokarazinec вне форума Ответить с цитированием
Старый 28.02.2011, 00:12   #4
ArtGrek
DelphiProger
Участник клуба
 
Аватар для ArtGrek
 
Регистрация: 14.11.2010
Сообщений: 1,023
По умолчанию

есть такая функция IntToStr, пользуися еи иногда
Код:
var
Arr1,arr2:array of integer;
...
    //Заполняем массивы
  Arr1[i]:=FirstToArr1(ts.Strings[i]);
  Arr2[i]:=secondToArr2(ts.Strings[i]);
...
function FirstToArr1(s:string):integer;
begin
  //Копируем первую часть строки
Result:=Copy(s,1,AnsiPos(Delim,s)-1);
end;

function secondToArr2(s:string):integer;
begin
  //Удаляем первую часть строки + делтель, остальное в результат
System.Delete(s, 1, AnsiPos(Delim, s)+3);
Result:=s;
end;
что б ты мог пользоваца координатами делаи их числами и на их основе строи, а для того что б занести в мемо переводи в строки StrToInt
VirusN13
ArtGrek вне форума Ответить с цитированием
Старый 28.02.2011, 05:27   #5
Sibedir
Тот ещё
Старожил
 
Аватар для Sibedir
 
Регистрация: 14.11.2007
Сообщений: 2,281
По умолчанию

Вы забыли, что под динамические массивы нужно выделять память
Код:
procedure TForm1.BitBtn1Click(Sender: TObject);////ЭТА КНОПКА ОТВЕЧАЕТ ЗА ПОПОСТРОЕНИЕ ГРАФИКА
var
a,b : array of extended;
    i:integer;
    Line : TLineSeries;
begin
SetLength (a, 45);
SetLength (b, 45);
for i:=0 to 44 do
...
Sibedir вне форума Ответить с цитированием
Старый 28.02.2011, 08:25   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Цитата:
Line.AddXY(a,b);
Бока. Нельзя так просто в этот метод массив передавать.
Пиши как минимум:
Код:
Line.AddXY(a[i],b[i]);
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Так ли прост SmallTalk? docbrain Свободное общение 10 21.02.2010 03:34
почему медленно строится график в TChartFX? Umnik1 Компоненты Delphi 1 03.12.2008 19:18