| Autor |
Beitrag |
foxy
      
Beiträge: 814
Ubuntu, Gentoo
C++, PHP, Java, Ruby, Perl (Eclipse)
|
Verfasst: Fr 04.04.03 11:16
guden
also ich habe mal einen code gefunden, der einen string in eine url umwandelt
bsp: www.auq.de --> [url] www.auq.de[/url]
aufgerufen wird das mit den folgenden werten ...
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36:
| Procedure Form.FromCreate var mask : Word; Begin mask := SendMessage(handle, EM_GETEVENTMASK,0,0); SendMessage(RichEdit1.Handle, EM_SETEVENTMASK,0,mask or ENM_LINK); SendMessage(RichEdit1.Handle,EM_AUTOURLDETECT, Integer(True),0); end; // So rufe ich das auf ... muss nicht in der formcreate stehen
//verweis dann auf Procedure WNDProc //Einbinden mit protected Prcedure WNDProc(var Message: TMessage);Override; end;
Procedure TFORM1.WNDProc(Var Message:Tmessage); var P: TENLink; strUrl:String; Begin if (Message.Msg = WM_Notify) then Begin If (PNMHDR(Message.lParam).code = EN_Link) then Begin P:= TENLINK(Pointer(TWMNotify(Message).NMHdr)^); If (p.MSG = WM_LBUTTONDOWN) then Begin SendMessage(RichEdit1.Handle, EM_EXSETSEL, 0, Longint(@(p.chrg))); strUrl := RichEdit1.SelText; ShellExecute(Handle, 'Open', PChar(strUrl),nil,nil,SW_SCHOWNOEMAL); end end end; inherited; end; |
so wobei eigentlich die procedure ja nur verarbeitet , das die url auch im IE geöffnet wird .... das problem ist nun wenn ich eine Url eingebe wird der Integerwert ja weitergegeben an die Procedure mit sendmessage
aber 1. egal wie ich die url eingebe mit http:// oder nur www.
sie wird nicht umgewandelt es bleibt ein ganz normaler string ... also nix unterstrichen nix ..
iss irgendwo ein fehler im code oder was iss das
zur info man muss die Unit RichEdit einfügen in die uses klausel
_________________ "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)
|
|
Mo
Hält's aus hier
Beiträge: 10
|
Verfasst: Fr 04.04.03 12:00
Hi foxy,
Bei mir funzt das alles wunderbar. Die Formatierung als URL wird ja schon in FormCreate veranlasst.
in WNDProc wird dann die Selektion und die Übersetzung in einen unformatieren String mit anschließendem Aufruf gehandelt.
Also wie gesagt, gleich bei der Eingabe wandelt sich nach z.B www.x Alles in URL Format.
Hast du WNDProc mit override deklariert? Sonst gibts keinen Auffruf.
Gruß Mo
|
|
foxy 
      
Beiträge: 814
Ubuntu, Gentoo
C++, PHP, Java, Ruby, Perl (Eclipse)
|
Verfasst: Fr 04.04.03 12:07
japp habe ich alles ....
ich weis normal sollte es gehn  nur es geht nich ... ahhhhhhhhhhhhhhhhhhhhhhhhhhh MOM da fällt mir was ein ... bää ich bin so ein depp !!! mein richedit steht ja auf Readonly := true
rofl  kann ja nich gehn
ney ney aber dennoch thx
_________________ "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)
|
|
foxy 
      
Beiträge: 814
Ubuntu, Gentoo
C++, PHP, Java, Ruby, Perl (Eclipse)
|
Verfasst: Fr 04.04.03 13:06
hmm es liegt nicht daran ....
ich denke es liegt an etwas anderem
ich rufe ide 3 operationen, die in der formcreate stehen auf , in einem
editfeld und zwar wenn ich vk_return drücke diese Zeile wird dann in richedit eingefügt .... ich denke schon das der das macht nur er gibt es eben nur wieder als string im re aus
kann mir einer ne function sagen, in dem ich das re überprüfen kann, wenn etwas neues eingefügt wird?
also onChange geht nicht
_________________ "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)
|
|
Mo
Hält's aus hier
Beiträge: 10
|
Verfasst: Fr 04.04.03 15:06
Wirklich komisch, auch das funktioniert bei mir. Die Anweisungen können übrigens in FormCreate bleiben, da sie wirksam sind solange das RitchEdit lebt.
Wie fügst du den String ein, über die Zwischenablage? Ich habe aus Faulheit nur
Quelltext 1:
| RichEdit1.Text := Edit1.Text; |
angewiesen.
Gruß Mo
|
|
foxy 
      
Beiträge: 814
Ubuntu, Gentoo
C++, PHP, Java, Ruby, Perl (Eclipse)
|
Verfasst: So 06.04.03 12:02
ne ich füge den mit
Quelltext 1:
| re1.lignes.add(edit1.text); |
vorher noch ein paar abfragen ... aber das ist ja egal einfügen tut er sie ja
nur der p*** wandelt die nicht in url um 
_________________ "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)
|
|
|