Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Аватара для Drongo

Будем жить, Маэстро...


Сообщения: 6694
Благодарности: 1393

Профиль | Сайт | Отправить PM | Цитировать


dima1981, Пример работает, но частично из-за специфики текстового файла иногда не так высчитывает как надо. Результат получается такой

результат

Код: Выделить весь код
http://www.oszone.net/1/Windows
http://www.oszone.net/1/Windows
http://www.oszone.net/8628/windows_7
http://www.oszone.net/10/Windows_Vista
http://www.oszone.net/8/Windows_XP
http://www.oszone.net/5021/Windows_Server_2008
http://www.oszone.net/9/Windows_Server_2003
http://www.oszone.net/7/Windows_2000_NT
http://www.oszone.net/6/
http://www.oszone.net/5681/Windows_Services
http://www.oszone.net/11612/Windows_Live_Wave_4_leaked">В Интернет просочились скриншоты Windows Live Wave 4</a> <a href="http://www.oszone.net/11612/Windows_Live_Wave_4_leaked"><img src="/img/2/arrow.gif" alt="Читать далее..." width="3" height="5" vspace="1" border="0
http://www.oszone.net/11607/Unsurprisingly_IE9_wont_be_supported_on_an_obsolete_OS">К всеобщему удивлению, Internet Explorer 9 не будет работать на Windows XP</a> <a href="http://www.oszone.net/11607/Unsurprisingly_IE9_wont_be_supported_on_an_obsolete_OS"><img src="/img/2/arrow.gif" alt="Читать далее..." width="3" height="5" vspace="1" border="0
http://www.oszone.net/5681/Windows_Services
http://www.oszone.net/4327/FAQ_Windows_Vista
http://www.oszone.net/106/
http://www.oszone.net/5021/Windows_Server_2008
http://soft.oszone.net/program/30/"><img src="http://tools.oszone.net/Blast/unattended.png" alt="Учебник по автоустановке Windows" width="48" height="48" border="0" align="left


Код: Выделить весь код
...
// Обрабатываем по нажатию на кнопку "Сортировать"------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
   int start, end, sub;
   TStringList *General = new TStringList();
   TStringList *list = new TStringList();

   if(RichEdit1->Lines->Text != ""){
      General->Text = RichEdit1->Text;
      for(int i = 0; i < General->Count; i++){
         if(General->Strings[i].LowerCase().Pos("href=\"") && General->Strings[i].LowerCase().Pos("http:") && General->Strings[i].LowerCase().Pos("windows")){
            start = General->Strings[i].LowerCase().Pos("href=\"") + String("href=\"").Length();
            end = General->Strings[i].LowerCase().LastDelimiter("\"");  // В этой строке причина неточного расчёта. LastDelimiter ищет последнее вхождение указаного символа...
            sub = end - start;
            list->Add(General->Strings[i].SubString(start, sub));
           }
        }
     }

    Memo2->Text = list->Text;
    General->Clear();
    list->Clear();
}
// Кнопка "Вставить текст"------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
  RichEdit1->Clear();
  RichEdit1->PasteFromClipboard();
}
//---------------------------------------------------------------------------
...
Если в вашей задаче нужно найти слово входящее в скобки. Например:
Цитата:
какой-то текст находящийся в файле и вот здесь [искомое слово], которое нам надо извлечь
То можно искать:
Код: Выделить весь код
start = General->Strings[i].Pos("[");
end = General->Strings[i].Pos("]");
sub = end - start;
list->Add(General->Strings[i].SubString(start, sub));

-------
Правильная постановка вопроса свидетельствует о некотором знакомстве с делом.
3нание бывает двух видов. Мы сами знаем предмет — или же знаем, где найти о нём сведения.
[Quick Killer 3.0 Final [OSZone.net]] | [Quick Killer 3.0 Final [SafeZone.cc]] | [Парсер логов Gmer] | [Парсер логов AVZ]

http://tools.oszone.net/Drongo/Userbar/SafeZone_cc.gif

Это сообщение посчитали полезным следующие участники:

Отправлено: 15:36, 20-03-2010 | #5