![]() |
Problem mit auszugebenen String-Komponenten in Delphi
Hi
Hab mich grad ma frisch hier angemeldet :) und NATÜRLICH die Suchfunktion ausgiebig getestet^^ aber: ich will ein ganzes wort in einem anderem Programm, dass fokussiert is, ausgeben... habs auch eigentlich scho geschafft. Habe aber leider jeden einzelnen Buchstaben ansprechen müssen: also zB:
Delphi-Quellcode:
das klappt auch ohne probs, nur wird es ab zwei Worten (ID und Passwort) ziemlich lang und ich will irgendwann noch diese Daten über eine InputBox einfügen...Keybd_Event(Ord('U'),0,0,0); Keybd_Event(Ord('U'),0,KEYEVENTF_KEYUP,0); Keybd_Event(Ord('L'),0,0,0); Keybd_Event(Ord('L'),0,KEYEVENTF_KEYUP,0); über die SuFu hab ich dann folgenen code herausgefunden:
Delphi-Quellcode:
so das funktioniert nicht -.- und dieses FocusHWnd kann ich mir doch eigentlich sparen oder? das Programm is eh maximiert und das Editfeld is auch aktiv...
var sTmp: String;
var FocusHWnd: HWnd; begin sTmp := 'bla'; FocusHWnd:= GetFocus; SendMessage(FocusHWnd, WM_SETTEXT, Length(sTmp), LPARAM(PChar(sTmp))); end; kann mir jemand helfen? plz vielen Dank schon mal :D mfg |
Re: Problem mit auszugebenen String-Komponenten in Delphi
Also..für das 1. Vorgehen wüßte ich ne Vereinfachung..nämlich das ganze einfach in eine Funktion packen, das dir den String rüberschickt. Das könnte ungefähr so aussehen:
Delphi-Quellcode:
Procedure SendString(Text:String);
var i : integer; begin for I := 1 to length(text) do begin Keybd_Event(Ord(Text[i]),0,0,0); Keybd_Event(Ord(Text[i]),0,KEYEVENTF_KEYUP,0); end; end; : //Aufruf begin SendString('MeinBenutzername'); SendString('MeinPasswort'); end; |
Re: Problem mit auszugebenen String-Komponenten in Delphi
jo thx^^ habs soweit verstanden und schon ma ausprobiert...
nur wenn ich die procedure oben deklariere
Delphi-Quellcode:
da kommt ständig fehlermeldungen, dass dort ein "TForm1" fehlt und wenn ich das dann hinschreibe will delphi dann ein = hinter SendString 0o
type
TForm1 = class(TForm) procedure SendString(Text:String); wenn ich das: (Text:String) wegmache, kann ich unten nicht mehr SendString('MeinBenutzername'); schreiben... also hab grad kein Plan |
Re: Problem mit auszugebenen String-Komponenten in Delphi
Liste der Anhänge anzeigen (Anzahl: 1)
So..im Anhang findest du mal ein Beispiel-Projekt (Turbo Delphi, sollte aber auch mit anderen Versionen Funktionieren).
|
Re: Problem mit auszugebenen String-Komponenten in Delphi
coool^^ VIELEN dank dass du dir so viel mühe machst :)
ABER :D er gibt immerhin scho was aus ... nur wenn ich auf den button klicke hängt sich das ganze program auf, da es glaub eine endlosschleife oder sowas ist. Frage: ist "lenght(Text)" eigentlich überhaupt Integer? dass soll doch eig die anzahl der buchstaben von Text ensprechen oder? EDIT!: so habs jetzt... der fehler: beim SendString(YOBABY); muss alles groß geschrieben werdenn -.- womit wir auch schon beim nächsten prob wären :D |
Re: Problem mit auszugebenen String-Komponenten in Delphi
Und die Anzahl der Buchstaben hat welchen Typ? ;)
|
Re: Problem mit auszugebenen String-Komponenten in Delphi
ich weiß es, ich weiß es... :spin2:
|
Re: Problem mit auszugebenen String-Komponenten in Delphi
jajaja^^ Interger :drunken:
habs ja auch scho :D is halt nur, dass ich jetzt bei meiner InputBox nur Großbuchstaben eingeben muss um Kleinbuchstaben auszugeben 0o ich kann also keine großbuchstaben ausgeben, weil man in der InputBox nur großschreiben darf :wall: boaah ich schreib morgen informatik klausur und bin voll vom thema abgekommen :lol: da kommen mod und div oder boolsche ausdrücke dran ... aba zurück zu meinem program^^ kann man irgendwie das problem umgehen? |
Re: Problem mit auszugebenen String-Komponenten in Delphi
inputbox? du meinst ein tedit?
dann schau dir mal das event OnKeyPress bzw OnKeyDown an. und dann noch die ![]() die großen Buchstaben beginnen bei 65 und die kleinen bei 97. du musst also nur den wert ändern im event. |
Re: Problem mit auszugebenen String-Komponenten in Delphi
*hust*
also 1. ^^ ich mein die InputBox... dass is sone art showmessage nur mit eingabe :) 2. dein link funzt irgendwie nicht 3. hab ich keine ahnung, was du mit ordinalwerte meinst :D und dieses ab 97 etc ich weiß nur, dass ich in meine inputBox zB. LaterNe eingeben, aber iwas anderes rauskommt also^^ ich schreibe in die inputbox irgendein srting mit kleinen buchstaben... das wird alles erkannt etc und sogar richtig in meiner .txt datei gespeichert... nur wenns zur tastatur geht, erkennt der wohl deine ordinalwerte net so ganz xD kA was das is^^ aber wenn ich in der InputBox alles groß schreibe, wird alles (kleingeschrieben) über die tastatur ausgegeben. habe so einen befehl
Delphi-Quellcode:
wenn ich dass U kleinschreibe, kommt da irgend ein anderes zeichen heraus :gruebel:Keybd_Event(Ord('U'),0,0,0); Keybd_Event(Ord('U'),0,KEYEVENTF_KEYUP,0); Keybd_Event(Ord('L'),0,0,0); Keybd_Event(Ord('L'),0,KEYEVENTF_KEYUP,0); EDIT: btw was sind eig die ganzen Nullen? vielleicht die ordinalzahlen?? EDIT2 0o: jetzt geht dein link... aber prob is, dass der dass alleine erkennen soll, ob groß oder klein... also aus dem String: Laterne , soll er die richtigen ordinalzahlen wählen :shock: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:32 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