![]() |
ShortCut zuweisen?
Wie wandel ich den Integer richtig um, damit der Short Cut wirklich z.B. STRG + 1 lautet :?:
Code:
i ist ein Integer mit einem Wert zwischen 0 und 9.
NewItem.ShortCut:=ShortCut(Ord(i+1),[ssCtrl]);
Gruß |
i + ord('1');
|
Hallo jbg,
müsste es nicht i+Ord('0') heißen? |
Wenn er auch [STRG]+[0] haben will, dann ja.
|
Hallo jbg,
Ord('0') ist doch 48. Wenn du also die 0 übergeben willst brauchst du 48+0, bei 1 dann 48 +1. Wenn du jedoch i+Ord('1') übergibst, erhälst du für i= 0 die 49, für i=1 die 50, etc... => es ist tatsächlich immer i+Ord('0') :roll: |
Ich bin von seinem Code ausgegangen:
Zitat:
Ich sehe aber gerade, dass er damit auch STRG+10 erhalten würde, was sicher nicht seine Absicht ist. Ergo es muss doch ord('0') heißen. |
Hi,
er möchte Strg+0 bis Strg+9. Also 10 Zahlen. |
@ Daniel B: Gut das andere wissen, was ich will. :)
Nur eigentlich sollte die 0 erst nach der 9 kommen, weshalb die obige Lösung nicht richtig brauchbar ist. Also Strg + 1,2,3,...9,0! Deshalb ist es ja so kompliziert und ich weiß keine Lösung. |
Moin Tpercon,
dann versuch's doch mal mit
Code:
Das sollte eigentlich das Gewünschte erreichen.
for i := 1 to 10 do
begin NewItem.ShortCut:=ShortCut(48+(i mod 10),[ssCtrl]); end; |
Danke, es funktioniert wie gewollt!
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:37 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