Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Problem mit auszugebenen String-Komponenten in Delphi (https://www.delphipraxis.net/93424-problem-mit-auszugebenen-string-komponenten-delphi.html)

Innos 5. Jun 2007 20:44


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:
 
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);
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...

über die SuFu hab ich dann folgenen code herausgefunden:

Delphi-Quellcode:
var sTmp: String;
var FocusHWnd: HWnd;
begin
sTmp := 'bla';
FocusHWnd:= GetFocus;

SendMessage(FocusHWnd, WM_SETTEXT, Length(sTmp), LPARAM(PChar(sTmp)));  
end;
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...
kann mir jemand helfen? plz
vielen Dank schon mal :D

mfg

Ghostwalker 5. Jun 2007 20:57

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;

Innos 5. Jun 2007 21:17

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:
type
  TForm1 = class(TForm)
        procedure SendString(Text:String);
da kommt ständig fehlermeldungen, dass dort ein "TForm1" fehlt und wenn ich das dann hinschreibe will delphi dann ein = hinter SendString 0o


wenn ich das: (Text:String) wegmache, kann ich unten nicht mehr SendString('MeinBenutzername'); schreiben... also hab grad kein Plan

Ghostwalker 5. Jun 2007 21:34

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).

Innos 5. Jun 2007 21:59

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

cruiser 5. Jun 2007 22:04

Re: Problem mit auszugebenen String-Komponenten in Delphi
 
Und die Anzahl der Buchstaben hat welchen Typ? ;)

semo 5. Jun 2007 22:18

Re: Problem mit auszugebenen String-Komponenten in Delphi
 
ich weiß es, ich weiß es... :spin2:

Innos 5. Jun 2007 22:24

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?

semo 5. Jun 2007 22:37

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 asciitabelle. dort sind die ordinalwerte der buchstaben hinterlegt.
die großen Buchstaben beginnen bei 65 und die kleinen bei 97.
du musst also nur den wert ändern im event.

Innos 6. Jun 2007 00:08

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:
 
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);
wenn ich dass U kleinschreibe, kommt da irgend ein anderes zeichen heraus :gruebel:

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.
Seite 1 von 2  1 2      

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