Графика в делфи

12 отговора 339 прегледа
#1

Графика в делфи

Привет на всички,
имам да правя програма за изследване на резонанс в трептящи системи.Програмата е почти готова но срещам трудност с графичното извеждане на крайните резултати които са оформени в табличен вид.Моля Ви да ми дадете идея как да се справя с това.Благодаря предварително!!!

Отговор
в отговор на j_dim #2

Re: Графика в делфи

Здравей!
Проблем ли е да експортираш резултатите в excel?
Освен това можеш да използваш стритг грид или да си измислиш нищо с лейбъли и линии и цикъл . Използвай въображението си.
Венцислав Александрийски
[линк]

Отговор
в отговор на j_dim #3

TeeChart

До колкото ти разбирам въпроса - искаш да направиш някаква диаграма на данните, а не да рисуваш нещо по-сложно, нали?
В Делфи има едно компонентче - TeeChart. Можеш да го ползваш за целта. Има ужасно много пропъртита. Сигурно в началото ще ти се завие свят, но иначе не е чак толкова сложно. А и в хелпа има много хубави примерчета. Казваш, че данните ти са в табличен вид. Ако са ти в някаква база - има и DB версия на TeeChart-а. С нея ще стане още по- лесно.

Ако неще се закучат работите - драсни тука и ще сглобим едно примерче.
Айде успех!

Отговор
в отговор на andrew_nikoloff #4

Re: TeeChart

Мдааа... в TeeChart-a е истината...

бтв, тоя компонент има ли някаква алтернатива?
Преди време го ползвах за нещо дребно и ей така, за спорта, търсих алтернатива и се оказа че нямаше нищо поне наполовина толкова изпипано... Не че търсих много, де...

Отговор
в отговор на v_automation #5

Re: Графика в делфи

Трябва да е в Делфи а и те са едни параболи мани ужасно е

Отговор
в отговор на andrew_nikoloff #6

Re: TeeChart

Problema e v tova 4e az ne programiram i mi vazlagat nesto za koeto i haber nqmam ili po-tochno imam ama mnogo beglo.

Отговор
в отговор на j_dim #7

Re: TeeChart

В такъв случай може би е по-добре ти да си начетраеш нещата.
Сложи си на формичката един PaintBox - там ще ти се покаже графиката. Върху него се чертае лесно. Ето ти едно примерче:

procedure TForm1.Button1Click(Sender: TObject);
var i: Integer;
begin
PaintBox1.Canvas.Pen.Color := clBlack;
PaintBox1.Canvas.MoveTo(0, 0);
for i := 1 to 100 do
PaintBox1.Canvas.LineTo(i, 2 * i);
end;

От тук нататък въпросът е предимно в математиката

Отговор
в отговор на andrew_nikoloff #8

Re: TeeChart

Виж имам таблица и от таз таблица трябва да се изведът резултатите графично.Резултата трябва да е парабола.Пробвам с TChart, но явно нещо не правя както трябва и не задавам нещо правилно.Това е

Отговор
в отговор на j_dim #9

Re: TeeChart

Ето драснах ти едно програмче за демонстрация, сложи един PaintBox и два бутона в празна форма и пейстни това :

unit parabolic;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls,Math, StdCtrls;

type
Table = array[0..180] of Single;//таблицата,
//на всеки индекс
//съответства стойност
TForm1 = class(TForm)
PaintBox1: TPaintBox;
Button1: TButton;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;
Points : Table ;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);

var I : Integer ;
const Freq : Single = 32 ;//честотата на синусоидата
amplit : Single = 100.0 ; //амплитудата
phase : Integer = 0 ; //фазата
begin
//запълване "таблицата" със стойности
for I := phase to 180 + phase do
Points[I-phase] := Sin(I/Freq)* amplit;

end;

procedure TForm1.Button2Click(Sender: TObject);
var i: Integer;
begin
PaintBox1.Canvas.Pen.Color := clBlack;
PaintBox1.Canvas.MoveTo(1, 1);
//чертаем параболата(пик от синусоидата)
for i := 0 to 180 do
begin
PaintBox1.Canvas.MoveTo(I-1,Round(Points[I-1])+100);
PaintBox1.Canvas.LineTo(I,Round(Points)+100);
end ;

end;

end.


Отговор
в отговор на Sury #10

Re: TeeChart

По дяволите този италик
Последния ред изглежда по-скоро така :

PaintBox1.Canvas.LineTo(I,Round(Points[ I ]) + 100);


Отговор
в отговор на Sury #11

Re: TeeChart

Dal mi meila si da ti pusnaprogramata.Drugo e kato se vidi taka mai nqma da stane da se obqsnim

Отговор
в отговор на j_dim #12

Re: TeeChart

Човече, аз нямам толкова свободно време колкото може би изглежда.
Освен това не съм толкова наясно с графиката на синусоиди и параболи колкото може би ти изглежда
Имайки това впредвид можеш да ми пратиш програмата, като те съветвам да не разчиташ много на отговор,срокове,оптимизация, четливост и т.н.

[email protected]

Отговор
в отговор на Sury #13

Re: TeeChart

ok znachi nqma smisal no ne stava s paint-a.ne iskam da te zatormozqwam za tova nqma da ti prastam nisto.

Отговор