![]() |
Tastencodes und die Fehlermeldung!
Holla!
Ich möchte meinen Code vereinfachen und lege eine Schleife über meine Tastencodes!
Delphi-Quellcode:
Ich bekomme die Fehlermeldung, dass "'VK_'+form8.bewegungen[i].name" kein Integer ist. Was kann ich machen?
for i := 0 to form8.ComboBox1.Items.Count-1 do
begin if(GetKeyState(StrToInt('VK_'+form8.bewegungen[i].name)) < 0)then //bewegungen[i].name :String ... Max |
Re: Tastencodes und die Fehlermeldung!
Sorg dafür dass es ein Integer wird. Die virtuellen Tastaturcodes (VK_...) stehen nur für Integer-Konstanten.
|
Re: Tastencodes und die Fehlermeldung!
Probier ich doch mit strtoint!
|
Re: Tastencodes und die Fehlermeldung!
Sehr schön. "VK_..." ist nur leider keine Zahl, zu mindest für mich nicht und für die Funktion StrToInt anscheinend auch nicht.
|
Re: Tastencodes und die Fehlermeldung!
ja und was soll ich dann machen?
|
Re: Tastencodes und die Fehlermeldung!
in was soll ich denn "VK_'+form8.bewegungen[i].name" umwandeln?
|
Re: Tastencodes und die Fehlermeldung!
Code:
Kurze Zusammenfassung:
StrToInt('VK_'+form8.bewegungen[i].name))
'VK_' ist eine Zeichenkette ...[i].name ist eine Zeichenkette Ergebnis: Die "+"-Verknüpfung zweier Zeichenketten ist wieder eine Zeichenkette. Eine Zeichenkette kannst du nur dann per StrToInt in einen Ganzzahlwert umwandeln, wenn sie auschließlich aus gültigen Zeichen für Ganzzahlen besteht '0'..'9' (was mit '.' passtiert, weiß ich nicht auf dem Stehgreif). Eines ist aber sicher: Du musst die Ergebniszeichenkette mappen oder eine Fallunterscheidung machen, weil es sich bei den Bezeichnungen, z.B. VK_RETURN, nur um die BEZEICHNUNG einer Konstante handelt. Gruß Andi |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:25 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