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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 05.02.2008, 20:15   #1
Небесный
Зелень
Форумчанин
 
Аватар для Небесный
 
Регистрация: 03.02.2007
Сообщений: 302
По умолчанию Компонент Chart.

Ребята, вот с такой байдой столкнулся, нужно некий график, который имееться в Chart, бросить на печать, кто может подсказать, как это можно реализовать?
Небесный вне форума Ответить с цитированием
Старый 05.02.2008, 20:38   #2
SunKnight
Участник клуба Подтвердите свой е-майл
 
Аватар для SunKnight
 
Регистрация: 14.12.2007
Сообщений: 1,434
По умолчанию

Chart.Print; или нужно как то иначе вівести?
Проповедую design patterns, верую в MVC, доверяю eXtrime programming.
SunKnight вне форума Ответить с цитированием
Старый 05.02.2008, 20:54   #3
Небесный
Зелень
Форумчанин
 
Аватар для Небесный
 
Регистрация: 03.02.2007
Сообщений: 302
По умолчанию

А, можно более подробно, че за свойство.
И это еще, можно ли по оси "Х" заменить цыфры на месяцы года (1-12 = январь-декабрь ). И вот еще, я бы хотел еще отдельный текст добавить на распечатку, чтобы текст был под графиком.

Последний раз редактировалось Небесный; 05.02.2008 в 22:34.
Небесный вне форума Ответить с цитированием
Старый 06.02.2008, 06:23   #4
D@rk M@k
Пользователь
 
Аватар для D@rk M@k
 
Регистрация: 27.12.2007
Сообщений: 34
По умолчанию

Выложите код. Лучше показать чем писать тут сотни слов. А там дальше вы сами...
D@rk M@k вне форума Ответить с цитированием
Старый 06.02.2008, 08:16   #5
SERG1980
Участник клуба
 
Аватар для SERG1980
 
Регистрация: 28.03.2007
Сообщений: 1,814
По умолчанию

можно так

uses teeprevi
........
chartpreview(form1,chart1);
SERG1980 вне форума Ответить с цитированием
Старый 06.02.2008, 08:27   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
можно ли по оси "Х" заменить цыфры на месяцы года
Можно, для Axis определить формат Labels'ов
Цитата:
че за свойство.
Не свойство а метод
Цитата:
я бы хотел еще отдельный текст добавить на распечатку, чтобы текст был под графиком.
на вкладке Chart->Titles выбери в списке foot и пиши текст, он будет под низом
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 06.02.2008, 09:01   #7
Небесный
Зелень
Форумчанин
 
Аватар для Небесный
 
Регистрация: 03.02.2007
Сообщений: 302
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
на вкладке Chart->Titles выбери в списке foot и пиши текст, он будет под низом
Текста будем много, как минимум строчек 15, как переход по строкам идти в foot (например в мемо .лайнс).


Цитата:
Сообщение от Stilet Посмотреть сообщение
Можно, для Axis определить формат Labels'ов
Вроде полазил - ничего такого не увидел, чтобы сменить цыфры на месяца.
Небесный вне форума Ответить с цитированием
Старый 06.02.2008, 09:13   #8
Небесный
Зелень
Форумчанин
 
Аватар для Небесный
 
Регистрация: 03.02.2007
Сообщений: 302
По умолчанию

И еще вот код, для полного понимания о чем идет речь.
Код:
implementation
var
  x : integer;
  mas_y:array[0..12] of real;
{$R *.dfm}

procedure TForm1.FormActivate(Sender: TObject);
begin
  BitBtn1.Show;
  BitBtn2.Hide;
  BitBtn3.Hide;
  BitBtn4.Hide;
  BitBtn5.Hide;
  BitBtn6.Hide;
  BitBtn7.Hide;
  BitBtn8.Hide;
  BitBtn9.Hide;
  BitBtn10.Hide;
  BitBtn11.Hide;
  BitBtn12.Hide;
  Label1.Caption:='Введите сумму за январь месяц';
  Edit1.SetFocus;
end;

procedure TForm1.BitBtn1Click(Sender: TObject);
begin
  mas_y[1]:=StrToFloat(Edit1.Text);
  Label1.Caption:='Введите сумму за февраль месяц';
  Edit1.Text:='';
  Edit1.SetFocus;
  BitBtn2.Show;
  BitBtn1.Hide;
end;

procedure TForm1.BitBtn2Click(Sender: TObject);
begin
  mas_y[2]:=StrToFloat(Edit1.Text);
  Label1.Caption:='Введите ссуму за март месяц';
  Edit1.Text:='';
  Edit1.SetFocus;
  BitBtn3.Show;
  BitBtn2.Hide;
end;

procedure TForm1.BitBtn3Click(Sender: TObject);
begin
  mas_y[3]:=StrToFloat(Edit1.Text);
  Label1.Caption:='Введите сумму за апрель месяц';
  Edit1.Text:='';
  Edit1.SetFocus;
  BitBtn4.Show;
  BitBtn3.Hide;
end;

procedure TForm1.BitBtn4Click(Sender: TObject);
begin
  mas_y[4]:=StrToFloat(Edit1.Text);
  Label1.Caption:='Введите сумму за май месяц';
  Edit1.Text:='';
  Edit1.SetFocus;
  BitBtn5.Show;
  BitBtn4.Hide;
end;

procedure TForm1.BitBtn5Click(Sender: TObject);
begin
  mas_y[5]:=StrToFloat(Edit1.Text);
  Label1.Caption:='Введите сумму за июнь месяц';
  Edit1.Text:='';
  Edit1.SetFocus;
  BitBtn6.Show;
  BitBtn5.Hide;
end;

procedure TForm1.BitBtn6Click(Sender: TObject);
begin
  mas_y[6]:=StrToFloat(Edit1.Text);
  Label1.Caption:='Введите сумму за июль месяц';
  Edit1.Text:='';
  Edit1.SetFocus;
  BitBtn7.Show;
  BitBtn6.Hide;
end;

procedure TForm1.BitBtn7Click(Sender: TObject);
begin
  mas_y[7]:=StrToFloat(Edit1.Text);
  Label1.Caption:='Введите сумму за август месяц';
  Edit1.Text:='';
  Edit1.SetFocus;
  BitBtn8.Show;
  BitBtn7.Hide;
end;

procedure TForm1.BitBtn8Click(Sender: TObject);
begin
  mas_y[8]:=StrToFloat(Edit1.Text);
  Label1.Caption:='Введите сумму за сентябрь месяц';
  Edit1.Text:='';
  Edit1.SetFocus;
  BitBtn9.Show;
  BitBtn8.Hide;
end;

procedure TForm1.BitBtn9Click(Sender: TObject);
begin
  mas_y[9]:=StrToFloat(Edit1.Text);
  Label1.Caption:='Введите сумму за октябрь месяц';
  Edit1.Text:='';
  Edit1.SetFocus;
  BitBtn10.Show;
  BitBtn9.Hide;
end;

procedure TForm1.BitBtn10Click(Sender: TObject);
begin
  mas_y[10]:=StrToFloat(Edit1.Text);
  Label1.Caption:='Введите сумму за ноябрь месяц';
  Edit1.Text:='';
  Edit1.SetFocus;
  BitBtn11.Show;
  BitBtn10.Hide;
end;

procedure TForm1.BitBtn11Click(Sender: TObject);
begin
  mas_y[11]:=StrToFloat(Edit1.Text);
  Label1.Caption:='Введите сумму за декабрь месяц';
  Edit1.Text:='';
  Edit1.SetFocus;
  BitBtn12.Show;
  BitBtn11.Hide;
end;

procedure TForm1.BitBtn12Click(Sender: TObject);
var
 i:integer;
begin
  mas_y[12]:=StrToFloat(Edit1.Text);
  Label1.Caption:='Сейчас можно произвести печать';
  x:=0;
  mas_y[0]:=0;
  for i:=0 to 12 do
    begin
      Chart1.Series[0].AddXY(x,mas_y[i]);
      Chart1.Series[1].AddXY(x,mas_y[i]);
      inc(x);
    end;
  Edit1.Text:='';
end;

procedure TForm1.BitBtn15Click(Sender: TObject);
var
  i:integer;
begin
  BitBtn1.Show;
  BitBtn2.Hide;
  BitBtn3.Hide;
  BitBtn4.Hide;
  BitBtn5.Hide;
  BitBtn6.Hide;
  BitBtn7.Hide;
  BitBtn8.Hide;
  BitBtn9.Hide;
  BitBtn10.Hide;
  BitBtn11.Hide;
  BitBtn12.Hide;
  Label1.Caption:='Введите сумму за январь месяц';
  Edit1.SetFocus;
  x:=0;
  for i:=0 to 12 do
    mas_y[i]:=0;
  Edit1.Text:='';
  Edit1.SetFocus;
end;

procedure TForm1.BitBtn13Click(Sender: TObject);
begin
  //Chart1.PrintProportional:=false;
  Chart1.Print;
end;

end.
Небесный вне форума Ответить с цитированием
Старый 06.02.2008, 09:33   #9
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Текста будем много, как минимум строчек 15
Ну дык хоть мульйон в стрингах )
Код:
Chart1.Foot.Text.Add('Это первая строчка внизу');
Chart1.Foot.Text.Add('Это первая строчка внизу');
Chart1.Foot.Text.Add('Это первая строчка внизу');
Chart1.Foot.Text.Add('Это первая строчка внизу');
Chart1.Foot.Text.Add('Это первая строчка внизу');
Chart1.Foot.Text.Add('Это первая строчка внизу');
Вот если память не изменяет то подписи в нижней оси вырисовываются так: Chart1.BottomAxis.DrawAxisLabel()

Вот вспомнил что за отрисовку лабелей в осях отвечает событие OnGetAxisLabel
I'm learning to live...

Последний раз редактировалось Stilet; 06.02.2008 в 09:50.
Stilet вне форума Ответить с цитированием
Старый 06.02.2008, 11:15   #10
SERG1980
Участник клуба
 
Аватар для SERG1980
 
Регистрация: 28.03.2007
Сообщений: 1,814
По умолчанию

На счёт отображения даты по осям:
в режиме редактирования выбери закладку Siries далее General
установи галку DateTime на любой из осей.
SERG1980 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Опять Chart BigBB Помощь студентам 32 29.04.2008 22:41
Chart оси lenivec Общие вопросы Delphi 1 09.02.2008 11:37
И снова Chart SunKnight Общие вопросы Delphi 5 08.02.2008 11:58
Рисование в Chart SunKnight Общие вопросы Delphi 3 07.02.2008 09:16
компонент chart malevich Общие вопросы Delphi 3 04.02.2007 19:53