[DelphiX] AssignKey()

Odpowiedz Nowy wątek
2006-09-30 19:54
0

Chciałem zrobić żeby isLeft było pod innim klawiszem. W internecie znalazłem taki przykład:

function DefKeyAssign: TKeyAssignList;
begin
  FillChar(Result, SizeOf(Result), 0);

  AssignKey(Result, isUp,      [Ord('K'), VK_UP, VK_NUMPAD8]);
  AssignKey(Result, isDown,    [Ord('J'), VK_DOWN, VK_NUMPAD2]);
  AssignKey(Result, isLeft,    [Ord('H'), VK_LEFT, VK_NUMPAD4]);
  AssignKey(Result, isRight,   [Ord('L'), VK_RIGHT, VK_NUMPAD6]);
  AssignKey(Result, isButton1, [Ord('Z'), VK_SPACE]);
  AssignKey(Result, isButton2, [Ord('X'), VK_RETURN]);
  AssignKey(Result, isButton9, [VK_F2]);
end;
{...}
DXInput.KeyBoard.KeyAssigns:=DefKeyAssign;

Problem w tym że "nie mam" funkcji AssignKey. Mam UnDelphiX 1.0 (dane z (un)DelphiX.doc), 2000.07.17 (readme.txt). W sekcji Uses mam

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, DXClass, DXSprite, DXInput, DXDraws, Math;

Funkcja jest w przestrzeni (chyba tak to się nazywa) głównego formularza (dodałem do TMainForm.FormCreate)
Skąd wziąć tą funkcję?


>>HI! I'm a .sygnature ViRuS... Copy me into your *.sygnature to help me spread.

Pozostało 580 znaków

2006-09-30 20:16
0

google.

Pozostało 580 znaków

2006-09-30 21:07
0

no niby w dxinput.pas ale w takim razie kiego wała mi to podkreśla tym tym czerwonym wężykiem (undeclared identifier)?


>>HI! I'm a .sygnature ViRuS... Copy me into your *.sygnature to help me spread.

Pozostało 580 znaków

2006-09-30 21:44
0

hmm.. nie mam dxow wiec ciezko mi to zobaczyc, ale moze sproboj przepisac cala procedure..:

uses DXConsts;

procedure AssignKey(var KeyAssignList: TKeyAssignList; State: TDXInputState;
  const Keys: array of Integer);
var
  i, i2: Integer;
  KeyAssign: PKeyAssign;
begin
  KeyAssign := @KeyAssignList[State];
  FillChar(KeyAssign^, SizeOf(TKeyAssign), 0);

  i2 := 0;
  for i:=LOW(Keys) to HIGH(Keys) do
  begin
    if i2<3 then
      KeyAssign^[i2] := Keys[i]
    else
      Exit;
    Inc(i2);
  end;
end;

</delphi>

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0