Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Где и как разместить/объявить пользовательскую процедуру.

4.8K
03 мая 2006 года
Neighbour
43 / / 15.03.2005
С Делфи знаком буквально четыре дня. Нужно лабу сделать на любом языке. Выбрал Делфи потому что Паскаль почти :) и чтобы с интерфейсом не сильно заморачиваться. Не могу понять, как и где разместить пользовательскую процедуру, вызывающуюся из процедуры обработчика какого-нибудь события.
18K
03 мая 2006 года
sousouiti36
2 / / 03.05.2006
Цитата:
Originally posted by Neighbour
С Делфи знаком буквально четыре дня. Нужно лабу сделать на любом языке. Выбрал Делфи потому что Паскаль почти :) и чтобы с интерфейсом не сильно заморачиваться. Не могу понять, как и где разместить пользовательскую процедуру, вызывающуюся из процедуры обработчика какого-нибудь события.



Глянь вот на этот кусок кода, не думаю что то тут ты непоймеш.

unit Onit1;
interface
uses
Windows, Messages, SysUtils, Variants,
Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;

type

TForm1= class(TForm)
Label1: TLabel; // пояснительный текст
Edit1: TEdit; // поле ввода веса в фунтах
Button1: TButton; // кнопка Вычислить
Label2: TLabel; // поле вывела результата
procedure Button1Click(Sender: TObject);
procedure EditlKeyPress(Sender: TObject;
var Key: Char); private
{ Private declarations } public
{ Public declarations } end;

var
Form1: TForm1;

implementation
{$R *.dfm}

[COLOR=green]// процедура программиста[/COLOR]
procedure FuntToKg;
var
f : real; // вес в фунтах
kg : real; // вес в килограммах
begin
f := StrToFloat(Form1.Edit1.Text);
kg := f * 0.4059;
Forml.Label2.Caption := Forml.Edit1.Text + ' ф. — это ' + FloatToStrF(kg, ffGeneral, 4, 2) + 'кг.';
end;

[COLOR=green]// обработчик событий кнопки[/COLOR]
procedure TForml.ButtonlClick(Sender: TObject);
begin
FuntToKg; // вызов процедуры FuntToKg
end;

// нажатие клавиши в поле ввода исходных данных
procedure TForm1.EditlKeyPress(Sender: TObject;
var Key: Char);
begin
if Key = Char(VK_RETURN)
then FuntToKg; // вызов процедуры FuntToKg
end;
end.

Ну все таки если не поймеш ...

Вообщем читай вот здесь http://www.realcoding.net/article/rubric/Delphi/Delphi7_for_beginer там подробнее написанно.

303
04 мая 2006 года
makbeth
1.0K / / 25.11.2004
Цитата:
Originally posted by sousouiti36
Глянь вот на этот кусок кода, не думаю что то тут ты непоймеш.


Вай, вай... :) Разреши, немного твой код подправлю:

Код:
unit Onit1;
interface
uses
Windows, Messages, SysUtils, Variants,
Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;

type
  TForm1= class(TForm)
    Label1: TLabel; // пояснительный текст
    Edit1: TEdit; // поле ввода веса в фунтах
    Button1: TButton; // кнопка Вычислить
    Label2: TLabel; // поле вывела результата
    procedure Button1Click(Sender: TObject);
    procedure EditlKeyPress(Sender: TObject; var Key: Char);
  private
    { Private declarations }
    [COLOR=red]procedure FuntToKg;[/COLOR]
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation
{$R *.dfm}

[COLOR=green]// процедура программиста[/COLOR]
procedure [COLOR=red]Form1.[/COLOR]FuntToKg;
var
  f : real; // вес в фунтах
  kg : real; // вес в килограммах
begin
  f := StrToFloat(Edit1.Text);
  kg := f * 0.4059;
  Label2.Caption := Edit1.Text + ' ф. — это ' + FloatToStrF(kg, ffGeneral, 4, 2) + 'кг.';
end;

[COLOR=green]//  обработчик событий кнопки[/COLOR]
procedure TForml.ButtonlClick(Sender: TObject);
begin
  FuntToKg; // вызов процедуры FuntToKg
end;

// нажатие клавиши в поле ввода исходных данных
procedure TForm1.EditlKeyPress(Sender: TObject;
var Key: Char);
begin
  if Key = Char(VK_RETURN)
  then FuntToKg; // вызов процедуры FuntToKg
end;
end.

Так, ИМХО, правильнее будет - избавляемся от обращения к глобальной пременной Form1.
2.0K
04 мая 2006 года
Dstr
158 / / 27.04.2006
Или проще в свойствах нужного обекта выбираешь вкоадку Events и 2 раза щелкаешь на нужное процедуре
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог