![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
Текст в Мэмо1 должен профильтровываться и в Мэмо2 должны попадать только ссылки на сайты. Они-то попадают, но только первые две. Никак не пойму почему
Код:
procedure TForm1.Button4Click(Sender: TObject);
var i,j: integer;
begin
j:=0;
i:=0;
for i:=0 to Memo1.Lines.Count-1 do
if Pos('http',Memo1.Lines[i])=0
then
Memo2.Lines[j]:=''
else
begin
Memo2.Lines[j]:=Copy(Memo1.Lines[i],Pos('http',Memo1.Lines[i]),100);
j:=j+1;
end;
{for i:=0 to Memo2.Lines.Count-1 do
Memo2.Lines[i]:=Trim(Memo2.Lines[i]); }
end;Последний раз редактировалось porphiriy, 22.03.2011 в 20:33. |
|
#2
|
|||
|
|||
|
какая то магия у вас написана, а так:
Код:
procedure TForm1.Button4Click(Sender: TObject);
var
i: integer;
begin
for i:=0 to Memo1.Lines.Count-1 do
begin
if Pos('http',Memo1.Lines[i]) > 0 then
Memo2.Lines.Add(Copy(Memo1.Lines[i],Pos('http',Memo1.Lines[i]),100));
end;
end;Последний раз редактировалось Assistant, 22.03.2011 в 20:50. |
|
#3
|
||||
|
||||
|
Код:
var
i: integer;
begin
for i:=0 to Memo1.Lines.Count-1 do
if Pos('http',Memo1.Lines[i])<>0
then
Memo2.Lines.Add(memo1.Lines[i]);
end; |
|
#4
|
||||
|
||||
|
Код:
procedure TForm1.Button4Click(Sender: TObject);
var i: integer;
begin
for i := o to Memo1.Lines.Count - 1 do
if Pos('http',Memo1.Lines[!]) <> o
then
Memo2.Lines.add(Memo1.Lines[i]);
end; |
|
#5
|
||||
|
||||
|
Цитата:
прямо одно и тоже написали в одно время почти ![]() |
|
#6
|
|||
|
|||
|
Спасибо, работает, но все равно не пойму где ошибка в моем коде?
|
|
#7
|
|||
|
|||
|
Ошибка в том, что ты не читал про TMemo все что нужно.
тебе нужно Код:
j:=j+1; P.S.: но лучше так не делай, а делай как в примерах показали, через Memo2.Lines.Add |
|
#8
|
|||
|
|||
|
Цитата:
Лучше, но мне нужно чтоб, происходило копирование не всей строки Memo1.Lines[i], а только начиная с 'http'. И не пойму зачем ставить Код:
j:=j+1; Тем более мой код-то работает, только не пойму почему цикл "делает" ТОЛЬКО 2 круга (копирует со всего текста только первые две ссылки) и на этом останавливается... |
|
#9
|
|||
|
|||
|
Цитата:
Цикл НЕ ДЕЛАЕТ ТОЛЬКО 2 круга, он отрабатывает полностью. а записываются в мемо2 только 2 значения потому что когда вы его кинули на форму там уже есть 2 строчки !!! В случае с ADD он (memo2) создаст строку и запишет в нее значение, в вашем же случае он игнорит (??) потому что у него строк 2 а вы пытаетесь записать 3-ю. где то примерно так. |