![]() |
textausgabe
Hallo.
Ich hab mal ne frage bezüglich der textausgabe bei delphi 7. ich arbeite momentan an einem Programm. folgenden schritt des programms bekomme ich momentan nicht hin: ich starte das programm, gehe dann beispielsweise auf ein word-dokument. das programm soll nun einfach ein wort, dass ich im quelltext definiert habe, schreiben. ich habe dazu bis jetzt folgenden code genutzt:
Delphi-Quellcode:
das wort "bad" soll dabei nur ein beispiel sein.
keybd_event(Ord('bad'), 1,0,0);
wenn ich diesen code verwende, schreibt es aber "214" anstatt "bad". :cry: Woran kann das liegen bzw. gibt es andere Codes, die da eher angebracht sind? Danke! :) [edit=alcaeus]Delphi-Tags korrigiert. Mfg, alcaeus[/edit] |
Re: textausgabe
Ord() gibt dir den Asci-Code der zwischen den Klammern stehenden Zeichen.
Versuchs mal mit:
Delphi-Quellcode:
keybd_event('bad', 1,0,0);
|
Re: textausgabe
schon wieder wer schneller .... diesmal ist das rote Kasterl sogar gekommen :mrgreen:
Egal, das wollte ich schon immer mal sagen: :party: Herzlich Willkommen in der DP :party: PS: für Delphi-Quellcodes gibt es hier Delphi-Tags
Code:
[delphi]mein-delphi-code[/delphi]
|
Re: textausgabe
Du musst für jeden einzelnen Buchstaben die Funktion keybd_event aufrufen.
Genau genommen für jeden Buchstaben 2mal: Taste drücken gefolgt von Taste loslassen. Da dies sehr mühsam ist, gibt es die Unit SndKey32 im Internet, die diese Aufgabe stark vereinfacht: ![]() |
Re: textausgabe
naja, mag ja gut und schön sein, aber wenn ich den buchstaben 'a' ausgeben lassen will und das wie oben schreibe (als einzelnen buchstaben) gibt das eine '1' anstatt 'a' aus. analog dazu dann 2 für b, 3 für c usw.. wie kann man das umgehen/ändern?!
|
Re: textausgabe
Zitat:
Der Ansicode von Buchstabe 'a' ist 97 dezimal. Kuckst du in der Unit Windows.pas und findest dort:
Delphi-Quellcode:
Also entspricht 97 dem Tastendruck auf die "1" im Nummernblock.
VK_NUMPAD1 = 97;
In der Unit windows.pas findest du alle virtual keycodes. (einfach nach VK_LBUTTON suchen) Es gibt für jede Taste auf der Tastatur einen virtual keycode. Da es ca. 103 Tasten sind gibt es grob gesagt auch ebensoviele virt. keycodes. Ob jetzt ein Klein- oder ein Grossbuchstabe gedrückt wird, hängt vom Shiftstatus ab. Für ein grosses A musst du also: SHIFT drücken, Taste a drücken, Taste a loslassen, SHIFT loslassen. Aber wie gesagt: nimm die Unit SndKey32 und du brauchst dir darüber keine Gedanken machen. |
Re: textausgabe
![]() mfg, gordon |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:38 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