Avatar billede stone Forsker
22. maj 2000 - 22:58 Der er 1 kommentar og
3 løsninger

hyberlink i RichEdit

hvordan kan man få Richedit til at genkende en hyberlink når man skriver den.
den skal farves blå og understreges.

er det muligt?
Avatar billede borrisholt Novice
24. maj 2000 - 00:19 #1
Der er ikke sådan lige noget man gør ....Jeg har en stører komponent suite der kan alt det der med systak high lightning og alt det der. Det hele er open soruce of Freeware.

Der er allerede indbygger syntax highlightning for en masse sprog, og du kan endda definere dine egne ...

Hvis du er intresseret så send mig en mail og koden er din !

Jens B

Avatar billede sjensen Nybegynder
24. maj 2000 - 11:49 #2
stone,

kort svar på dit spm: Nej det kan du ikke med RichEdit komponentet.

Som borrisholt skriver skal du finde et andet komponent der kan det. Prøv evt. at lede på Delphi Superpage:

http://sunsite.icm.edu.pl/delphi/
Avatar billede retep Nybegynder
24. maj 2000 - 14:21 #3
Tjaaa.. Hvorfor kan man ikke bare søge hele teksten igennem, og farve - og understrege alle ord, der starter med 'www.' og/eller 'http://' ?!

Det må da være muligt... Men det gør selvf. ikke ordet til et Internet-link.
Avatar billede retep Nybegynder
24. maj 2000 - 05:17 #4
Jeg giver op!!! Kan ikke få det til at virke helt som det skal :-/

Her er hvad jeg indtil nu har lavet, måske kan du bruge noget af det?!

procedure TForm1.RichEdit1Change(Sender: TObject);
const
  keyword = 'www.';
Var
s , s1, s2 : String;
i, f, b, Q : integer;
begin
s:= richedit1.Text;
f := 0;
b := 0;

For i := 0 to length(s) - 1 do
begin
  if (s[i] = ' ') or (i = (length(s)-1)) or (s[i] = #13) then
  begin
      RichEdit1.SelAttributes.Color := clBlack;
      richedit1.SelAttributes.Style := [];
      b := i;
      if f <> b then
      begin
      s1 :=copy(S, f + 1,b-f);
      s2 := copy(s1,1,length(keyword))  ;
        If s2 = keyword then
        begin
          q := RichEdit1.SelStart;
          RichEdit1.SelStart := f;
          RichEdit1.SelLength := length(S1) - 1;
          RichEdit1.SelAttributes.Color := clBlue;
          richedit1.SelAttributes.Style := [fsunderline];
          RichEdit1.SelLength := 0;
          RichEdit1.SelAttributes.Color := clBlack;
          richedit1.SelStart := q;
        end;

        f := b;
      end;
  end;//if ''
end;//for i
end;

Mvh
Retep
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester