Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Leider nochmal mit den Handels (https://www.delphipraxis.net/104291-leider-nochmal-mit-den-handels.html)

Masteric 1. Dez 2007 00:55


Leider nochmal mit den Handels
 
Hi ich brauche nochmal Hilfe.

Ich habe vorhin diesen Beitrag gepostet.
Alter Beitrag

Ich wollte Empfangene Nachrichten, die über QIP kommen auslesen und eventuell aus meinem Programm welche verschicken.

So ich habe jetzt die Klasse der Felder, die ich brauche rausbekommen mit WinSpy und auch das Handle.

Wie kann ich jetzt den Inhalt in meine Anwendung einlesen oder Texte in ein Feld darin schreiben?

Gruß Masteric

Dunkel 1. Dez 2007 01:11

Re: Leider nochmal mit den Handels
 
Und warum benutzt Du nicht Deinen alten Thread für diese artverwandte Frage?!?

Masteric 1. Dez 2007 01:29

Re: Leider nochmal mit den Handels
 
weil man pro thread ja eingetlich nur eine Frage stellen soll, aber egal....

bitsetter 1. Dez 2007 08:48

Re: Leider nochmal mit den Handels
 
Zitat:

Zitat von Masteric

So ich habe jetzt die Klasse der Felder, die ich brauche rausbekommen mit WinSpy und auch das Handle.

Wie kann ich jetzt den Inhalt in meine Anwendung einlesen oder Texte in ein Feld darin schreiben?

Hallo,

bei der Gelegenheit hättest du uns ja gleich verraten können, welchen Klassenname die Felder nun haben, dann könnte man eventuell schon sagen wie man die Felder auslesen kann. Da das Programm ja angeblich in Delphi geschrieben worden ist kann man hoffen, dass es Standardkomponenten sind.

Masteric 1. Dez 2007 14:21

Re: Leider nochmal mit den Handels
 
oh ja sry werde ich gleich mal nachholen... :?

einmal trichview zum auslesen, also wo empfangene nachrichten angezeigt werden und trichviewedit, wo nachrichten die gesendet werden sollen reingeschreiben werden. Der Button ist ein tinfbitbtn. Hoffe das war das was ihr meintet.

bitsetter 1. Dez 2007 20:10

Re: Leider nochmal mit den Handels
 
Zitat:

Zitat von Masteric
oh ja sry werde ich gleich mal nachholen... :?

einmal trichview zum auslesen, also wo empfangene nachrichten angezeigt werden und trichviewedit, wo nachrichten die gesendet werden sollen reingeschreiben werden.

Da hast du schon mal schlechte Karten, die beiden Komponenten stammen wahrscheinlich von http://www.trichview.de/ und ist Shareware. Dort steht:
Zitat:

Es ist nicht auf Microsofts RichEdit Komponenten aufgebaut.
Mit Hilfe der Win32Api wird es IHMO wohl nicht so ohne weiteres möglich sein den Text der Komponenten auszulesen oder zu setzen. Man müsste wohl zumindest selber die Komponenten besitzen und bedienen können damit man den Text auslesen kann.

EDIT: Habe mir das Programm QIP mal angesehen, da konnte ich allerdings problemlos mit dem Code aus dem 1. Thread Text aus einem TRichView auslesen. Hast du es mit dem Code mal probiert?

Masteric 2. Dez 2007 12:16

Re: Leider nochmal mit den Handels
 
ja probiert hab ich's, funzt auch einwandfrei, aber das Handle von dem Textfeld ändert sich leider bei jedem öffnen eines Chat Fensters, deswegen müsste ich das Handle jedes Mal neu nachschauen, deswegen brauch ich eine möglichkeit, die das Handle des Feldes immer wieder neu holt. Geht das vielleicht so wie es mit Findwindow() geht? Da bekommt man ja auch das Handle des Fensters. Oder wenn ich das Fensterhandle hab, dass ich dann darüber irgendwie auf das handle des Textfeldes komm??? :gruebel:

dominikkv 2. Dez 2007 12:35

Re: Leider nochmal mit den Handels
 
ja, du musst zuerst das handle von chatfenster rausbekommen, dann das handle vom eingabefeld.
such hier mal im forum, da gibts eigendlich genug zu diesem thema... zB
klick

bitsetter 2. Dez 2007 12:47

Re: Leider nochmal mit den Handels
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo,

du hast doch jetzt das Tool WinSpy, damit kannst du auch gleich den Code für Delphi genieren lassen.

Masteric 2. Dez 2007 14:25

Re: Leider nochmal mit den Handels
 
cool! Danke für den Tipp, ich probiers gleich mal aus und meld mich dann nochmal

Masteric 2. Dez 2007 14:53

Re: Leider nochmal mit den Handels
 
also das mit dem Nachricht empfangen funtzt jetzt, also schon mal großen DANK :thumb: echt gut!

Aber jetzt geht es weiter mit dem Text reinschreiben, da bräuchte ich auch nochmal nen tipp, also das handle etc von dem Textfeld zu finden ist kein Problem mehr nur das ich nen text an es sende ist nicht so einfach....

da bräuchte ich nochmal nen tipp. :-D

Gruß Masteric

bitsetter 2. Dez 2007 16:56

Re: Leider nochmal mit den Handels
 
Das Gegenstück zu WM_GETTEXT wäre WM_SETTEXT.

Delphi-Quellcode:
var
  MyText: AnsiString;
begin
   MyText:= 'hallo';
   SendMessage(..., WM_SETTEXT, 0, cardinal(@MyText[1]));

Masteric 2. Dez 2007 17:27

Re: Leider nochmal mit den Handels
 
Zitat:

SendMessage(..., WM_SETTEXT, 0, cardinal(@MyText[1]));
wofür steht das letzte? das @mytext[1]?

Aber schon mal nen dickes DANKE :cheers:

bitsetter 2. Dez 2007 17:38

Re: Leider nochmal mit den Handels
 
Hier kannst du es selber nachlesen, da wir als Parameter die Adresse des Strings mit übergeben.

Masteric 2. Dez 2007 17:51

Re: Leider nochmal mit den Handels
 
danke für den Link, der hilft mir nur leider nicht wirklich weiter.... :(

Ich denke zwar, dass das wie ichs gelöst hab total falsch ist, es geht nämlich nicht. Ich habe aber von handels etc. noch nicht wirklich Ahnung.....

Delphi-Quellcode:
Mytext:=Memo2.Text;
SendMessage(send, WM_SETTEXT, 0, cardinal(@MyText[1]));
So hab ichs probiert wo bei im Memo2 der Text ist und send die hwnd Variable ist mit dem Handle des Feldes wos hinsoll.

Ich habe es erstmal so wie du's hattest übernommen, um zu sehen wie es geht und ob es geht, aber ich denke mal da fehlt noch was....

Hilf mir bitte noch Mal weiter :roll:

bitsetter 2. Dez 2007 19:30

Re: Leider nochmal mit den Handels
 
Ich habe jetzt mit dem Programm noch etwas experimentiert, versuche es jetzt noch einmal:
Delphi-Quellcode:
  MyText:= memo2.Text;
  SendMessage(send, WM_SETTEXT, length(MyText)+ 1, cardinal(@MyText[1]));
  RedrawWindow(send, nil, 0, RDW_INVALIDATE or RDW_ERASE);

Masteric 4. Dez 2007 17:37

Re: Leider nochmal mit den Handels
 
DANKE DANKE DANKE !!1 :cheers:

Der Code funzt PRIMA!

Echt erste Sahne. :hello:

Vielen Dank für die Hilfe, hoffe ich kannd dir auch Mal helfen...


Gruß Masteric


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:04 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 by Thomas Breitkreuz