AGB  ·  Datenschutz  ·  Impressum  







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

Tastendrücke

Ein Thema von theomega · begonnen am 19. Dez 2002 · letzter Beitrag vom 24. Dez 2002
Antwort Antwort
Seite 1 von 3  1 23      
Benutzerbild von theomega
theomega

Registriert seit: 18. Jun 2002
684 Beiträge
 
#1

Tastendrücke

  Alt 19. Dez 2002, 11:53
Hallo
ich versuche einen Tastendruck zu simulieren, warum aber, funktioniert folgender Code nicht?
Code:
edit1.setfocus;
keybd_event(ord('r'),0,0,0);
Aus ein Paar versuchen, weiß ich, dass er den Tastencode der F3 Taste sendet und nicht den der "r" taste! Was mache ich falsch?

Tnx

TO
  Mit Zitat antworten Zitat
Benutzerbild von nailor
nailor

Registriert seit: 12. Dez 2002
Ort: Karlsruhe
1.989 Beiträge
 
#2
  Alt 19. Dez 2002, 12:02
Spontaner tipp: teste mal ord('R') nicht ord('r')!
Michael N.
http://nailor.devzero.de/code/sharpmath/testing/ --- Tests, Feedback, Anregungen, ... aller Art sehr willkommen!
::: don't try so hard - it'll happen for a reason :::
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#3
  Alt 19. Dez 2002, 12:03
Moin The Omega,

die Taste ist R nicht r.

[EDIT]Mist, zu spät [/EDIT]
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Benutzerbild von S - tefano
S - tefano

Registriert seit: 16. Dez 2002
Ort: Dülmen
477 Beiträge
 
Delphi 2009 Professional
 
#4
  Alt 19. Dez 2002, 12:40
Hi,

Muss man da nicht anstatt den ASCII- Nummern der jeweiligen Taste (die "ord" ja zurückgibt) Hex-Werte übergeben?
Ich hab mir dazu vor einigen Monaten mal was zum Ausprobieren geschrieben, hab aber die Sources nich mehr.
Da hatte ich mir für irgendetwas ne lange Liste von VKeys gemacht, die dann jeweils für einen HexWert ($irgendwas) standen.
Wahrscheinlich hab ich das so gemacht, weil man die HexWerte ja nich mit dieser IntToHex- Funktion errechnen und übergeben kann (die gibt ja nen string zurück).
Die hab ich mir dann von VK_A bis VK_Z und in kleinbuchstaben durchdefiniert.
Vermutlich gibts ne Unit in der die drinstehen, aber die hab ich damals nich gefunden...
Also, wie gesagt:
Mein Vorschlag is, die Acii- Werte als Hex zu übergeben und nich als Integer.
Is aber zu lange her, vielleicht is das auch der falsche Ansatz.

Bis denn,

S - tefano
"Sir, we are surrounded!" - "Excellent, we can attack in every direction!"
  Mit Zitat antworten Zitat
Chewie

Registriert seit: 10. Jun 2002
Ort: Deidesheim
2.886 Beiträge
 
Turbo Delphi für Win32
 
#5
  Alt 19. Dez 2002, 13:02
Hi S-tefano,

es spielt keine Rolle, ob die Zahl als Hexadezimal- oder Dezimalzahl übergeben wird. Die Dezimalzahl ist ja nichts weiteres als eine Kodierung der binären Darstellung im Speicher, die Hexadezimalzahl ebenfalls. Die Unterscheidung ist sinnvoll, da Binärzahlen unbequem zu lesen sind und leicht in Hexadezimalzahlen umwandelbar sind, spielt allerdings bei der Verarrbeitung im Speicher keine Rolle.
Martin Leim
Egal wie dumm man selbst ist, es gibt immer andere, die noch dümmer sind
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#6
  Alt 19. Dez 2002, 13:13
Moin S - tefano,

das Zahlensystem, in dem Du die Zahlen angibst spielt keine Rolle, ob Du also Zahlen zur Basis 10, oder zur Basis 16 nimmst, wird sich nicht im geringsten auf das Auswirken was die Funktion macht.

Zu Deiner Idee mit VK_A usw.
Schau mal in der Hilfe unter "Virtuelle Tastencodes".
Dort wird ausdrücklich darauf hingewiesen, dass solche "normalen" Tasten nicht als virtuelle Tastencodes angelegt wurden. (A bis Z und die Ziffern)
Kann man natürlich machen, womit dann, Vorteil, auch die Unterscheidungsprobleme zwischen A und a wegfallen (vorausgesetzt man legt die Konstanten richtig an ).

Übrigens kannst Du das Ergebnis von IntToHex durchaus als Zahl übergeben, wenn Du ein '$' davorsetzt, also '$'+IntToHex(...) schreibst.

[EDIT]Schon wieder zu spät. Zweimal im gleichen Thread [/EDIT]
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Benutzerbild von S - tefano
S - tefano

Registriert seit: 16. Dez 2002
Ort: Dülmen
477 Beiträge
 
Delphi 2009 Professional
 
#7
  Alt 19. Dez 2002, 13:25
Hi,

jo stimmt, hattest recht. (so @ C.Seehase und Chewie)
Hm, aber ich weiß genau dass ich mir sone Liste angelegt hab...
Komisch.
Naja, also theomega, wenns so wie dus z.Zt. machst nich klappt, kannstes ja mal mit soner Liste versuchen.
Bei mir hats jedenfalls geklappt...


Werd mich am Wochenende und in den Ferien mal damit beschäftigen, so als Nebenprojekt zu meinem anderen Prog, dass hoffentlich laufen wird.

Bis dann,

S - tefano
"Sir, we are surrounded!" - "Excellent, we can attack in every direction!"
  Mit Zitat antworten Zitat
Werner

Registriert seit: 20. Dez 2002
Ort: Berlin
3 Beiträge
 
Delphi 5 Enterprise
 
#8
  Alt 20. Dez 2002, 22:36
Hallo,

ich stand kürzlich vor einem ähnlichen Problem.
Eine Lösung findest Du bei Andreas Blenk

www.blenk-software.de

unter:
Delphi-Tipps
Komponenten/Oberfläche/Anwendung/Strings
Wie kann ich einen simulierten Tastendruck an eine Komponente senden?

Das funktioniert ausgezeichnet. Für das kleine r musst Du
entweder die Dezimalzahl 82 einsetzen oder ord('R').

Für das grosse R musst Du als zweite Taste (Key2) VK_Shift
einsetzen.

Falls Du nicht auf der Tastatur vohandene Zeichen (ALT+.....)
durch Drücken der Funktionstasten erzeugen willst (zB ñ, das war mein
Problem), melde Dich bitte per eMail bei mir.

Werner
  Mit Zitat antworten Zitat
Benutzerbild von hm988
hm988

Registriert seit: 20. Dez 2002
132 Beiträge
 
Delphi 7 Personal
 
#9
  Alt 23. Dez 2002, 21:40
hi,

hab da ein bisl anderes Problem, dachte ich frag mal vielleicht kann mir ja jemand helfen

Habe auf meinem Keyboard eine Umschalttaste für Funktionstasten (doppelte Belegung) wie kann ich die aktiviren deaktivieren ??
Beziehungsweise Standartmäsig aktivieren ?
Microsoft Multimedia Keyboard

gruß Steven
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#10
  Alt 23. Dez 2002, 22:13
Zitat von Werner:
Falls Du nicht auf der Tastatur vohandene Zeichen (ALT+.....)
durch Drücken der Funktionstasten erzeugen willst (zB ñ, das war mein
Problem), melde Dich bitte per eMail bei mir.
Wieso per E-Mail? Wir anderen hier im Forum wollen auch was davon haben.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


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 07:12 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