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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 17.06.2012, 22:04   #1
Vitalik85
Пользователь
 
Регистрация: 11.08.2009
Сообщений: 55
По умолчанию procedure TForm1.FormActivate(Sender: TObject);

Здравствуйте. Я в программировании только пытаюсь начать разбираться. сейчас изучаю массивы. Не могу понять, в чем ошибка:
Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Grids;

type
  TForm1 = class(TForm)
    Tabl: TStringGrid;
    Label1: TLabel;
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormActivate(Sender: TObject);
begin
tabl.Cells[0,0]:='Страна';
end;

procedure TForm1.Button1Click(Sender: TObject);
begin

end;

end.
Пытаюсь дать шапке таблицы название.
Ругается на строку
procedure TForm1.FormActivate(Sender: TObject);

вот ошибки:
Цитата:
Build
[Error] Unit1.pas(27): Undeclared identifier: 'FormActivate'
[Error] Unit1.pas(27): ';' expected but '(' found
[Error] Unit1.pas(29): Undeclared identifier: 'tabl'
[Fatal Error] Project1.dpr(5): Could not compile used unit 'Unit1.pas'

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

Верно ругается. В Инспекторе объектов на вкладке событий свойство OnActivate не назначено на процедуру FormActivate
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 17.06.2012, 23:38   #3
Delphi_ProGer
Форумчанин
 
Регистрация: 30.10.2010
Сообщений: 524
По умолчанию

Код:
TForm1 = class(TForm)
    Tabl: TStringGrid;
    Label1: TLabel;
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
    procedure FormActivate(Sender: TObject);
Delphi_ProGer вне форума Ответить с цитированием
Старый 18.06.2012, 22:01   #4
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,318
По умолчанию

Цитата:
А почему шапка не заполняется?:-)
Цитата:
Верно ругается. В Инспекторе объектов на вкладке событий свойство OnActivate не назначено на процедуру FormActivate
Откройте в инспекторе объектов форму. Затем вкладку events (события) и, наконец, назначьте созданную процедуру нужному свойству.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA на форуме Ответить с цитированием
Старый 18.06.2012, 22:07   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Ты эту процедуру просто так в код сунул, или в Инспекторе Объектов привязал?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 18.06.2012, 22:32   #6
Vitalik85
Пользователь
 
Регистрация: 11.08.2009
Сообщений: 55
По умолчанию

Теперь понял))) Всем большое спасибо. Простите за глупые вопросы.
Vitalik85 вне форума Ответить с цитированием
Старый 19.06.2012, 01:29   #7
Vitalik85
Пользователь
 
Регистрация: 11.08.2009
Сообщений: 55
По умолчанию

А почему шапка не заполняется?:-)
Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Grids;

type
  TForm1 = class(TForm)
    Tabl: TStringGrid;
    Label1: TLabel;
    Button1: TButton;
    procedure FormActivate(Sender: TObject);
    procedure Button1Click(Sender: TObject);

  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormActivate(Sender: TObject);
begin
tabl.Cells[0,0]:='Страна';
tabl.Cells[1,0]:='Золотых';
tabl.Cells[2,0]:='Серебрянных';
tabl.Cells[3,0]:='Бронзовых';
tabl.Cells[4,0]:='Всего';
tabl.Cells[5,0]:='Баллов';
tabl.Cells[0,1]:='Австралия';
tabl.Cells[0,2]:='Белоруссия';
tabl.Cells[0,3]:='Великобритания';
tabl.Cells[0,4]:='Германия';
tabl.Cells[0,5]:='Италия';
tabl.Cells[0,6]:='Китай';
tabl.Cells[0,7]:='Корея';
tabl.Cells[0,8]:='Куба';
tabl.Cells[0,9]:='Нидерланды';
tabl.Cells[0,10]:='Россия';
tabl.Cells[0,11]:='США';
tabl.Cells[0,12]:='Франция';
tabl.Cells[0,13]:='Япония';
end;

procedure TForm1.Button1Click(Sender: TObject);
var
c,r:integer;
s:integer;
p:integer;
m:integer;
buf:array[0..5] of string;
i:integer;
begin
for r:=1 to tabl.RowCount do
begin
s:=0;
for c:=1 to 3 do
if tabl.Cells[c,r]<>''
then s:=s+StrToInt(tabl.Cells[c,r])
else tabl.Cells[c,r]:='0';
p:=7*StrToInt(tabl.cells[1,r])+6*StrToInt(tabl.cells[2,r])+5*StrToInt(tabl.cells[3,r]);
tabl.cells[4,r]:=IntToStr(s);
tabl.cells[5,r]:=IntToStr(p);
end;

end;

end.
Vitalik85 вне форума Ответить с цитированием
Старый 19.06.2012, 10:59   #8
ych_del
Форумчанин
 
Аватар для ych_del
 
Регистрация: 06.02.2011
Сообщений: 149
По умолчанию

Я так понимаю, ошибок теперь нет, но шапка не заполняется, верно?
Жмакни форму (именно ФОРМУ, а не какой-либо контрол на ней), а затем в инспекторе объектов открой вкладку Events и дважды жмакни в OnActivate.

Ты, как я понимаю, руками прописал в интерфейсной части данную процедуру, но не назначил её форме.

Удачи.
Профессиональный конвертор галлюцинаций заказчика в алгоритмическую структуру.
ych_del вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Sender(TObject); Claster Помощь студентам 3 22.06.2011 16:53
Действие проседуры TForm1.Button2Click(Sender: TObject); на что распространяется? vedro-compota Общие вопросы Delphi 14 01.05.2010 21:22
Sender:TObject Superlotles Помощь студентам 10 03.12.2009 13:54
TForm1 изменить размер gakuseix Компоненты Delphi 16 18.06.2009 19:02
TObject *Sender sergei64_89 Общие вопросы C/C++ 1 06.06.2008 13:36