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

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

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

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

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

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

Цитата:
Сообщение от Stilet Посмотреть сообщение
Ну дык хоть мульйон в стрингах )
Код:
Chart1.Foot.Text.Add('Это первая строчка внизу');
Chart1.Foot.Text.Add('Это первая строчка внизу');
Chart1.Foot.Text.Add('Это первая строчка внизу');
Chart1.Foot.Text.Add('Это первая строчка внизу');
Chart1.Foot.Text.Add('Это первая строчка внизу');
Chart1.Foot.Text.Add('Это первая строчка внизу');
OnGetAxisLabel
Эх, ребята, к сожалению, не подходит мне выводить свой текст в низу Chart.
Может кто идею подбросит, у меня есть текст, пофиг, где он и как он, мне нужно вывести информацию при печати, в программе эта инфа и нафиг не нужна. Тоесть, нужно вывести только при печати, график распечатало вверху страницы, а под ним весь текст. (И еще, как сделать, чтобы график печатался в верху страницы а не по середине).
Небесный вне форума Ответить с цитированием
Старый 07.02.2008, 08:27   #12
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Лентяй.
Пробуй так:

Код:
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    PrintDialog1: TPrintDialog;
    Button1: TButton;
    Chart1: TChart;
    Series1: TLineSeries;
    procedure Button1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var tg:TBitmap;
begin
tg:=TBitmap.Create;
tg.Width:=Chart1.Width;
tg.Height:=Chart1.Height;
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.Align:=alClient;
Chart1.BringToFront;
BitBlt(tg.Canvas.Handle,0,0,tg.Width,tg.Height,Chart1.Canvas.ReferenceCanvas.Handle,0,0,SRCCOPY);
PrintDialog1.Execute;
Printer.BeginDoc;
Printer.Canvas.Draw(0, 0, {Form1.GetFormImage}tg);
Printer.Canvas.StretchDraw(Printer.Canvas.ClipRect, form1.GetFormImage);
Printer.EndDoc;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
Series1.AddArray([1,2,3,4,4]);

end;

end.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 07.02.2008, 09:05   #13
SERG1980
Участник клуба
 
Аватар для SERG1980
 
Регистрация: 28.03.2007
Сообщений: 1,814
По умолчанию

procedure TForm1.Button1Click(Sender: TObject);
begin
if form1.PrinterSetupDialog1.Execute then
begin
printer.BeginDoc;
chart1.PrintPartial(rect(10,10,prin ter.PageWidth-1 ,printer.PageHeight div 3));
printer.Canvas.TextOut(60,printer.P ageHeight div 3+10,'Комментарии к графику');
printer.EndDoc;
end;
end;

или через FastReport
SERG1980 вне форума Ответить с цитированием
Старый 08.02.2008, 08:25   #14
Небесный
Зелень
Форумчанин
 
Аватар для Небесный
 
Регистрация: 03.02.2007
Сообщений: 302
По умолчанию

Тормознул на одной вещи, мож кто подскажет:
Можно ли открывать форму командой Form2.Show;
Она открываеться, но при закрытии формы, выдает ошибку:
"Project Project1.exe raised exseption class EInvalidOperation with message
'Cannot focus a disabled or invisible window'. Process stopped. Use Steo or Run
to continue."
И еще вопросик, как можно сохранить рисунок с Чарта в файл?
Chart1.BackImage - ???

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

Цитата:
Можно ли открывать форму командой Form2.Show;
Можно.
Цитата:
как можно сохранить рисунок с Чарта в файл?
Chart1.BackImage.SaveToFile(); ты конкретно про этот метод спрашиваешь?

Если ты в принципе спрашиваеш то можно так:
Код:
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    Chart1: TChart;
    Series1: TLineSeries;
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var t:TBitmap;
begin
t:=TBitmap.Create;
t.Width:=Chart1.Width;
t.Height:=Chart1.Height;
BitBlt(t.Canvas.Handle,0,0,t.Width,t.Height,Canvas.Handle,Chart1.Left,Chart1.Top,SRCCOPY);
t.SaveToFile('c:\temp\qq.bmp');

end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  Series1.AddArray([10,1,10]);

end;

end.
Я не скажу что это наилучший вариант, но он не так уж и плох
I'm learning to live...

Последний раз редактировалось Stilet; 08.02.2008 в 09:08.
Stilet вне форума Ответить с цитированием
Старый 08.02.2008, 09:33   #16
Небесный
Зелень
Форумчанин
 
Аватар для Небесный
 
Регистрация: 03.02.2007
Сообщений: 302
По умолчанию

Можно ли открывать форму командой Form2.Show;
Цитата:
Сообщение от Stilet Посмотреть сообщение
Можно.
Нашел, вроде, если нужно закрывать форму, тогда Form2.ShowModal.

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

Цитата:
если нужно закрывать форму, тогда Form2.ShowModal.
ShowModal ничего закрывать не умеет
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 09.02.2008, 08:48   #18
Небесный
Зелень
Форумчанин
 
Аватар для Небесный
 
Регистрация: 03.02.2007
Сообщений: 302
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
ShowModal ничего закрывать не умеет
А, что умеет?

И еще, странно с Stringgrid пытаюсь считать данные и загнать и в массив, ничего не получаеться, выдает ошибку.
После этого зеленая стрелочка в коде становиться на строчке Form2.ShowModal;
При этом выдает ошибку с текстом: " is not a valid integer value"

Код:
for l:=1 to Form1.ch_grafikov+1 do
    for k:=1 to 12 do
      mas_graf[l,k]:=StrToInt(Stringgrid1.Cells[l,k]);

Последний раз редактировалось Небесный; 09.02.2008 в 08:56.
Небесный вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 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