Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2007.12.09;
Скачать: [xml.tar.bz2];

Вниз

события в RunTime   Найти похожие ветки 

 
Илья_С   (2007-09-17 14:26) [0]

Уважаемые мастера.
Как присвоить FEdit событие ONKeyDown.
Вот пример:

program App;

uses
 Windows,
 Forms,
 StdCtrls,
 Graphics,
 Classes,
 Controls,
 SysUtils,
 Messages,
 Main_u in "Main_u.pas" {Main_f};

{$R *.res}

const
  Afr = 9825;

var
  sOld:TForm;
  FLab:TLabel;
  FKey:Boolean;
  FEdit:TEdit;
  FOK,FCancel:TButton;
  FOKClick,FCancelClick:TNotifyEvent;

procedure OKClick;
begin
  if FEdit.Text = Inttostr(Afr) then
  begin
     FKey:=True;
     sOld.Close;
  end else
     Application.Terminate;
end;

procedure CancelClick;
begin
  FKey:=False;
  Application.Terminate;
end;

begin
 Application.Initialize;
 Application.CreateHandle;
 FKey:=False;
 sOld:=TForm.Create(nil);
 sOld.Position:=poScreenCenter;
 sOld.BorderStyle:=bsToolWindow;
 sOld.Caption:="Îãðàíè÷åíè&#229 ; äîñòóïà";
 sOld.Height:=100;
 sOld.Width:=285;
 sOld.KeyPreview:=True;
 FLab:=TLabel.Create(nil);
 FLab.Parent:=sOld;
 Flab.Left:=5;
 FLab.Top:=5;
 Flab.Font.Style:=[FSBold];
 Flab.Font.Name:="Tahoma";
 Flab.Caption:="Ââåäèòå àâòîðèçèðîâàí&# 237;ûé êëþ÷ !";
 Flab.Update;
 FEdit:=TEdit.Create(nil);
 FEdit.Parent:=sOld;
 FEdit.Left:=5;
 FEdit.Top:=20;
 FEdit.Width:=270;
 FEdit.PasswordChar:="*";
 FEdit.OnKeyDown ??????
 Если идти через TMethod - ошибка.

 FCancel:=TButton.Create(nil);
 FCancel.Parent:=sOld;
 FCancel.Height:=21;
 FCancel.Caption:="&Îòìåíà";
 FCancel.Top:=48;
 FCancel.Left:=sOld.Width-FCancel.Width-10;
 FOK:=TButton.Create(nil);
 FOK.Parent:=sOld;
 FOK.Height:=21;
 FOK.Caption:="&OK";
 FOK.Top:=48;
 FOK.Left:=sOld.Width-FOK.Width-10-FCancel.Width-5;
 TMethod(FOKClick).Data:=nil;
 TMethod(FOKClick).Code:=@OKClick;
 TMethod(FCancelClick).Data:=nil;
 TMethod(FCancelClick).Code:=@CancelClick;
 FOK.OnClick:=FOKClick;
 FCancel.OnClick:=FCancelClick;
 sOld.ShowModal;
 FLab.Free;
 FEdit.Free;
 FOK.Free;
 sOld.Free;
 if not FKey then
 begin
  Application.Terminate;
  Exit;
 end;
 Application.CreateForm(TMain_f, Main_f);
 Application.MainForm.WindowState:=wsMaximized;
 Application.Run;


 
DVM ©   (2007-09-17 14:36) [1]

что за бред?


 
DVM ©   (2007-09-17 14:37) [2]

зачем все в файл проекта запихал?


 
Denis_ ©   (2007-09-17 14:49) [3]


> program App

неужели специально так назвал, типа шутка юмора? :D


 
Anatoly Podgoretsky ©   (2007-09-17 14:54) [4]

> Denis_  (17.09.2007 14:49:03)  [3]

Насколько хватило интеллекта.


 
DrPass ©   (2007-09-17 15:07) [5]


>  Application.Initialize;
>  Application.CreateHandle;


>  TMethod(FOKClick).Data:=nil;
>  TMethod(FOKClick).Code:=@OKClick;


>   Application.Terminate;
>   Exit;

С ума сойти... Все равно что браться считать интегралы, не научившись таблице умножения...


 
Суслик ©   (2007-09-17 15:10) [6]


>  [5] DrPass ©   (17.09.07 15:07)
> >  TMethod(FOKClick).Data:=nil;
> >  TMethod(FOKClick).Code:=@OKClick;

кстати ничего ужасного - работать то будет :)


 
DrPass ©   (2007-09-17 15:14) [7]


> Суслик ©   (17.09.07 15:10) [6]

Работать-то будет. Но зачем применять хаки, если не знаешь элементарных вещей?


 
DVM ©   (2007-09-17 15:21) [8]

Если исправить немного то работать оно будет. Но зачем городить такой странный огород только для того, чтобы вывести форму с двумя кнопками (форма ввода пароля), когда все это можно сделать по-человечески?



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2007.12.09;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.041 c
2-1194648042
Riply
2007-11-10 01:40
2007.12.09
Разница в атрибутах при уничтожении объекта.


15-1194453536
Manuel
2007-11-07 19:38
2007.12.09
Почему сыр "Российский" так популярен?


15-1193990034
@!!ex
2007-11-02 10:53
2007.12.09
Как вытащить данные?


4-1179818967
Klopan
2007-05-22 11:29
2007.12.09
Службы


2-1195052593
Pacific
2007-11-14 18:03
2007.12.09
Проблема





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский