Delphi World - Фильтровать все ссылки в TMemo
Delphi World - это проект, являющийся сборником статей и малодокументированных возможностей  по программированию в среде Delphi. Здесь вы найдёте работы по следующим категориям: delphi, delfi, borland, bds, дельфи, делфи, дэльфи, дэлфи, programming, example, программирование, исходные коды, code, исходники, source, sources, сорцы, сорсы, soft, programs, программы, and, how, delphiworld, базы данных, графика, игры, интернет, сети, компоненты, классы, мультимедиа, ос, железо, программа, интерфейс, рабочий стол, синтаксис, технологии, файловая система...
Фильтровать все ссылки в TMemo

Сын к папе-интернетчику подходит:
- Папа, а адрес пишется с одной "с", или с двумя?
- С тремя w, сынок.


// For this tip you need Memo1, ListBox1, Label1, Button1.

procedure TForm1.Button1Click(Sender: TObject); 
var  
  i, p: Integer; 
  s: string; 
begin 
  ListBox1.Clear; 
  for i := 0 to Memo1.Lines.Count - 1 do 
  begin 
    if Pos('http://', Memo1.Lines.Strings[i]) > 0 then 
    begin 
      s := ''; 
      {If the current line contains a "http://", read on until a space is found 

       Die aktuelle Zeile wird nach der Zeichenfolge "http://" durchsucht 
       und bei Erfolg ab der gefundenen Position ausgelesen, bis ein 
       Leerzeichen auftritt...} 

      for p := Pos('http://', Memo1.Lines.Strings[i]) to 
        Length(Memo1.Lines.Strings[i]) do 
        if Memo1.Lines.Strings[i][p] <> ' ' then 
          s := s + Memo1.Lines.Strings[i][p] 
      else 
        break; 

       {Remove some characters if address doesn't end with a space 

       Falls die gefundene Adresse nicht mit einem Leerzeichen abschlie?t, 
       werden hier noch anhangende Textzeichen entfernt...} 

      while Pos(s[Length(s)], '..;!")]}?''>') > 0 do 
        Delete(s, Length(s), 1); 
      // Add the Address to the list... 
      //Gefundene Adresse in die Liste aufnehmen... 
      ListBox1.Items.Add(s); 
    end; 
  end; 

  // Show the number of Addresses in Label1 
  // Die Zahl der gefundenen Adressen in Label1 anzeigen... 

  if ListBox1.Items.Count > 0 then 
    label1.Caption := IntToStr(ListBox1.Items.Count) + 
      ' Adresse(n) gefunden.' 
  else 
    label1.Caption := 'Keine Adresse gefunden.'; 
end;

Проект Delphi World © Выпуск 2002 - 2017
Автор проекта: Эксклюзивные курсы программирования