Нужен пример на С++

отредактировано 12:46 Раздел: FastReport 3.0
Все примеры на паскале а я в нем как свинья с апельсинах я собственно и в С++ только чуток лучше разбераюсь Вот пример помогите разобраться
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  frxClass, StdCtrls, Grids, frxCross;
    
  //Объевляем понятно

type
  TForm1 = class(TForm)
    Button1: TButton;
    StringGrid1: TStringGrid;
    frxCrossObject1: TfrxCrossObject;
    frxReport1: TfrxReport;
    procedure Button1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure frxReport1BeforePrint(c: TfrxReportComponent);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}

  //Создаём и заполняем таблицу тоже понятно

procedure TForm1.FormCreate(Sender: TObject);
var
  i, j: Integer;
begin
  for i := 1 to 16 do
    for j := 1 to 16 do
      StringGrid1.Cells[i - 1, j - 1] := IntToStr(i * j);
end;

  	//Здесь разобрался

procedure TForm1.Button1Click(Sender: TObject);
begin
  frxReport1.ShowReport;
end;

  //А тут начинается самое интересное

procedure TForm1.frxReport1BeforePrint(c: TfrxReportComponent);
var
  Cross: TfrxCrossView;	//Что делают этой строкой
  i, j: Integer;
begin
  if c is TfrxCrossView then  //Откуда взялась С
  begin
    Cross := TfrxCrossView(c);  //Тоже не понятная сторока
    for i := 1 to 16 do
      for j := 1 to 16 do
     //Тут что сделать хотят понимаю а как нет
        Cross.AddValue([i], [j], [StringGrid1.Cells[i - 1, j - 1]]);
  end;
end;

end.
Можно просто прокаментировать

Комментарии

  • отредактировано 12:46
    написал:
    Cross: TfrxCrossView; //Что делают этой строкой
    Объявление локальной переменной
    написал:
    if c is TfrxCrossView then  //Откуда взялась С
    Параметр процедуры
    написал:
    Cross := TfrxCrossView©;  //Тоже не понятная сторока
    Привидение типов
    написал:
    //Тут что сделать хотят понимаю а как нет
    Cross.AddValue(, [j], [StringGrid1.Cells[i - 1, j - 1]]);
    Добавление в крос данных из таблицы
  • отредактировано 12:46
    Если в первой стороке обевляется переменая то как написать первую и четвёртую стрку я понял а параметр процедуры и привидение типов как написать на С++ я пока не понел ;)
  • отредактировано 12:46
    помоему так:
    Cross = (TfrxCrossView)c;
  • отредактировано 12:46
    А С что и откудавзялась
  • отредактировано July 2005
    В параметре процедуры:
    procedure TForm1.frxReport1BeforePrint(c: TfrxReportComponent);
  • отредактировано 12:46
    Большое спа дальше сам допру ;)

Оставить комментарий

Многофункциональный текстовый редактор. Чтобы отредактировать стиль параграфа, нажмите TAB, чтобы перейти к меню абзаца. Там вы можете выбрать стиль. По умолчанию не выбран ни один стиль. Когда вы выберете текст, появится встроенное меню форматирования. Нажмите TAB, чтобы войти в него. Некоторые элементы, такие как многофункциональные вставки ссылок, картинок, индикаторов загрузки и сообщений об ошибок могут быть вставлены в редактор. Вы можете перемещаться по ним, используя стрелки внутри редактора и удалять с помощью клавиш delete или backspace.