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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 16.02.2012, 18:03   #1
ladose
Пользователь
 
Регистрация: 13.02.2012
Сообщений: 17
По умолчанию Клавиша

Как можно сделать такую функцию?!

-При нажатие и удерживание клавиши "SPACE" и он будет нажиматься N раз.
ladose вне форума Ответить с цитированием
Старый 17.02.2012, 05:41   #2
deathNC
Пользователь
 
Аватар для deathNC
 
Регистрация: 10.01.2010
Сообщений: 44
По умолчанию

ladose, мне всегда казалось,что он и так будет нажиматься N раз. Например, кинь Edit на форму, запусти программу, и в едите зажми пробел - он нажмётся N раз
deathNC вне форума Ответить с цитированием
Старый 17.02.2012, 11:49   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

С потолка:
Код:
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    Edit1: TEdit;
    procedure Edit1KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure Edit1KeyUp(Sender: TObject; var Key: Word;
      Shift: TShiftState);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
 with TEdit(sender) do begin
   if tag>5 then    ShowMessage('Хватит жать!');
   tag:=tag+1;
 end;
end;

procedure TForm1.Edit1KeyUp(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
 TEdit(sender).Tag:=0;
end;

end.
Идея понятна?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 17.02.2012, 14:15   #4
ladose
Пользователь
 
Регистрация: 13.02.2012
Сообщений: 17
По умолчанию

Вы не правильно поняли.

Вот наверное так будет понятнее:
Нужно сделать допустим при нажатие на "TAB" будет происходить не сколько нажатий. Все делается это для игры, не суть какую кнопку использовать.

P.s мне не для текстовых документах, а для игры, что-то типо BunnyHop'a.
ladose вне форума Ответить с цитированием
Старый 17.02.2012, 14:48   #5
MeTeOpA
Форумчанин
 
Аватар для MeTeOpA
 
Регистрация: 17.02.2010
Сообщений: 194
По умолчанию

Оо Вам нужно с(и/э)мулировать нажатие клавиши?
MeTeOpA вне форума Ответить с цитированием
Старый 17.02.2012, 15:12   #6
ladose
Пользователь
 
Регистрация: 13.02.2012
Сообщений: 17
По умолчанию

Возможно, и так.
ladose вне форума Ответить с цитированием
Старый 17.02.2012, 18:53   #7
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Ищи описание функции SendInput.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 17.02.2012, 19:20   #8
ladose
Пользователь
 
Регистрация: 13.02.2012
Сообщений: 17
По умолчанию

Поподробней можно?)

SendInput(0,WM_KEDOWN,VK_SPACE,0);

Не так? Глубоко ошибаюсь?

Помогите пожалуйста.

Последний раз редактировалось Stilet; 18.02.2012 в 08:07.
ladose вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
клавиша табуляции ts-alan Помощь студентам 3 23.07.2010 19:05
Горячия клавиша Editor Помощь студентам 14 30.01.2010 12:54
Клавиша мыши -=Virus=- Общие вопросы Delphi 5 24.11.2009 00:21
Нажата ли клавиша... Xcopy Паскаль, Turbo Pascal, PascalABC.NET 14 26.03.2009 11:14
клавиша delete andrey4623 Общие вопросы Delphi 6 17.01.2008 18:16