Модераторы: Poseidon, Snowy, bems, MetalFan

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Вывод графика, Стандартными средствами Delphi 
:(
    Опции темы
ST_Falcon
Дата 13.2.2005, 01:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 330
Регистрация: 14.11.2003
Где: Львов

Репутация: нет
Всего: 1



Кто пробовал делать сабж? Через TGraph или еще как. Мне просто нужно временную диаграму вывести... Так не хочется на канве все рисовать...
PM MAIL ICQ   Вверх
MacTep
Дата 13.2.2005, 02:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1292
Регистрация: 4.8.2003
Где: г. Самара

Репутация: 4
Всего: 4



Можно сделать при помощи TChart. Об этом есть в DRKB


--------------------
(A)bort, (R)etry, (I)gnore = Haфиг, Heфиг, Пoфиг ... :)
PM MAIL   Вверх
ST_Falcon
Дата 13.2.2005, 02:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 330
Регистрация: 14.11.2003
Где: Львов

Репутация: нет
Всего: 1



MacTep
Цитата
DRKB

Это что? Если можно покажите плиз кусок кода.
PM MAIL ICQ   Вверх
Zero
Дата 13.2.2005, 04:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2169
Регистрация: 23.10.2004
Где: Россия, г. Рязань

Репутация: 8
Всего: 24



Вообщем бросаешь на форму компонент TChart, он находится во вкладке Additional.
Потом щёлкаешь на нём правой кнопкой мыши, в открывшемся контекстном меню выбтраешь Edit Chart, в новом окне выбираешь тип графика, например Bubble.
Вообщем всё сохраняешь и потом в окне кода, напиши например так (на кнопку):
Код

procedure TForm1.Button1Click(Sender: TObject);
var
 x,y:integer;
begin
for x:=-100 to 100 do
 begin
   y:=sqr(x);  //График Парабола
   chart1.SeriesList[0].AddXY(x,y,'',clred);
 end;
end;


PM MAIL ICQ   Вверх
Vit
Дата 13.2.2005, 07:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Vitaly Nevzorov
****


Профиль
Группа: Экс. модератор
Сообщений: 10964
Регистрация: 25.3.2002
Где: Chicago

Репутация: 48
Всего: 207



Цитата(ST_Falcon @ 12.2.2005, 17:36)
Цитата
DRKB


Это что?



http://www.drkb.ru


--------------------
With the best wishes, Vit
I have done so much with so little for so long that I am now qualified to do anything with nothing
Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru
PM MAIL WWW ICQ   Вверх
ST_Falcon
Дата 14.2.2005, 01:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 330
Регистрация: 14.11.2003
Где: Львов

Репутация: нет
Всего: 1



Сейчас попробую. Заранее всем благодарен smile
PM MAIL ICQ   Вверх
asset_s
Дата 17.2.2005, 10:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 12
Регистрация: 17.2.2005

Репутация: нет
Всего: нет



Здраствуите!
Как мне изменить размер TImage мышкои как на delphi во времы разработки
PM MAIL   Вверх
_hunter
Дата 17.2.2005, 15:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 8564
Регистрация: 24.6.2003
Где: Europe::Ukraine:: Kiev

Репутация: 15
Всего: 98



налепи его на панель а панель подопри сплиттером и дергай за него


--------------------
Tempora mutantur, et nos mutamur in illis...
PM ICQ   Вверх
ST_Falcon
Дата 19.2.2005, 13:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 330
Регистрация: 14.11.2003
Где: Львов

Репутация: нет
Всего: 1



Все получилось. smile Еще есть вопрос как в коде подписи к осям и интервалам вывести.
PM MAIL ICQ   Вверх
Zero
Дата 20.2.2005, 16:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2169
Регистрация: 23.10.2004
Где: Россия, г. Рязань

Репутация: 8
Всего: 24



Цитата(ST_Falcon @ 19.2.2005, 13:59)
Еще есть вопрос как в коде подписи к осям и интервалам вывести.

Не совсем понятно написано, но подписи к осям можно делать в 3-ем параметре моего кода, во 2-ой строке основного кода. Сейчас по умолчанию стоит '', т.е. пусто.
PM MAIL ICQ   Вверх
ST_Falcon
Дата 21.2.2005, 00:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 330
Регистрация: 14.11.2003
Где: Львов

Репутация: нет
Всего: 1



Zero
нужно выводить засечки на осях через определенные интервлы:
типа 1, 2, 3 и т.д.
и подписи к осям:
типа ось х "T ©"
для обоих осей.
PM MAIL ICQ   Вверх
Александра
Дата 21.2.2005, 00:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 219
Регистрация: 20.2.2005
Где: Москва

Репутация: 7
Всего: 12



ST_Falcon
рисуешь виртуально ф-ию синуса и где она пересекается с осью X, ставь отметку и подпись
--------------------
PM   Вверх
ST_Falcon
Дата 23.2.2005, 17:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 330
Регистрация: 14.11.2003
Где: Львов

Репутация: нет
Всего: 1



Александра
я сделал через остаток на деление... типа if (x mod 1000 = 0) then ...
а как к оси У засечки сделать?
и еще вопрос. как это все напечатать?
у меня есть текст в Мемо и этот график. Теперь вот эще и друк надо сделать....
smile

Это сообщение отредактировал(а) ST_Falcon - 23.2.2005, 17:10
PM MAIL ICQ   Вверх
Александра
Дата 23.2.2005, 23:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 219
Регистрация: 20.2.2005
Где: Москва

Репутация: 7
Всего: 12



ST_Falcon
лучше через синус имхо, с масштабированием меньше проблем... вот пример:

Код
procedure TForm1.FormPaint(Sender: TObject);

 procedure line(const x1, y1, x2, y2: integer);
 begin
   with canvas do begin
     moveto(x1, y1);
     lineto(x2, y2)
   end
 end;

const k = 5; // коефициент масштабирования
var x1, x2, y1, y2, ox, oy, s: integer;
     x: real;
begin
 x1 := 50; x2 := 250;
 y1 := 50; y2 := 250;

 canvas.brush.color := clBlack;
 canvas.FillRect(rect(x1, y1, x2, y2));

 ox := x1 + (y2-y1) div 2;
 oy := y1 + (x2-x1) div 2;

 with canvas do begin
   pen.Color := clGreen;

   font.color := clRed;
   font.name := 'tahoma';
   font.size := 8;

   // OX
   line(x1, oy, x2, oy);
   line(x2-10, oy - 3, x2, oy);
   line(x2-10, oy + 3, x2, oy);

   // OY
   line(ox, y1, ox, y2);
   line(ox - 3, y1 + 10, ox, y1);
   line(ox + 3, y1 + 10, ox, y1);

   // text
   TextOut(x2 - 10, ox + 5, 'x');
   TextOut(oy + 10, y1, 'y');
   TextOut(oy - 10, ox + 5, '0');

   // отметки
   x := -20;
   while x <= 20 do begin
     s := round(sin(x)*k);
     if oy-s = oy then Pixels[ox+round(x*k), oy-s] := clRed;
     if oy-s = ox then Pixels[oy-s, ox+round(x*k)] := clRed;
     x := x + 0.01
   end
 end
end;


Это сообщение отредактировал(а) Александра - 23.2.2005, 23:49
--------------------
PM   Вверх
ST_Falcon
Дата 24.2.2005, 19:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 330
Регистрация: 14.11.2003
Где: Львов

Репутация: нет
Всего: 1



Александра
Мне маштабирование не нужно... там статическая шкала будет. а вот подписи...
И как его на печать вывести??? smile
PM MAIL ICQ   Вверх
Страницы: (3) Все [1] 2 3 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.3163 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.