Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2005.10.09;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.015 c
4-1123739802
Tupoy
2005-08-11 09:56
2005.10.09
Ярлыки на рабочем столе


2-1125681874
pathfinder
2005-09-02 21:24
2005.10.09
Посмотрите пожалуйста свежим взглядом!


1-1126827810
kblc
2005-09-16 03:43
2005.10.09
TPageControl and TListView


14-1126852705
BHyK
2005-09-16 10:38
2005.10.09
Conter-Strike по телефону.


3-1124719894
M@rlin
2005-08-22 18:11
2005.10.09
Не выполняется процедура SQL из Delphi





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский