Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi String in Char und mit Keybd ausgeben (https://www.delphipraxis.net/140463-string-char-und-mit-keybd-ausgeben.html)

Asatru 18. Sep 2009 16:29


String in Char und mit Keybd ausgeben
 
So hier mal wieder ne kurze Frage

1. memo1.lines.count
2. Line wird in string übernommen
3. Textlänge des strings wird ermittelt
4. naja hier hänge ich

nun frage ich mal, wie muss ich keybd_event fomulieren, das er alle buchstaben der line ausgibt? (Hintereinanderweg)

Mit freundlichen grüßen

Wolfgang Mix 18. Sep 2009 16:46

Re: String in Char und mit Keybd ausgeben
 
Meintest Du sowas?

Delphi-Quellcode:
Editor.Lines.Add (Stringvariable);
Gruß

Wolfgang

p80286 18. Sep 2009 16:48

Re: String in Char und mit Keybd ausgeben
 
Hallo Asatru,

was möchtest Du erreichen?

Die Tastatur ist eigentlich ein Eingabegerät, und kann meistens keine Ausgaben machen.

Willst Du so etwas ähnliches wie eine Laufschrift erstellen?

oder

einen bestimmten Text über eine simulierte Tastatur an ein anderes Programm weiterreichen

oder

????

Gruß
K-H

Asatru 18. Sep 2009 16:48

Re: String in Char und mit Keybd ausgeben
 
Wees absolut net wie ich es formulieren soll

Delphi-Quellcode:
keybd_event(Ord('A'),0,0,0);
gibt ja den Buchstaben a aus, nun möchte ich aber net a haben sondern mychar wees aber net wie ich das in dem Code ausdrücken soll! Mychar soll eben Byte für byte seine ausgabe machn

MFG

Wolfgang Mix 18. Sep 2009 16:51

Re: String in Char und mit Keybd ausgeben
 
Zeige 'mal bitte ein bisschen Code

Gruss

Wolfgang

Namenloser 18. Sep 2009 16:55

Re: String in Char und mit Keybd ausgeben
 
Zitat:

Zitat von Asatru
Wees absolut net wie ich es formulieren soll

Delphi-Quellcode:
keybd_event(Ord('A'),0,0,0);
gibt ja den Buchstaben a aus, nun möchte ich aber net a haben sondern mychar wees aber net wie ich das in dem Code ausdrücken soll! Mychar soll eben Byte für byte seine ausgabe machn

MFG

Delphi-Quellcode:
var
  c: char;
begin
  c := 'A';
  keybd_event(Ord(c),0,0,0);
end;
Auf die einzelnen Characters eines Strings kannst du wie in einem Array zu greifen, also mystring[1] ist das erste Zeichen des Strings. Die wichtigen Hinweise hast du... das eiznige was du jetzt noch bracuhst ist eine Schleife.

Asatru 18. Sep 2009 16:57

Re: String in Char und mit Keybd ausgeben
 
Delphi-Quellcode:
for i:= 0 to mmo1.lines.count - 1 do
begin
  vorname := mmo1.Lines[i];
  for j := 1 to Length(vorname) do begin
    MyChar := vorname[j];
    keybd_event(Ord(MyChar),0,0,0);

  end;
end;
bitte sehr, hoffe es ist verständlich!

in Memo steht eben Anton, Martin, Lea-Sophie usw und alles untereinander!

@Name danke werd ma schauen obsch uff nen grünen punkt komme mit deiner hilfe!

SirThornberry 18. Sep 2009 17:10

Re: String in Char und mit Keybd ausgeben
 
In der Codelib sollte eine Funktion zu finden sein die einen übergebenen String versucht per keybd.. auszugeben.
Was viele nicht bemerken (obwohl in der Hilfe/MSDN erwähnt) ist, das keybd_event Tasten-Drücke simuliert und nicht Zeichen. Will man Beispielsweise ein großes A ausgeben muss man zuvor auch das down der Umschalttaste simulieren und abschließend sollte man auch das Up der Umschalttaste wieder simulieren. Um zu ermitteln welche Tasten notwendig sind um ein Zeichen zu simulieren gibt es wiederum eine andere Funktion.
Entsprechend genügt es nicht einfach das Zeichen welches man dargestellt haben möchte an die Funktion zu übergeben. Denn wie die meisten Wissen liegt das kleine "a" auf der gleichen Taste wie das große "A". Entsprechend wäre es unlogisch, dass man beim ersten Parameter welcher die Taste angibt verschiedene Werte (ord('a') / ord('A') ) angeben muss.
Im Beispiel in der Codelib sollte dies ordentlich geschehen.

Link zum Codelibbeitrag: http://www.delphipraxis.net/internal...=562991#562991

Asatru 18. Sep 2009 17:15

Re: String in Char und mit Keybd ausgeben
 
die groß und kleinschreibung ist mir vorerst egal möchte eben zu lernzwecken erstmal den ersten schritt schaffen, habe in der Codelibery mal nach Keybd gesucht aber wurde mir kein Thema angezeigt *fg*
danke fürs edit schaus mir ma an!

SirThornberry 18. Sep 2009 17:17

Re: String in Char und mit Keybd ausgeben
 
und ich hab in der Codelib nach "keybd_event" gesucht :wink:


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