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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 17.12.2013, 21:20   #1
Alexandr17
Форумчанин
 
Регистрация: 10.12.2013
Сообщений: 227
По умолчанию Прошу помочь по события Delphi 7

Как написать событие OnConsoleEnter(Index:Integer; strCommand:String); которое будет возникать при добавлении в Memo строку и возвращать индекс добавленной строки. И добавленный текст.
Alexandr17 вне форума Ответить с цитированием
Старый 17.12.2013, 23:03   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Т.е. ты вводишь что-то в Мемо, жмешь Энтер и нужно обработать это введенное?
Допустим так:
Код:
unit Unit1;

{$mode objfpc}{$H+}

interface

uses
  Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls;

type
  TOnConsoleEnter=procedure (Index:Integer; strCommand:String) of object;
  { TForm1 }

  { TMemo }

  TMemo=class(TMemo)
   procedure Memo1KeyPress(Sender: TObject; var Key: char);
  private
    FOnConsoleEnter: TOnConsoleEnter;
    procedure SetOnConsoleEnter(AValue: TOnConsoleEnter);
   public
    property OnConsoleEnter:TOnConsoleEnter read FOnConsoleEnter write SetOnConsoleEnter;
  end;

  TForm1 = class(TForm)
    Memo1: TMemo;
    procedure FormCreate(Sender: TObject);
   private
    procedure  OnConsoleEnter (Index:Integer; strCommand:String);
    { private declarations }
  public
    { public declarations }
  end;

var
  Form1: TForm1;

implementation

{ TForm1 }

procedure TForm1.FormCreate(Sender: TObject);
begin
 Memo1.OnConsoleEnter:=@OnConsoleEnter;
end;

procedure TForm1.OnConsoleEnter(Index: Integer; strCommand: String);
begin
  //
end;

{ TMemo }

procedure TMemo.Memo1KeyPress(Sender: TObject; var Key: char);
begin
 if key=#13 then begin
   if Assigned(FOnConsoleEnter) then
    FOnConsoleEnter(CaretPos.y,Lines[CaretPos.y]);
 end;
end;

procedure TMemo.SetOnConsoleEnter(AValue: TOnConsoleEnter);
begin
  if FOnConsoleEnter=AValue then Exit;
  FOnConsoleEnter:=AValue;
end;

{$R *.lfm}


end.
проверить возможности у меня увы нет. Но думаю как идея этот код подскажет в какую сторону можно копнуть.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Прошу помочь. Шифрование(дешифрование) в Delphi Marina) Помощь студентам 7 21.02.2013 16:49
Алгоритмы. Не прошу решить. Прошу помочь! pascaluser Паскаль, Turbo Pascal, PascalABC.NET 2 12.10.2012 08:45
Прошу помочь с выбором темы на диплом. Теория струн [C, Delphi]] 4c00 Помощь студентам 1 07.12.2011 17:54
Прошу помочь! DeusGPZ Общие вопросы C/C++ 4 17.10.2011 13:01