AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Großbuchstaben (Shift) bei WM_KEYUP
Thema durchsuchen
Ansicht
Themen-Optionen

Großbuchstaben (Shift) bei WM_KEYUP

Ein Thema von TheMiller · begonnen am 18. Mai 2009 · letzter Beitrag vom 18. Mai 2009
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von TheMiller
TheMiller

Registriert seit: 19. Mai 2003
Ort: Gründau
2.480 Beiträge
 
Delphi XE7 Architect
 
#1

Großbuchstaben (Shift) bei WM_KEYUP

  Alt 18. Mai 2009, 09:32
Hallo,

ich muss eine Eingabe in meinem Programm automatisieren - es soll später unbeaufsichtigt laufen.

Ich ein Terminal-Fenster muss ich Befehle reinschreiben. Das lasse ich mit Postmessage-WM_KEYUP machen. Doch leider müssen es Großbuchstaben sein.

Nun weiß ich nicht, wie man Großbuchstaben sendet. Vorher ein PostMessage-WM_KEYDOWN VK_Shift funktioniert nicht. Es wird trotzdem ein kleiner Buchstabe gesendet.

Das Terminal befindet sich in meinem Programm.

Habe im Forum schon gesucht und einige gefunden, die das gleiche Problem haben / hatten, aber es stand keine Lösung dabei.

Vielen Dank im Voraus
  Mit Zitat antworten Zitat
BAMatze

Registriert seit: 18. Aug 2008
Ort: Berlin
759 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: Großbuchstaben (Shift) bei WM_KEYUP

  Alt 18. Mai 2009, 09:41
Vieleicht hilft dir ja die Uppercase Funktion aus der SysUtils. Habe sie aber auch noch nicht selber verwendet. aber in der Beschreibung der Hilfe zu Delphi steht drin, dass sie dein String in Goßbuchstaben umwandelt.

MfG
BAMatze
2. Account Sero
  Mit Zitat antworten Zitat
quendolineDD

Registriert seit: 19. Apr 2007
Ort: Dresden
781 Beiträge
 
Turbo Delphi für Win32
 
#3

Re: Großbuchstaben (Shift) bei WM_KEYUP

  Alt 18. Mai 2009, 09:42
Jap. Uppercase ist deine Lösung.
Lars S.
Wer nicht mit der Zeit geht, geht mit der Zeit.
  Mit Zitat antworten Zitat
Benutzerbild von TheMiller
TheMiller

Registriert seit: 19. Mai 2003
Ort: Gründau
2.480 Beiträge
 
Delphi XE7 Architect
 
#4

Re: Großbuchstaben (Shift) bei WM_KEYUP

  Alt 18. Mai 2009, 09:47
Hm.. wie soll das Funktionieren

Ich sende mit PostMessage eine Nachricht, die als in Frage kommende Argumente jeweils einen Integer erwartet. Ein "r" würde dann so aussehen:

PostMessage(Memo1.Handle, WM_KEYUP, 82, 0) Wo soll den da die Uppercase-Umwandlung hin?
  Mit Zitat antworten Zitat
BAMatze

Registriert seit: 18. Aug 2008
Ort: Berlin
759 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: Großbuchstaben (Shift) bei WM_KEYUP

  Alt 18. Mai 2009, 09:49
Zitat von DJ-SPM:
Hm.. wie soll das Funktionieren

Ich sende mit PostMessage eine Nachricht, die als in Frage kommende Argumente jeweils einen Integer erwartet. Ein "r" würde dann so aussehen:

PostMessage(Memo1.Handle, WM_KEYUP, 82, 0) Wo soll den da die Uppercase-Umwandlung hin?
Naja bis jetzt dachte ich, du versendest einen String, aber so kannst du doch eine einfache Char-umwandlung selber kreieren, da zwischen Groß- und Kleinbuchstaben immer ein konstanter Abstand ist.
2. Account Sero
  Mit Zitat antworten Zitat
Benutzerbild von TheMiller
TheMiller

Registriert seit: 19. Mai 2003
Ort: Gründau
2.480 Beiträge
 
Delphi XE7 Architect
 
#6

Re: Großbuchstaben (Shift) bei WM_KEYUP

  Alt 18. Mai 2009, 09:55
Oh ehrlich?

Also ich benutze diese Liste, da stehen aber nur Großbuchstaben drin, die aber in Wirklichkeit Kleinbuchstaben sind, wenn ich die Dezimalzahl so übertrage.

Falls mein Post vorhin etwas "böse" klang: Ist nicht so gemeint. Bin nur noch etwas müde von der Nacht
  Mit Zitat antworten Zitat
BAMatze

Registriert seit: 18. Aug 2008
Ort: Berlin
759 Beiträge
 
Turbo Delphi für Win32
 
#7

Re: Großbuchstaben (Shift) bei WM_KEYUP

  Alt 18. Mai 2009, 10:05
Naja sind ja eigentlich nur Überlegungen gewesen. Die Frage ist ja, ob du nicht irgendwie das ganze so machen kannst:

if key = 114 then PostMessage(Memo1.Handle, WM_KEYUP, 82, 0);
2. Account Sero
  Mit Zitat antworten Zitat
Benutzerbild von TheMiller
TheMiller

Registriert seit: 19. Mai 2003
Ort: Gründau
2.480 Beiträge
 
Delphi XE7 Architect
 
#8

Re: Großbuchstaben (Shift) bei WM_KEYUP

  Alt 18. Mai 2009, 10:08
Ne, irgendwie nicht. Ich finde auch keine Tabelle, in die mich (in der Hinsicht) weiterbringt...
  Mit Zitat antworten Zitat
BAMatze

Registriert seit: 18. Aug 2008
Ort: Berlin
759 Beiträge
 
Turbo Delphi für Win32
 
#9

Re: Großbuchstaben (Shift) bei WM_KEYUP

  Alt 18. Mai 2009, 10:17
Muss es eigentlich direkt eine Postmessage sein?

Habe das in meinem aktuellen Projet für ganze Strings wie folgt gelöst:

in Sendender Unit:
Delphi-Quellcode:
with Datenaustausch do
    begin
      dwData := 0;
      cdData := Length(result) + 1;
      lpData := result;
    end;
  SendMessage(LoaderForm.Handle, WM_COPYDATA, Longint(Handle),
              Longint(@Datenaustausch));
und in Empfangender Unit:
Delphi-Quellcode:

const Nachricht_erhalten = WM_COPYDATA;
...
procedure Nachricht_anzeigen(var MSG: TWMCopyData);message Nachricht_erhalten;
...
procedure TLoaderForm.Nachricht_anzeigen(var MSG: TWMCopyData);
var Datenaustausch: TDatenaustausch;
begin
  // Die Anzeige der einzelnen Mitteilungen soll jetzt in mehreren Zeilen
  // unter dem Label "Bitte warte, ..." angezeigt werden. Dies soll in
  // einer neuen Klasse geschehen, die dynamisch eine bestimmte Anzahl
  // an Labels erstellt, diese auf der Form Plaziert und wenn mehr Nachrichten
  // erscheinen, als dynamisch erzeugbare Labels auf der Form dargestellt werden
  // können, sollen sie chronologisch wieder gelöscht werden.
  HilfsLabel.Caption := String(PChar(Msg.CopyDataStruct.lpData));
  AnzeigeLabel.Left := round((LoaderForm.Width-HilfsLabel.Width)/2);
  AnzeigeLabel.Caption := HilfsLabel.Caption;
  Self.Refresh;
  sleep(200);
end;
könnte das eventuell helfen?

MfG
BAMatze

PS.: Ist natürlich nicht auf meinem Mist gewachsen sondern von einem Threat hier aus der DP, leider kenne ich den Namen des ursprünglichen Autors der Antwort nicht, also lasse ich den hier mal weg.
2. Account Sero
  Mit Zitat antworten Zitat
Benutzerbild von TheMiller
TheMiller

Registriert seit: 19. Mai 2003
Ort: Gründau
2.480 Beiträge
 
Delphi XE7 Architect
 
#10

Re: Großbuchstaben (Shift) bei WM_KEYUP

  Alt 18. Mai 2009, 10:26
So, da bin ich wieder.

Ich habe jetzt mal noch Keybd_Event geschaut, da dies öfter im Zusammenhang mit den WM_KEY*-Messages steht. Hier habe ich dann in der CodeLibrary diesen Beitrag gefunden, der genau das macht, was ich möchte. Ich muss ihn allerdings nochmal studieren

Tut mir leid, für die Mühe, die du dir so früh morgens schon gemacht hast. Ich bedanke mich trotzdem recht herzlich bei dir.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 11:44 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