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

Ваш аккаунт

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

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

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

как сопоставить две процедуры

12K
19 декабря 2006 года
horror
26 / / 22.11.2006
у меня есть код добавление мемо по очереди (не хотелось бы его менять)
Код:
unit Unit1;

interface

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

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

var
  Form1: TForm1;
  memo1:Tmemo;
  memo2:Tmemo;
implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
 memo1:=Tmemo.Create(Form1); memo1.Parent:=Form1;
 memo1.Visible:=false;
 memo2:=Tmemo.Create(Form1); memo2.Parent:=Form1;
 memo2.Visible:=false;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
 button1.Tag:=button1.Tag+1;
 if button1.Tag=1 then
  begin
   with memo1 do
    begin
      memo1.Visible:=true;
      Left:=100; Top:=100;
      Width:=100; Height:=200;
    end;
  end;
 if button1.Tag=2 then
  begin
   with memo2 do
    begin
      memo2.Visible:=true;
      Left:=250; Top:=100;
      Width:=100; Height:=200;
    end;
  end;
end;
end.


то есть при нажатии на кнопку добавляется сначало одно мемо, потом второе, и просто требуется сделать чтобы эти мемы уменьшались до размеров текста при выходе из них, вот код
 
Код:
procedure TForm1.Memo1Exit(Sender: TObject);
 var Memo: TMemo;
  begin
    Memo := Sender as TMemo;
    Memo.Height := Memo.Lines.Count * Abs(Memo.Font.Height * 2);
  end;
end.

не понятно как соединить эти коды
я думаю что можно сделать через функцию в неё передавать параметры и забирать из неё уже готовые результаты, но не понятно что передавать надо
497
19 декабря 2006 года
IL84
267 / / 24.04.2003
Процедуру Memo1Exit надо навесить на OnExit обоих Memo, если я правильно понимаю что надо сделать.
12K
20 декабря 2006 года
horror
26 / / 22.11.2006
Цитата: IL84
Процедуру Memo1Exit надо навесить на OnExit обоих Memo, если я правильно понимаю что надо сделать.


а как это записать то? причём мемо же создаётся и хз как не существующему компоненту написать процедуру

497
20 декабря 2006 года
IL84
267 / / 24.04.2003
Код:
procedure TForm1.Button1Click(Sender: TObject);
begin
 button1.Tag:=button1.Tag+1;
 if button1.Tag=1 then
  begin
   with memo1 do
    begin
      memo1.Visible:=true;
      Left:=100; Top:=100;
      Width:=100; Height:=200;
      OnExit := Memo1Exit;
    end;
  end;
 if button1.Tag=2 then
  begin
   with memo2 do
    begin
      memo2.Visible:=true;
      Left:=250; Top:=100;
      Width:=100; Height:=200;
      OnExit := Memo1Exit;
    end;
  end;
end;
end.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог