Einzelnen Beitrag anzeigen

BAMatze

Registriert seit: 18. Aug 2008
Ort: Berlin
759 Beiträge
 
Turbo Delphi für Win32
 
#3

Re: taste abfragen ohne onkeypress etc und label sichtbar ma

  Alt 13. Mai 2009, 19:56
Hab dir mal schnell was geschrieben, dass dir mal zeigen soll, wie man das ohne lästige Schleifen, die die Prformance deines Programmes in die Knie gehen lässt, sowas programmiert. Das habe ich schnell in 5min und ist ein erster Vorschlag, an dem sicherlich noch einiges verbessert werden kann. Hab aber nicht deine gewollte Funktion einprogrammiert, weil ich das glaube ich noch nicht richtig verstanden habe und damit du mit meinen Funktionen noch etwas spielen kannst.

Hier mal der Quelltext und unten ist auch das gepackte Programm:
Delphi-Quellcode:
unit Tastendruck;

interface

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

const WMKeyDown = WM_KEYDOWN;
      WMKeyUp = WM_KEYUP;

type
  TForm1 = class(TForm)
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
  private
    procedure WMKeyDown(var Msn: TMessage); message WMKeyDown;
    procedure WMKeyUp(var Msn: TMessage); message WMKeyUp;
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.WMKeyDown(var Msn: TMessage);
var Index: integer;
begin
  Index := 36;
  repeat
    Index := Index+1;
  until (GetasyncKeyState(Index) <> 0) or (Index >=41);
  if Index < 41 then
    begin
      case Index of
      37: Label2.visible := true;
      38: Label1.Visible := true;
      39: Label4.Visible := true;
      40: Label3.Visible := true;
      end;
    end
  else Label5.Visible := true;
end;

procedure TForm1.WMKeyUp(var Msn: TMessage);
begin
  LAbel1.Visible := false;
  LAbel2.Visible := false;
  LAbel3.Visible := false;
  LAbel4.Visible := false;
  LAbel5.Visible := false;
end;

end.
MfG BAMatze

Edit: Anpassung des Quelltextest auf Hybrid666 Hinweis hin in #6
Angehängte Dateien
Dateityp: rar tastendruck_abfangen_758.rar (172,9 KB, 13x aufgerufen)
2. Account Sero
  Mit Zitat antworten Zitat