AGB  ·  Datenschutz  ·  Impressum  







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

Unit für Virtual Key Codes?

Ein Thema von PeterPanino · begonnen am 27. Dez 2020 · letzter Beitrag vom 27. Dez 2020
Antwort Antwort
PeterPanino

Registriert seit: 4. Sep 2004
1.465 Beiträge
 
Delphi 10.4 Sydney
 
#1

Unit für Virtual Key Codes?

  Alt 27. Dez 2020, 12:16
Delphi-Version: 10.4 Sydney
Ich muss immer wieder Virtual Key Codes selbst deklarieren, z.B.:

VK_P = 80; Hat denn die Delphi Runtime Library keine Unit, in der ALLE Virtual Key Codes (zumindest die Buchstaben-Tasten) deklariert sind?
Geändert von PeterPanino, damit der Platz auf dem Bildschirm nicht so leer aussieht.

Geändert von PeterPanino (27. Dez 2020 um 12:24 Uhr)
  Mit Zitat antworten Zitat
Delphi.Narium

Registriert seit: 27. Nov 2017
2.490 Beiträge
 
Delphi 7 Professional
 
#2

AW: Unit für Virtual Key Codes?

  Alt 27. Dez 2020, 12:44
Schonmal auf die Idee gekommen, sie selbst zu schreiben und dann bei Bedarf ins Uses aufnehmen?
Delphi-Quellcode:
program PascalScriptUnitVK;
var
  i : Integer;
  sl : TStringList;
begin
  sl := TStringList.Create;
  sl.Add('unit VK;');
  sl.Add('interface');
  sl.Add('const');
  for i := Ord('0') to Ord('9') do sl.Add(Format(' VK_%s = %d;',[Chr(i),i]));
  for i := Ord('A') to Ord('Z') do sl.Add(Format(' VK_%s = %d;',[Chr(i),i]));
  for i := Ord('a') to Ord('z') do sl.Add(Format(' VK_%s = %d;',[Chr(i),i]));
  sl.Add('end.');
  sl.SaveToFile('VK.pas');
  sl.Free;
end.
Bei meinem ollen Delphi 7 sind die gesuchten VKs alle in der Unit Windows zu finden, mit Ausnahme der Ziffern und Buchstaben. Im Kommentar steht in der Unit dann direkt dabei, warum sie nicht in der Unit definiert sind
  Mit Zitat antworten Zitat
PeterPanino

Registriert seit: 4. Sep 2004
1.465 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: Unit für Virtual Key Codes?

  Alt 27. Dez 2020, 12:49
Schonmal auf die Idee gekommen, sie selbst zu schreiben
Das zu vermeiden, war ja der Gegenstand meines Postings.

Die Frage war ja: Gibt es (k)eine Standard-Unit für Virtual Key Codes?
Und nicht: Wie kann ich eine Unit für Virtual Key Codes erzeugen?

Trotzdem Danke. Guten Rutsch!
Geändert von PeterPanino, damit der Platz auf dem Bildschirm nicht so leer aussieht.

Geändert von PeterPanino (27. Dez 2020 um 12:59 Uhr)
  Mit Zitat antworten Zitat
mmw

Registriert seit: 10. Sep 2019
Ort: OWL
337 Beiträge
 
Delphi 12 Athens
 
#4

AW: Unit für Virtual Key Codes?

  Alt 27. Dez 2020, 12:51
vielleicht hier - System.UITypes -

http://docwiki.embarcadero.com/Libra...s#Virtual_Keys

Geändert von mmw (27. Dez 2020 um 12:55 Uhr)
  Mit Zitat antworten Zitat
PeterPanino

Registriert seit: 4. Sep 2004
1.465 Beiträge
 
Delphi 10.4 Sydney
 
#5

AW: Unit für Virtual Key Codes?

  Alt 27. Dez 2020, 13:08
Ich wundere mich, wieso die Unit
C:\Program Files (x86)\Embarcadero\Studio\21.0\source\rtl\common\Sy stem.UITypes.pas
die ScanCode-Konstanten-Namen nicht standardmäßig definiert: vkP = $50; {  80 } Standard wäre ja: VK_XX
Geändert von PeterPanino, damit der Platz auf dem Bildschirm nicht so leer aussieht.
  Mit Zitat antworten Zitat
mmw

Registriert seit: 10. Sep 2019
Ort: OWL
337 Beiträge
 
Delphi 12 Athens
 
#6

AW: Unit für Virtual Key Codes?

  Alt 27. Dez 2020, 14:45
hallo,

das scheint auch erst seit XE4 so zu sein.

Gruß
  Mit Zitat antworten Zitat
PeterPanino

Registriert seit: 4. Sep 2004
1.465 Beiträge
 
Delphi 10.4 Sydney
 
#7

AW: Unit für Virtual Key Codes?

  Alt 27. Dez 2020, 15:07
hallo,

das scheint auch erst seit XE4 so zu sein.

Gruß
Also ein neuer Standard?

Schönen Sonntag!
Geändert von PeterPanino, damit der Platz auf dem Bildschirm nicht so leer aussieht.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Unit für Virtual Key Codes?

  Alt 27. Dez 2020, 15:39
Weil diese Konstanten nur ein Import sind und schon beim Hersteller Microsoft wurden die "Buchstaben" auch nicht definiert, sondern nur als Kommentar erwähnt, dass man sie über einen Cast einfach bekommt, z.B. Ord('P') .
Delphi-Quellcode:
  VK_DELETE = vkDelete; {46}
  VK_HELP = vkHelp; {47}
{ VK_0 thru VK_9 are the same as ASCII '0' thru '9' ($30 - $39) }
{ VK_A thru VK_Z are the same as ASCII 'A' thru 'Z' ($41 - $5A) }
  VK_LWIN = vkLWin; {91}
  VK_RWIN = vkRWin; {92}

Seit wann es diese kurzen Delphi-vkXyz gegenüber den Windows VK_XYZ gibt, kann ich grad nicht sagen,
aber ich vermute das ist gekommen, seitdem/nachdem Delphi nicht mehr nur für Windows kompilieren kann, wo die Windows.pas dann natürlich nicht verwendet werden kann/darf.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (27. Dez 2020 um 15:45 Uhr)
  Mit Zitat antworten Zitat
PeterPanino

Registriert seit: 4. Sep 2004
1.465 Beiträge
 
Delphi 10.4 Sydney
 
#9

AW: Unit für Virtual Key Codes?

  Alt 27. Dez 2020, 17:23
Denke, ich werde mich umgewöhnen und die System.UITypes verwenden.

Gutes neues Jahr an alle!
Geändert von PeterPanino, damit der Platz auf dem Bildschirm nicht so leer aussieht.
  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 09:42 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