Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

URL [D7, XP]


Adios ©   (2007-03-20 13:14:00) 

как мне в мемо или ричэдит выделить URL если таковой появится, или обрезать весь текст и оставить тока ссылку?


clickmaker   (2007-03-20 15:37:00) [1]

точно. Начиная с 2000. А в 98/NT4 riched32 была отдельной версией


clickmaker   (2007-03-20 14:09:00) [2]


> [10] sniknik ©   (20.03.07 14:02)

а, все понял
видимо в новых ОС riched32 просто wrapper, судя по секции импорта

RICHED20.dll
RichEdit10ANSIWndProc


sniknik   (2007-03-20 14:02:00) [3]

> т.е. первой версии, в которой эта фича не работает
в первый раз от тебя слышу... ну может раньше было... не сталкивался в общем. всегда работало.

> Наследника написал?
ничего не писал, кроме показанного, в d7 работает (в смысле ссылки выделяет, если нужно чтобы еще и кликались то там еще чуток кода надо добавить (вопроса о кликах не стояло ;о)))


clickmaker   (2007-03-20 13:57:00) [4]


> а типа Rx както по другому работает

Rx грузит riched20.dll, если есть. А стандартный richedit32, т.е. первой версии, в которой эта фича не работает

Наследника написал?


sniknik   (2007-03-20 13:47:00) [5]

> и у тебя это в стандартном работает? Не Rx?
а типа Rx както по другому работает... имхо таже надстройка над стандартным, как и все компоненты.
а так как у нас использование "левых"  компонент запрещено,  приходится выкручиваться...

и кстати... перечитал вопрос, и видимо я не о том вовсе... (слово "выделить" неправильно интерпретировал ;)

> у меня компилятор EM_GETEVENTMASK
не все показанное перенес...


Adios   (2007-03-20 13:43:00) [6]

у меня компилятор EM_GETEVENTMASK не пропускает, говорит что неизвестная переменная


clickmaker   (2007-03-20 13:42:00) [7]


> [3] sniknik ©   (20.03.07 13:39)

и у тебя это в стандартном работает? Не Rx?


Adios   (2007-03-20 13:41:00) [8]

text я так понял это текст из которого выборка происходит, а как мне пробелом ограничить?
например
if pos('http://',adress)>0 then showmessage(adress);
но если adress содержит пробел после ссылки и ещё символы, то сообщение всёравно выскакивает


sniknik   (2007-03-20 13:40:00) [9]

Rect: TRect; лишнее затесалось... (правил здесь).


sniknik   (2007-03-20 13:39:00) [10]

uses RichEdit;

procedure TForm1.FormCreate(Sender: TObject);

 procedure SetVisibleLink(RichEdit: TRichEdit);
 var
   mask: Word;
   Rect: TRect;
 begin
   with RichEdit do begin
     mask:= SendMessage(Handle, EM_GETEVENTMASK, 0, 0);
     SendMessage(Handle, EM_SETEVENTMASK, 0, mask or ENM_LINK);
     SendMessage(Handle, EM_AUTOURLDETECT, Integer(True), 0);
   end;
 end;

begin
 SetVisibleLink(RichEdit1);
end;


clickmaker   (2007-03-20 13:22:00) [11]


>  выделить URL

Pos('http://', text) и далее до пробела или >, если ссылка начинается с <


Джо   (2007-03-20 13:17:00) [12]

См. по теме «конечные автоматы».


Наверх

Титульная страница Поиск, карта сайта Написать письмо