AGB  ·  Datenschutz  ·  Impressum  







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

textausgabe

Ein Thema von Thorondor · begonnen am 30. Mai 2005 · letzter Beitrag vom 30. Mai 2005
Antwort Antwort
Thorondor

Registriert seit: 30. Mai 2005
Ort: Rathmannsdorf
2 Beiträge
 
#1

textausgabe

  Alt 30. Mai 2005, 13:31
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:

keybd_event(Ord('bad'), 1,0,0); das wort "bad" soll dabei nur ein beispiel sein.
wenn ich diesen code verwende, schreibt es aber "214" anstatt "bad".

Woran kann das liegen bzw. gibt es andere Codes, die da eher angebracht sind?

Danke!

[edit=alcaeus]Delphi-Tags korrigiert. Mfg, alcaeus[/edit]
  Mit Zitat antworten Zitat
Benutzerbild von gordon freeman
gordon freeman

Registriert seit: 28. Jun 2003
Ort: Gelsenkirchen
337 Beiträge
 
Delphi 2005 Personal
 
#2

Re: textausgabe

  Alt 30. Mai 2005, 13:37
Ord() gibt dir den Asci-Code der zwischen den Klammern stehenden Zeichen.
Versuchs mal mit:
keybd_event('bad', 1,0,0);
  Mit Zitat antworten Zitat
Benutzerbild von idontwantaname
idontwantaname

Registriert seit: 31. Aug 2004
Ort: Traiskirchen
575 Beiträge
 
Turbo Delphi für Win32
 
#3

Re: textausgabe

  Alt 30. Mai 2005, 13:40
schon wieder wer schneller .... diesmal ist das rote Kasterl sogar gekommen
Egal, das wollte ich schon immer mal sagen:

Herzlich Willkommen in der DP



PS: für Delphi-Quellcodes gibt es hier Delphi-Tags
Code:
[delphi]mein-delphi-code[/delphi]
Oliver Hanappi
Besucht meine neue Homepage: http://oli.hux.de
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#4

Re: textausgabe

  Alt 30. Mai 2005, 13:46
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:
Bei Google suchensndkey32 delphi
Andreas
  Mit Zitat antworten Zitat
Thorondor

Registriert seit: 30. Mai 2005
Ort: Rathmannsdorf
2 Beiträge
 
#5

Re: textausgabe

  Alt 30. Mai 2005, 13:56
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?!
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#6

Re: textausgabe

  Alt 30. Mai 2005, 14:24
Zitat von Thorondor:
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?!
Die Funktion keybd_event möchte als Argument nicht den Ansicode sondern den Virtual Keycode haben.
Der Ansicode von Buchstabe 'a' ist 97 dezimal.
Kuckst du in der Unit Windows.pas und findest dort:
VK_NUMPAD1 = 97; Also entspricht 97 dem Tastendruck auf die "1" im Nummernblock.
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.
Andreas
  Mit Zitat antworten Zitat
Benutzerbild von gordon freeman
gordon freeman

Registriert seit: 28. Jun 2003
Ort: Gelsenkirchen
337 Beiträge
 
Delphi 2005 Personal
 
#7

Re: textausgabe

  Alt 30. Mai 2005, 17:11
Hier ist die Liste der virtuellen Tastencodes aus der Code-Library. Wenn du willst kannste ja auch damit dein keybd_event ansteuern.

mfg, gordon
  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 06:37 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