Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Keybd_event Groß/Kleinschreibung (https://www.delphipraxis.net/122216-keybd_event-gross-kleinschreibung.html)

MaToBe 11. Okt 2008 13:26


Keybd_event Groß/Kleinschreibung
 
Hallo,

ich habe diesen Teilcode meines Programmes hier.

Delphi-Quellcode:

text := edtEingabe.text;
for i:=1 to length(text) do
      begin
        keybd_event( Ord(text[i]), MapVirtualKey(Ord(text[i]) ,0), 0, 0);
        Sleep(100);
        keybd_event( Ord(text[i]), MapVirtualKey(Ord(text[i]) ,0), KEYEVENTF_KEYUP, 0);
      end;
Mein Problem ist, dass dieser Code nicht so richtig funktioniert.

Wenn ich im edtEingabe nur mit Großbuchstaben schreibe, kommt der Text komplett in Kleinbuchstaben an.
Wenn ich im edtEingabe nur in Kleinbuchstaben schreibe, kommt sowas wie "H1/3" an.
Wenn ich im edtEingabe gemischt schreibe, kommt eine Mischung aus richtigen Buchstaben und falschen an.

Woran kann das liegen? Bei Ord() hat doch jeder Buchstabe eine fest zugewiesene Ziffer!

MFG

Apollonius 11. Okt 2008 13:29

Re: Keybd_event Groß/Kleinschreibung
 
keybd_event simuliert einen Tastendruck. Bei Tastendrücken gibt es keine Groß/Klein-Schreibung. Keybd_event nimmt als ersten Parameter den sog. "Virtual Key Code" der Taste, welcher für Buchstabentasten eben Ord(Großbuchstabe) ist.

Neutral General 11. Okt 2008 13:30

Re: Keybd_event Groß/Kleinschreibung
 
Hi,

Naja. du drückst mit Keybd_event virtuell Tastaturtasten. Was muss man als Mensch drücken, um Buchstaben groß zu schreiben? ;)

DeddyH 11. Okt 2008 13:32

Re: Keybd_event Groß/Kleinschreibung
 
IIRC gibt es in der Codelib bereits eine fertige Funktion, die einem das ganze "Gehampel" abnimmt.

MaToBe 11. Okt 2008 13:38

Re: Keybd_event Groß/Kleinschreibung
 
Zitat:

Zitat von DeddyH
IIRC gibt es in der Codelib bereits eine fertige Funktion, die einem das ganze "Gehampel" abnimmt.

wow danke das ging ja schnell. Stimmt war ein kleiner Denkfehler von mir. Von der Codelib hab ich schonmal gehört. Ich dachte immer die ist im Borland Ordner, hab eben nochmal nachgeschaut aber nichts gefunden. Wo finde ich die den bitte?

DeddyH 11. Okt 2008 13:48

Re: Keybd_event Groß/Kleinschreibung
 
Hier

MaToBe 11. Okt 2008 15:47

Re: Keybd_event Groß/Kleinschreibung
 
danke für die schnelle und gute hilfe

proplem gelöst


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:14 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