Autor Beitrag
Scrat
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 73



BeitragVerfasst: Fr 11.04.03 12:31 
Und noch ein Thread.... 8)

Also zusätzlich hab ich auch noch vor meinChat-Programm so einzurichten, dass wenn man eine URL eingibt, sich diese durch einen Mausklick im Internet-Browser öffnet...klappt aber noch nicht so.

ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
procedure TChatForm.Memo2Click(Sender: TObject);
begin
if Memo2.Text='['+TimeToStr(Time)+'] '+Edit1.text+': '+'www.'  then
begin
ShellExecute(Handle, 'open', PChar('http://www.'+text), nil, nil, SW_SHOW);
end;
end;


PS:
Edit1.text //hier wird der Nickname eingetrgen

_________________
Wenn ein Programm nutzlos ist, muß es dokumentiert werden.
Ex0rzist
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 550

Win XP Prof.
Mandrake 10.0

D6
BeitragVerfasst: Fr 11.04.03 13:04 
Wo weist du text einen Wert zu?

_________________
If accidentally read, induce vomitting.
focus
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 187

XP, 2k, 98, Me
D6 Prof
BeitragVerfasst: Fr 11.04.03 13:13 
ich denke ganz so einfach wird das wohl nicht werden....da
1)nicht immer der link alleine in einer zeile steht.
2)dir TChatForm.Memo2Click nicht nur eine zeile mit memo.text
gibt sondern alle zeichen..


Zuletzt bearbeitet von focus am Fr 11.04.03 13:19, insgesamt 1-mal bearbeitet
Scrat Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 73



BeitragVerfasst: Fr 11.04.03 13:15 
@Ex0rzist
MHHH...jetzt weis ich nicht ge´nau was du meinst...

Also ich hab auf meinem FORM folgende Komponenten:

1 x Edit1 //Hier wird der Nickname eingetragen
1 x Memo1 //Hier wird der zu sendende Text eingetippt
1 x Memo2 //Hier sollen die nachrichten vom
Server und vom Clienten erscheinen.

asooo..ja 'TEXT'...also nirgendwo wird da was zugewiesen.. :oops:

Also alles was nach dem Datum ('['+TimeToStr(Time)+']) und dem Nicknamen (Edit1.text) mit 'www.' anfängt soll bei einem Mouseklick (auf den entsprechenden Wortlaut) im Explorer geöffnet werden.

_________________
Wenn ein Programm nutzlos ist, muß es dokumentiert werden.


Zuletzt bearbeitet von Scrat am Fr 11.04.03 13:17, insgesamt 1-mal bearbeitet
Scrat Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 73



BeitragVerfasst: Fr 11.04.03 13:16 
@focus

aso...aber wie kann man sowas dann verwirklichen... :?:

_________________
Wenn ein Programm nutzlos ist, muß es dokumentiert werden.
UGrohne
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Veteran
Beiträge: 5502
Erhaltene Danke: 220

Windows 8 , Server 2012
D7 Pro, VS.NET 2012 (C#)
BeitragVerfasst: Fr 11.04.03 13:17 
Das kann so doch gar nicht funktionieren, da Memo1.Text ALLE Zeilen des Memos zurückgibt und außerdem nicht jeder Link nur www. heißt, was dahinter ist zählt ja auch :wink:

Du musst also jedes Zeichen einer Memo-Zeile durchgehen und dadurch dann die Charakteristika eines Links erkennen, also ob da http:// steht oder www.
focus
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 187

XP, 2k, 98, Me
D6 Prof
BeitragVerfasst: Fr 11.04.03 13:26 
UGrohne hat folgendes geschrieben:

da Memo1.Text ALLE Zeilen des Memos zurückgibt

siehe oben ;-P

die idee mit dem parsen hatte ich zu anfang auch bis ich angefangen habe mit memo ein bisschen rumzuspielen....
das problem ist das du nicht sagen kannst WO im memo geklickt wurde (zumindest nicht einfach so) und wenn du dann ins memo geklickt hast und z.b. 2 links im feld sind kann nicht unterschieden werden welcher gemeint ist... ?!?!
gruss
michael
UGrohne
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Veteran
Beiträge: 5502
Erhaltene Danke: 220

Windows 8 , Server 2012
D7 Pro, VS.NET 2012 (C#)
BeitragVerfasst: Fr 11.04.03 13:29 
Irgendwo hier im Forum kam doch mal die Frage auf, wie man die Pixellänge eines Strings bekommen kann, einfach mal danach suchen, das ist Punkt 1. Und dann die Zeile rauszukriegen, dürfte auch net so das Problem sein....
foxy
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 814

Ubuntu, Gentoo
C++, PHP, Java, Ruby, Perl (Eclipse)
BeitragVerfasst: Fr 11.04.03 18:54 
das hier hilft dir weiter

www.swissdelphicente...showcode.php?id=1505

allerdings muss ich sagen, das es irgendwie nur ab win2k läuft ... ich weis nicht warum das so ist ... aber bei 98 bsp. zeigt er mir die urls nicht an :?

also ich muss noch kucken was das ist aber der hier tuts denke ich vorerst auch ;)

_________________
"Only wimps use tape backup: real men just upload their important stuff on ftp, and let the rest of the world mirror it." (Linus Torvalds)
OperatingSystem Laptop (Ubuntu Hardy)
Scrat Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 73



BeitragVerfasst: Mi 16.04.03 13:25 
Hi,
also bei mir erkennt das Programm die Befehle nicht [EM_GETEVENTMASK]:

ausblenden Quelltext
1:
2:
3:
mask := SendMessage(Richedit1.Handle, EM_GETEVENTMASK, 0, 0);
  SendMessage(Richedit1.Handle, EM_SETEVENTMASK, 0, mask or ENM_LINK);
  SendMessage(Richedit1.Handle, EM_AUTOURLDETECT, Integer(True), 0);


Muss ich eine bestimmte USES hinzufügen???
MFG
Scrat

_________________
Wenn ein Programm nutzlos ist, muß es dokumentiert werden.