Autor Beitrag
foxy
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 814

Ubuntu, Gentoo
C++, PHP, Java, Ruby, Perl (Eclipse)
BeitragVerfasst: 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 ...
ausblenden volle Höhe Quelltext
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



BeitragVerfasst: 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 814

Ubuntu, Gentoo
C++, PHP, Java, Ruby, Perl (Eclipse)
BeitragVerfasst: 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 :D kann ja nich gehn :autsch:

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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 814

Ubuntu, Gentoo
C++, PHP, Java, Ruby, Perl (Eclipse)
BeitragVerfasst: 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



BeitragVerfasst: 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

ausblenden Quelltext
1:
RichEdit1.Text := Edit1.Text;					


angewiesen.

Gruß Mo
foxy Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 814

Ubuntu, Gentoo
C++, PHP, Java, Ruby, Perl (Eclipse)
BeitragVerfasst: So 06.04.03 12:02 
ne ich füge den mit
ausblenden 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)