AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi "Bitte eine Taste drücken" und dann Virtual Key Code erhalte
Thema durchsuchen
Ansicht
Themen-Optionen

"Bitte eine Taste drücken" und dann Virtual Key Code erhalte

Ein Thema von Assun · begonnen am 26. Sep 2005 · letzter Beitrag vom 2. Dez 2005
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von Assun
Assun

Registriert seit: 3. Feb 2005
Ort: Hilzingen am Bodensee
469 Beiträge
 
Delphi 2005 Personal
 
#1

"Bitte eine Taste drücken" und dann Virtual Key Co

  Alt 26. Sep 2005, 21:29
Hi

Folgendes...

Ihr kennt doch sicher bei Spielen, wenns um die Tastenbelegung geht dieses "Bitte drücken SIe nun eine Taste" Fenster.

Da drückt man dann irgendwas und diese Taste wird erkannt und eine aktion hinzugefügt.

Sowas brauch ich nun auch

Doch ich habe keine Ahnung wie ich das realisieren soll

also das Programm soll wiegesagt erkennen was ne taste auf dem formular gedrückt wurde.

habt ihr ideen / tipps / links ?

Bin für jede Hilfe dankbar

Gruß Assun
Sebastian Dietrich
http://Assun.de - bald komplett überarbeitet
  Mit Zitat antworten Zitat
Benutzerbild von Nikolas
Nikolas

Registriert seit: 28. Jul 2003
1.528 Beiträge
 
Delphi 2005 Personal
 
#2

Re: "Bitte eine Taste drücken" und dann Virtual Ke

  Alt 26. Sep 2005, 21:31
Schau mal nach dem Form.KeyDown ereigniss an. Das könnte dir helfen. Für die Tastenbelegungen könnte dir
Leuselators Keyboard-programm nutzen.
Erwarte das Beste und bereite dich auf das Schlimmste vor.
  Mit Zitat antworten Zitat
Benutzerbild von Rastaman
Rastaman

Registriert seit: 6. Jan 2005
Ort: Lübbecke
575 Beiträge
 
Turbo C++
 
#3

Re: "Bitte eine Taste drücken" und dann Virtual Ke

  Alt 26. Sep 2005, 21:32
Delphi-Quellcode:
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  ShowMEssage(IntToStr(key));
end;
//Edit: Kein roter kasten ...
Chuck Norris has counted to infinity ... twice!
  Mit Zitat antworten Zitat
BenjaminH

Registriert seit: 14. Okt 2004
Ort: Freiburg im Breisgau
713 Beiträge
 
Turbo Delphi für Win32
 
#4

Re: "Bitte eine Taste drücken" und dann Virtual Ke

  Alt 26. Sep 2005, 21:33
Mh, ich glaube da ist die Property KeyPreview von TForm ganz interessant, da wird jedes Tastaturereigniss erstmal an die Form weitergeleitet(OnKeyDown)..
Grüße Benjamin

P.S: Ja ich hab die anderen Beiträge gesehen, es war ein roter kasten da.., aber ich halte den KeyPreview dafür für sinnvoll..
Benjamin
  Mit Zitat antworten Zitat
Benutzerbild von Assun
Assun

Registriert seit: 3. Feb 2005
Ort: Hilzingen am Bodensee
469 Beiträge
 
Delphi 2005 Personal
 
#5

Re: "Bitte eine Taste drücken" und dann Virtual Ke

  Alt 26. Sep 2005, 21:35
omg wie peinlich ^^

aber trotzdem vielen vielen Dank
Sebastian Dietrich
http://Assun.de - bald komplett überarbeitet
  Mit Zitat antworten Zitat
Benutzerbild von Rastaman
Rastaman

Registriert seit: 6. Jan 2005
Ort: Lübbecke
575 Beiträge
 
Turbo C++
 
#6

Re: "Bitte eine Taste drücken" und dann Virtual Ke

  Alt 26. Sep 2005, 23:07
Is ja nun wirklich nix peinlich dran
Chuck Norris has counted to infinity ... twice!
  Mit Zitat antworten Zitat
Benutzerbild von Assun
Assun

Registriert seit: 3. Feb 2005
Ort: Hilzingen am Bodensee
469 Beiträge
 
Delphi 2005 Personal
 
#7

Re: "Bitte eine Taste drücken" und dann Virtual Ke

  Alt 1. Dez 2005, 21:17
ich stehe leider schon wieder etwas auf dem schlauch....

ich habe nun folgenden code :

Delphi-Quellcode:
procedure TForm1.TastenKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
Tasten.Text := chr(Key);
end;
doch wenn ich nun eine taste drücke wird z.b. wenn ich "a" drücke folgendes im edit angezeigt :

http://img209.imageshack.us/img209/4945/scheiss6ne.jpg

Was mache ich falsch ?
Sebastian Dietrich
http://Assun.de - bald komplett überarbeitet
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#8

Re: "Bitte eine Taste drücken" und dann Virtual Ke

  Alt 1. Dez 2005, 21:25
Gar nichts. Es passiert genau das, was du programmiert hast. Das kleine "a" hast du selber eingegeben und das große wird von deinem Code eingefügt. Von der Tastataur kommen nur Großbuchstaben.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
BenjaminH

Registriert seit: 14. Okt 2004
Ort: Freiburg im Breisgau
713 Beiträge
 
Turbo Delphi für Win32
 
#9

Re: "Bitte eine Taste drücken" und dann Virtual Ke

  Alt 1. Dez 2005, 21:27
Zitat von Assun:
Delphi-Quellcode:
procedure TForm1.TastenKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
Tasten.Text := chr(Key);
end;
Wenn du willst, dass nur chr(Key) als Eingabe angesehen werden soll mache das einfach so:
Delphi-Quellcode:
procedure TForm1.TastenKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
Key := chr(Key);
end;
Benjamin
  Mit Zitat antworten Zitat
Nils_13

Registriert seit: 15. Nov 2004
2.647 Beiträge
 
#10

Re: "Bitte eine Taste drücken" und dann Virtual Ke

  Alt 1. Dez 2005, 21:36
Delphi-Quellcode:
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  Edit1.Text := Edit1.Text + Chr(Key);
  if Key = ord('A') then
    ShowMessage(Edit1.Text);
end;
Ich habe zum testen Enabled auf False gestellt, es läuft einwandfrei.
ShowMessage ersetzen und fertig.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 17:50 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz