| Autor |
Beitrag |
Scrat
      
Beiträge: 73
|
Verfasst: Fr 11.04.03 12:31
Und noch ein Thread....
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.
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
      
Beiträge: 550
Win XP Prof. Mandrake 10.0
D6
|
Verfasst: Fr 11.04.03 13:04
Wo weist du text einen Wert zu?
_________________ If accidentally read, induce vomitting.
|
|
focus
      
Beiträge: 187
XP, 2k, 98, Me
D6 Prof
|
Verfasst: 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 
      
Beiträge: 73
|
Verfasst: 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..
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 
      
Beiträge: 73
|
Verfasst: 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
      

Beiträge: 5502
Erhaltene Danke: 220
Windows 8 , Server 2012
D7 Pro, VS.NET 2012 (C#)
|
Verfasst: 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
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
      
Beiträge: 187
XP, 2k, 98, Me
D6 Prof
|
Verfasst: 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
      

Beiträge: 5502
Erhaltene Danke: 220
Windows 8 , Server 2012
D7 Pro, VS.NET 2012 (C#)
|
Verfasst: 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
      
Beiträge: 814
Ubuntu, Gentoo
C++, PHP, Java, Ruby, Perl (Eclipse)
|
Verfasst: 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 
      
Beiträge: 73
|
Verfasst: Mi 16.04.03 13:25
Hi,
also bei mir erkennt das Programm die Befehle nicht [EM_GETEVENTMASK]:
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.
|
|