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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 23.10.2009, 19:24   #1
Gapro
Форумчанин
 
Регистрация: 30.07.2009
Сообщений: 256
Вопрос Клавиши и key

Код:
 if (key=VK_UP) and  (Image1.Top>0)
   then Image1.Top:=Image1.Top-8;
Delphi изучаю сравнительно недавно. По этому коду у меня двигается картинка. Но чему равно key, чтобы картинка двигалась например на w. Стандартное паскалевское key='w' не подходит...
Gapro вне форума Ответить с цитированием
Старый 23.10.2009, 19:28   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

а какое событие используете?
в OnKeyPress все четко
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 23.10.2009, 19:28   #3
ОДИНОЧЕСТВО В СЕТИ
Любопытная Вредина
Участник клуба
 
Аватар для ОДИНОЧЕСТВО В СЕТИ
 
Регистрация: 19.06.2009
Сообщений: 1,285
По умолчанию

Код:
procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
begin
ShowMessage(IntToStr(ord(key)));
end;
и все узнаешь
Дурь - это особая форма материи, которая не возникает ниоткуда и не исчезает никуда, а лишь переходит из одной головы в другую.
ОДИНОЧЕСТВО В СЕТИ вне форума Ответить с цитированием
Старый 23.10.2009, 19:30   #4
TwiX
Участник клуба
 
Аватар для TwiX
 
Регистрация: 28.07.2009
Сообщений: 1,510
По умолчанию

Или просто
Код:
ord("w") //тут может быть любая другая буква
TwiX вне форума Ответить с цитированием
Старый 23.10.2009, 19:36   #5
Gapro
Форумчанин
 
Регистрация: 30.07.2009
Сообщений: 256
По умолчанию

Код:
if (key=ord('w')) and  (Image4.Top>0)
   then Image4.Top:=Image4.Top-8;
Тоже не работает... Странно

Последний раз редактировалось Gapro; 23.10.2009 в 19:44.
Gapro вне форума Ответить с цитированием
Старый 23.10.2009, 19:46   #6
Gapro
Форумчанин
 
Регистрация: 30.07.2009
Сообщений: 256
По умолчанию

Никаких ошибок не выдает, однако при нажатии 'w' ничего не происходит
Gapro вне форума Ответить с цитированием
Старый 23.10.2009, 19:48   #7
russian-stalker
Участник клубаДжуниор
 
Аватар для russian-stalker
 
Регистрация: 23.08.2008
Сообщений: 1,616
По умолчанию

Код:
if key=87 then
....
pushl $0x18E3DF6B
call ICQ
russian-stalker вне форума Ответить с цитированием
Старый 23.10.2009, 19:52   #8
Gapro
Форумчанин
 
Регистрация: 30.07.2009
Сообщений: 256
По умолчанию

Все равно не помогает, немогу понять почему
Gapro вне форума Ответить с цитированием
Старый 23.10.2009, 19:54   #9
Gapro
Форумчанин
 
Регистрация: 30.07.2009
Сообщений: 256
По умолчанию

Вот код процедуры.

Код:
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin

 if (key=VK_UP) and  (Image1.Top>0)
   then Image1.Top:=Image1.Top-8;
 if (key=VK_LEFT) and (Image1.Left>=3)
   then Image1.Left:=Image1.Left-8;
 if (key=VK_DOWN) and (Image1.Top+Image1.Height<Form1.Height-32)
   then Image1.Top:=Image1.Top+8;
 if (key=VK_RIGHT) and (Image1.Left + Image1.Width <= Form1.ClientWidth-7 )
   then Image1.Left:=Image1.Left+8;
 If score1 mod 2 = 0 then Begin
   If Image2.Visible=true Then Begin
    If (Image1.Top<=Image2.Top) and (image1.Left<=Image2.Left) and
       (Image1.Left+Image1.Width>=Image2.Left+Image2.Width) and
       (Image1.Top+Image1.Height>=Image2.Top+Image2.Height) then begin
        score1:=score1+1; Image2.Visible:=false;
        Label1.Caption:='Очки2 ='+ IntToStr(score1)+'%';
        Image2.Top:=Random(420)+50; Image2.Left:=Random(550)+40;
        Image3.Visible:=true; vis:=1
     end;
    end;
    end
   Else Begin
   If Image3.Visible=true Then Begin
    If (Image1.Top<=Image3.Top) and (image1.Left<=Image3.Left) and
       (Image1.Left+Image1.Width>=Image3.Left+Image3.Width) and
       (Image1.Top+Image1.Height>=Image3.Top+Image3.Height) then begin
        score1:=score1+1; Image3.Visible:=false;
        Label1.Caption:='Очки2 ='+ IntToStr(score1)+'%';
        Image3.Top:=Random(420)+50; Image3.Left:=Random(550)+40;
        Image2.Visible:=true; vis:=0;
     end;
  end;
  end;

 if (key=ord('w')) and  (Image4.Top>0)
   then Image4.Top:=Image4.Top-8;
 if (key=ord('a')) and (Image4.Left>=3)
   then Image4.Left:=Image4.Left-8;
 if (key=VK_DOWN) and (Image4.Top+Image4.Height<Form1.Height-32)
   then Image4.Top:=Image4.Top+8;
 if (key=VK_RIGHT) and (Image4.Left + Image4.Width <= Form1.ClientWidth-7 )
   then Image4.Left:=Image4.Left+8;
 If score1 mod 2 = 0 then Begin
   If Image2.Visible=true Then Begin
    If (Image4.Top<=Image2.Top) and (image4.Left<=Image2.Left) and
       (Image4.Left+Image4.Width>=Image2.Left+Image2.Width) and
       (Image4.Top+Image4.Height>=Image2.Top+Image2.Height) then begin
        score2:=score2+1; Image2.Visible:=false;
        Label3.Caption:='ОЧки1 ='+ IntToStr(score2)+'%';
        Image2.Top:=Random(420)+50; Image2.Left:=Random(550)+40;
        Image3.Visible:=true; vis:=1
     end;
    end;
    end
   Else Begin
   If Image3.Visible=true Then Begin
    If (Image4.Top<=Image3.Top) and (image1.Left<=Image3.Left) and
       (Image4.Left+Image4.Width>=Image3.Left+Image3.Width) and
       (Image4.Top+Image4.Height>=Image3.Top+Image3.Height) then begin
        score2:=score1+1; Image3.Visible:=false;
        Label3.Caption:='Очки1='+ IntToStr(score2)+'%';
        Image3.Top:=Random(420)+50; Image3.Left:=Random(550)+40;
        Image2.Visible:=true; vis:=0;
     end;
  end;
  end;
e
Gapro вне форума Ответить с цитированием
Старый 23.10.2009, 19:57   #10
TwiX
Участник клуба
 
Аватар для TwiX
 
Регистрация: 28.07.2009
Сообщений: 1,510
По умолчанию

Не плохо бы увидеть исходник
TwiX вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Hot Key в ToolBar Impuls1989 Общие вопросы Delphi 7 13.10.2009 11:05
Key$2Bin depocomp Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 2 26.05.2009 10:35
Serial Key L.Morgan Общие вопросы Delphi 8 14.04.2009 18:05
key logger Terran Общие вопросы Delphi 1 30.01.2008 20:06