Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.10.09;
Скачать: CL | DM;

Вниз

Распознование ссылок в тексте   Найти похожие ветки 

 
vidiv ©   (2005-09-18 11:31) [0]

Есть текст, надо найти в нем ссылки и выдилить соответственно! Главное - надо делать очень быстро на большом тексте (100кб)!
У когонибудь есть стоющие предложения как это сделать? Желательно без регулярных выражений. (Нормальную реализацию последних я еще не видел для дельфи)


 
Илья Бобров   (2005-09-18 11:56) [1]

Используй  JVCL300CompleteJCL195-Build1848 набор компонентов, там есть RishEdit с автоматическим выделением ссылок и возможностью перехода по ним.


 
vidiv ©   (2005-09-18 12:40) [2]


> Илья Бобров   (18.09.05 11:56) [1]

Это немного не то, как я понимаю! Мое приложение не имеет ни форм ни визуальных окон. Требуется просто обработка текста.


 
Anatoly Podgoretsky ©   (2005-09-18 13:55) [3]

Это простой POS по шаблону и смещением начала текста


 
vertal ©   (2005-09-18 21:44) [4]

Можно например так

var
 SrcText, SrcHyperlink: Pchar;
 HyperlinkChars: set of char = ["A".."Z","a".."z",".","/",что там еще];
 DelimiterChars:  set of char = [все, что отделяет гиперссылки от окружающего их текста];
begin
0. SrcText := SourceText;
1. while SrcText^ in DelimiterChars do Inc(SrcText);
2. Если SrcText = #0, то GOTO 10
4. SrcHyperlink := SrcText
5. while not (SrcText in [DelimiterChars, ":",".","/",#0]) do Inc(SrcText);
6. Если ((SrcText^ = ".") или (SrcText^ = ":") и ((SrcText + 1)^ = "/") и ((SrcText + 2)^ = "/")) и при этом SrcHyperlink указывает на префикс начала гиперссылки, то найдена гиперссылка, иначе GOTO 9
7. while (SrcText^ in HyperlinkChars) do Inc(SrcText));
8. Найдена ссылка SrcHyperlink, ее длина равна SrcText - SrcHyperlink: обработать ее
9. GOTO 1
10. Конец
end

В пункте 6. определять, указывает ли SrcHyperlink на префикс начала гиперссылки, можно через
SetString(HyperlinkPrefix, SrcHyperlink, SrcText - SrcHyperlink);
ValidPrefixes.IndexOf(HyperlinkPrefix) <> -1, где в ValidPrefixes типа THashedStringList загружены все допустимые префиксы.


 
vidiv ©   (2005-09-19 06:51) [5]


> vertal ©   (18.09.05 21:44) [4]

Логику понял... Надо будет подумать....


> Anatoly Podgoretsky ©   (18.09.05 13:55) [3]
> Это простой POS по шаблону и смещением начала текста

Pos по шаблону, это как?


 
Anatoly Podgoretsky ©   (2005-09-19 11:10) [6]

Это значит (Template, src)



Страницы: 1 вся ветка

Текущий архив: 2005.10.09;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.046 c
14-1127250003
BaxTMaH
2005-09-21 01:00
2005.10.09
Помогите плз найти в инете книгу в электронном варианте


3-1125429663
stals
2005-08-30 23:21
2005.10.09
Народ! Срочно нужен пример!!!


14-1127049069
Piter
2005-09-18 17:11
2005.10.09
Програма для просмотра свойств WMV видео


3-1124950988
greg123
2005-08-25 10:23
2005.10.09
Как включить в установщик программы дистрибутив FireBird


1-1127126173
Николай1
2005-09-19 14:36
2005.10.09
TreeView назначить событие на конкретный узел