AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

GetAsyncKeyState - Verständnisfrage

Ein Thema von FragenderHerbert · begonnen am 24. Okt 2014 · letzter Beitrag vom 31. Okt 2014
Antwort Antwort
FragenderHerbert

Registriert seit: 4. Dez 2013
47 Beiträge
 
#1

AW: GetAsyncKeyState - Verständnisfrage

  Alt 30. Okt 2014, 23:16
Hallo,

ich bin's nochmal. Habe mir jetzt eine kleine Funktion geschrieben:

Delphi-Quellcode:
function IsUndefinedKey(Key: Word): Boolean;
begin
  case Key of
    $07, $0A, $0B, $0E, $0F, $16,
    $1A, $3A, $3B, $3C, $3D, $3E,
    $3F, $40, $5E, $88, $89, $8A,
    $8B, $8C, $8D, $8E, $8F, $92,
    $93, $94, $95, $96, $97, $98,
    $99, $9A, $9B, $9C, $9D, $9E,
    $9F: Result := true;
    else Result := false;
  end;
end;

function GetKey: word;
var Key: Word;
begin
  for Key := $01 to $FE do
  begin
    if not IsUndefinedKey(Key) then
    if GetAsyncKeyState(Key) < 0 then
    begin
      Result := Key;
      break;
    end;
  end;
end;
Die Funktion "IsUndefinedKey()" habe ich geschrieben weil laut MSDN diese Codes entweder nicht zugewiesen oder reserviert sind. So will ich damit erreichen, das bei Auftreten eines dieser Codes die Funktion GetAsyncKeystate nicht aufgerufen wird.

Ich habe eine Testschleife:

Delphi-Quellcode:
repeat
  Key := GetKey;
until Key=27;
Wenn ich ESC drücke, wird die Repeat Schleife beendet, wie auch beabsichtigt. Aber die anderen Tasten scheinen nicht anzukommen. Warum?
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.756 Beiträge
 
Delphi 12 Athens
 
#2

AW: GetAsyncKeyState - Verständnisfrage

  Alt 31. Okt 2014, 01:17
Was bedeutet denn diese "scheinen"?

Aber so richtig hast du das MSDN dann doch nicht gelesen, denn sonst würdest du GetKeyboardState verwenden, wenn du sowieso mehrere/viele Tasten abfragen willst.


Und warum hörst du nicht auf die Warnungen deines Compilers?
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu (31. Okt 2014 um 01:36 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:18 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz