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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 23.03.2009, 14:58   #1
xMass
Пользователь
 
Регистрация: 20.05.2008
Сообщений: 23
По умолчанию Delphi, почему не строит график?

Всем привет, прошу помощи

Вкраце код такой:
1)

var
y,x:real;
procedure TForm1.Button1Click(Sender: TObject);
begin

for x:=10 to 100 do
y:=x;
chart1.Series[0].AddXY(x,y);

end;
...

2)
var

E,b:integer;

procedure TForm1.Button1Click(Sender: TObject);
begin

for E:=10 to 100 do
b:=E;
Series1.AddXY(b,b+1,'',clBlack);

end;
...

Программа запускается, но график на Тчарте не вырисовывается.

Ещё несколько вопросиков:
3) Как можно построить график функции, длина которого очень большая, а именно:
[Sin(k1*d1)*(-k1)*Cos(k1*d1)/Cos(k1*(2*d1+d2))]*[(-k2)*exp(k2*d1)*exp((-k2)*(d1+d2))-exp(k2*(d1+d2))*k2*exp((-k2)*d1)]+
+[k1*Cos(k1*d1)*Sin(k1*d1)/Cos(k1*(2*d1+d2))]*[(-exp(k2*d1))*(-k2)*exp((-k2)*(d1+d2))+k2*exp(k2*(d1+d2))*exp ((-k2)*d1)]-
-[Sin(k1*d1)*Sin(k1*d1)/Cos(k1*(2*d1+d2))]*[(-k2)*exp(k2*d1)*(-k2)*exp((-k2)*(d1+d2))-k2*exp((-k2)*(d1+d2))*k2*exp((-k2)*d1)]-
-[k1*Cos(k1*d1)*(-k1)*Cos(k1-d1)/Cos(k1*(2*d1+d2))]*[(-exp(k2*d1))*exp((-k2)*(d1+d2))+exp(k2*(d1+d2))*exp((-k2)*d1)]

у меня из-за длины ,'',clBlack); снолсится на другую строчку и программа выдает ошибку на этот перенос

4) Есть ли исходник, который строит график определителя, у которого в ячейках стоят функции типа Sin Cos exp и др?

5) Как можно сделать в Delphi что-то вроде гипер ссылки, т.е. когда нажимаю на слово, чтобы открывалось окошко с текстом(ну или не гипер ссылка для текста, например, чтобы сворачивался весь текст в одну строчку, типа спойлера) или какая-нибудь картинка.

6) Например, человек садиться, запускает программу. Перед ним 3 пункта с некоторыми словами, человек нажимает на первую запускается одна программа, на второую вторая, на третию третяя программа. Можно ли так сделать, если можно, то как?

Заранее огромное спасибо!

На всякий полный текст программы для первых двух вопросов:
Код:
unit xxx;

interface

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

type
  TForm1 = class(TForm)
    Chart1: TChart;
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    Series1: TFastLineSeries;
    Series2: TFastLineSeries;
    Series3: TLineSeries;
    TeeFunction1: TLowTeeFunction;
    Edit1: TEdit;
    Button4: TButton;
    Edit2: TEdit;
    Edit3: TEdit;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  j,k,E,b:integer;
  d1,d2,k1,k2,U:extended;
  //b:extended;
  y,x:real;
implementation

{$R *.dfm}

procedure TForm1.Button4Click(Sender: TObject);
begin
d1:=StrToFLoat(edit1.text);
d2:=StrToFloat(edit2.text);
U:=StrToFloat(edit3.text);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin

//k1:=sqrt(E*(3.2));
//k2:=sqrt((U-E)*(3.2));

for E:=10 to 100 do
b:=E;
Series1.AddXY(b,b+1,'',clBlack);
//y:=x;
//chart1.Series[0].AddXY(x,y);

for j:=-10 to 10 do
Series2.AddXY(j,0,'',clBlack);

for k:=-100 to 100 do
Series3.AddXY(0,k,'',clBlack);

end;

procedure TForm1.Button2Click(Sender: TObject);
begin
//Series1.Clear;
//Series1.Delete(0);
Chart1.ZoomPercent(80.0);
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
           Chart1.ZoomPercent(120.0);
end;




end.
xMass вне форума Ответить с цитированием
Старый 23.03.2009, 15:30   #2
DomiNick
Студент, не
Старожил
 
Аватар для DomiNick
 
Регистрация: 29.01.2009
Сообщений: 2,067
По умолчанию

Попробуй так:
Код:
Procedure TForm1.Button1Click(Sender: TObject);
Var y, x: Integer;
Begin
For x:=0 To 100 Do
      Begin
      y:=x+y;
      Chart1.Series[0].AddXY(x,y);
      End;
End;
I am the First of Cyber Evolution...
I am the First to Program your Future...
DomiNick вне форума Ответить с цитированием
Старый 23.03.2009, 15:38   #3
xMass
Пользователь
 
Регистрация: 20.05.2008
Сообщений: 23
По умолчанию

ничего не появилось
xMass вне форума Ответить с цитированием
Старый 23.03.2009, 15:42   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Тогда прикрепи весь проект сюда, чтоб можно было посмотреть что ты там накуролесил.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 23.03.2009, 18:58   #5
xMass
Пользователь
 
Регистрация: 20.05.2008
Сообщений: 23
По умолчанию

На всякий полный текст программы для первых двух вопросов:

Код:

...
В первом сообщении, я ж прекрипил
xMass вне форума Ответить с цитированием
Старый 23.03.2009, 19:13   #6
XuTpbIu
Злобстер
Форумчанин
 
Аватар для XuTpbIu
 
Регистрация: 19.03.2009
Сообщений: 134
По умолчанию

И вот сложно же людям весь проект выложить. Мы больше проект создавать будем и выкладывать на форму компоненты, чем ты выложишь нам исходники сам.
От знаний ещё никто не умирал, но рисковать не стоит.
XuTpbIu вне форума Ответить с цитированием
Старый 23.03.2009, 19:14   #7
xMass
Пользователь
 
Регистрация: 20.05.2008
Сообщений: 23
По умолчанию

Аа, тфу, перепутал, извиняюсь, перепутал проект с кодом, стыдно, щя))

http://rapidshare.de/files/46293249/ok_version.rar.html
Вот

Последний раз редактировалось Stilet; 24.03.2009 в 08:29.
xMass вне форума Ответить с цитированием
Старый 24.03.2009, 05:18   #8
DENCREAT
Пользователь
 
Регистрация: 20.03.2009
Сообщений: 32
По умолчанию

а вот нельзя полностью проект выложить??? где файл *.pas???????
DENCREAT вне форума Ответить с цитированием
Старый 24.03.2009, 18:21   #9
xMass
Пользователь
 
Регистрация: 20.05.2008
Сообщений: 23
По умолчанию

http://rapidshare.de/files/46314982/Laba1.rar.html
вот, запихнул все что есть
xMass вне форума Ответить с цитированием
Старый 27.03.2009, 18:07   #10
DomiNick
Студент, не
Старожил
 
Аватар для DomiNick
 
Регистрация: 29.01.2009
Сообщений: 2,067
По умолчанию

В архиве есть скомпилированный проект "Laba1\Laba1Project.exe", который прекрасно работает...
Но исходников от него почему-то нету...

Кстати у тебя там не два разных проекта, а как бы "полтора" - Оба проекта используют одну форму на двоих...
Так что папку "Laba1\ok version" можно удалять...

График "Series1.AddXY(b, b+1, '', clBlack);" не строится потому что во-первых надо писать как я уже говорил:
Код:
For x:=0 To 100 do
      Begin
      b:=E;
      Series1.AddXY(b, b+1, '', clBlack);
      y:=x+y;
      Chart1.Series[0].AddXY(x, y);
      End;
А во-вторых ты нигде не присваивал значение переменной "E" и она равна нулю... После строчки "b:=E;" переменная "b" также становится равной нулю... И получается, что программа просто ставит сто раз точку (0, 1)... Чему должно равняться "E"..? И как "b" должна от неё зависить (во всяком случае не "b:=E;")..?

И вообще, почему половина кода закоментирована..?
I am the First of Cyber Evolution...
I am the First to Program your Future...
DomiNick вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
график(Delphi) 2009 Помощь студентам 3 20.03.2009 15:37
почему медленно строится график в TChartFX? Umnik1 Компоненты Delphi 1 03.12.2008 19:18
Delphi ->Excel->График по таблице->Delphi Avalonix БД в Delphi 2 30.10.2008 14:04
3D график в Delphi AVer Мультимедиа в Delphi 9 17.10.2008 07:04
Программа строит неправильный график xMass Помощь студентам 7 06.06.2008 19:04