C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
Не могу разобраться с примером на Delphi, с Delphi на С++
Dimitri
Отправлено: 13.07.2005, 15:01


Не зарегистрирован







Помогите разобраться с примером он на Паскале а я с ним не дружу я
с С++ недавно познакомился и поэтому тежеловато разобратся
вот пример самый простецкий

CODE


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©;//Тоже не понятная сторока
   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.
]

Отредактировано Gedeon — 13/07/2005, 15:23
Guest
Отправлено: 13.07.2005, 15:22


Не зарегистрирован







QUOTE
Cross: TfrxCrossView;//Что делают этой строкой

Создают локальную переменную класса TfrxCrossView.

QUOTE
if c is TfrxCrossView then //Откуда взялась С

Из параметра вызова.

Остальное без знания классов TfrxCrossView и TfrxReportComponent сказать трудно.
romario
Отправлено: 13.07.2005, 15:22


Ученик-кочегар

Группа: Участник
Сообщений: 14



var
Cross: TfrxCrossView;//Что делают этой строкой
Это обяъвляют переменную (объект) типа (класса) TfrxCrossView

if c is TfrxCrossView then //Откуда взялась С
с — это параметр, передаваемый в процедуру см выше (c: TfrxReportComponent);

Cross := TfrxCrossView©;//Тоже не понятная сторока
а это и мне не понятно, по моему лажа какая то, пример то рабочий вообще? тут должно было быть что то типа
Cross := TfrxCrossView.Create(...) (создаем объект) или на крайняк Cross:=с (передаем ссылку)

Вернуться в Вопросы программирования в C++Builder