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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 23.11.2009, 21:16   #1
sinobithug
Пользователь
 
Регистрация: 14.06.2009
Сообщений: 63
По умолчанию Изменение диаграммы по таблице.

Нужно сделать так чтобы при изменении таблицы изменялась диаграмма.



Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Menus, OleCtrls, VCFI, Grids, StdCtrls, TeEngine, Series,
  ExtCtrls, TeeProcs, Chart;

type
  TForm1 = class(TForm)
    StringGrid1: TStringGrid;
    MainMenu1: TMainMenu;
    N1: TMenuItem;
    N2: TMenuItem;
    N3: TMenuItem;
    N4: TMenuItem;
    N5: TMenuItem;
    N6: TMenuItem;
    N7: TMenuItem;
    Edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Chart1: TChart;
    Series1: TBarSeries;
    Series2: TBarSeries;
    Series3: TBarSeries;
    procedure N3Click(Sender: TObject);
    procedure N2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.N3Click(Sender: TObject);
begin
Chart1.Visible:=true;


end;

procedure TForm1.N2Click(Sender: TObject);
 Var
x,y,z:real;
begin
x:=StrToFloat(Edit1.Text);
y:=StrToFloat(Edit2.Text);
z:=StrToFloat(Edit3.Text);
StringGrid1.Visible:=true;
Stringgrid1.Cells[1, 1]:=FloatToStr(x);
Stringgrid1.Cells[1, 2]:=FloatToStr(x+y);
Stringgrid1.Cells[1, 3]:=FloatToStr(x+y+y);
Stringgrid1.Cells[1, 4]:=FloatToStr(x+y+y);
Stringgrid1.Cells[2, 1]:=FloatToStr(x+z);
Stringgrid1.Cells[2, 2]:=FloatToStr(x+z);
Stringgrid1.Cells[2, 3]:=FloatToStr(x+y);
Stringgrid1.Cells[2, 4]:=FloatToStr(x+y+y);
Stringgrid1.Cells[3, 1]:=FloatToStr(x+z+z);
Stringgrid1.Cells[3, 2]:=FloatToStr(x+z);
Stringgrid1.Cells[3, 3]:=FloatToStr(x);
Stringgrid1.Cells[3, 4]:=FloatToStr(x+y);
Stringgrid1.Cells[4, 1]:=FloatToStr(x+z+z+z);
Stringgrid1.Cells[4, 2]:=FloatToStr(x+z+z);
Stringgrid1.Cells[4, 3]:=FloatToStr(x+z);
Stringgrid1.Cells[4, 4]:=FloatToStr(x);
end;

end.

Последний раз редактировалось sinobithug; 23.11.2009 в 21:18.
sinobithug вне форума Ответить с цитированием
Старый 23.11.2009, 21:22   #2
Neeter
Форумчанин
 
Аватар для Neeter
 
Регистрация: 22.02.2009
Сообщений: 875
По умолчанию

Ну а что вам мешает в событие onChange у StringGrid'а добавить код обновления диаграммы?
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство.
Neeter вне форума Ответить с цитированием
Старый 23.11.2009, 21:24   #3
sinobithug
Пользователь
 
Регистрация: 14.06.2009
Сообщений: 63
По умолчанию

код обновления диаграммы?
Какой код?
sinobithug вне форума Ответить с цитированием
Старый 23.11.2009, 21:34   #4
sinobithug
Пользователь
 
Регистрация: 14.06.2009
Сообщений: 63
По умолчанию

И у StringGridа нет событитя onChange.
sinobithug вне форума Ответить с цитированием
Старый 23.11.2009, 21:38   #5
Neeter
Форумчанин
 
Аватар для Neeter
 
Регистрация: 22.02.2009
Сообщений: 875
По умолчанию

Цитата:
И у StringGridа нет событитя onChange.
Да, нету такого события, onSetEditChange.

А что насчет кода, то, что вам надо? какую диаграмму? я не понимаю.
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство.
Neeter вне форума Ответить с цитированием
Старый 23.11.2009, 21:59   #6
sinobithug
Пользователь
 
Регистрация: 14.06.2009
Сообщений: 63
По умолчанию

onSetEditChange.

onSetEditText.


какую диаграмму?
Chart
sinobithug вне форума Ответить с цитированием
Старый 23.11.2009, 22:05   #7
Neeter
Форумчанин
 
Аватар для Neeter
 
Регистрация: 22.02.2009
Сообщений: 875
По умолчанию

Цитата:
onSetEditChange.

onSetEditText.
Да, снова описался, без Delphi сижу.

Код обновления диаграммы сказать не могу.
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство.
Neeter вне форума Ответить с цитированием
Старый 23.11.2009, 23:03   #8
sinobithug
Пользователь
 
Регистрация: 14.06.2009
Сообщений: 63
По умолчанию

Chart1.Refresh неработаеи.
sinobithug вне форума Ответить с цитированием
Старый 11.06.2013, 03:15   #9
KSIva
Новичок
Джуниор
 
Регистрация: 03.06.2013
Сообщений: 1
По умолчанию

DBChart1.RefreshData; - вот это работает точно! я на кнопку батон ставила.
Кстати попробовав на edit onchange (после сортировки) обновляет диаграмму сразу же

Последний раз редактировалось KSIva; 11.06.2013 в 03:19.
KSIva вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вычисляемое поле в таблице ACCESS, создать вычисляемое поля в таблице аксес artlayers Microsoft Office Access 2 04.11.2009 19:29
Слияние шаблона с данными из таблице, и как подсичтать значение количества полей в таблице n4ela Microsoft Office Access 3 07.03.2009 12:04
Изменение данных в таблице access AD_min БД в Delphi 2 27.10.2008 12:23
Автоматическое изменение количества строк в таблице THE_ENGINEER Microsoft Office Excel 7 19.10.2008 21:28
Изменение пути к таблице .dbf Tanuska___:) БД в Delphi 16 22.04.2008 15:52