|
|
Регистрация | << Правила форума >> | 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; взялся из неоткуда, ничего не прошу, помогаю просто так ICQ: 593977748 - стучать в случае КРАЙНЕЙ необходимости, ну, или если вы со Ставрополя Последний раз редактировалось 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; — Как тебя понимать? — Понимать меня не обязательно. Обязательно меня любить и кормить вовремя. На Delphi, увы, больше не программирую. Рекомендуемая литература по программированию |
#5
|
||||
|
||||
Цитата:
прямо одно и тоже написали в одно время почти |
#6
|
|||
|
|||
Спасибо, работает, но все равно не пойму где ошибка в моем коде?
|
#7
|
|||
|
|||
Ошибка в том, что ты не читал про TMemo все что нужно.
тебе нужно Код:
j:=j+1; P.S.: но лучше так не делай, а делай как в примерах показали, через Memo2.Lines.Add взялся из неоткуда, ничего не прошу, помогаю просто так ICQ: 593977748 - стучать в случае КРАЙНЕЙ необходимости, ну, или если вы со Ставрополя |
#8
|
|||
|
|||
Цитата:
Лучше, но мне нужно чтоб, происходило копирование не всей строки Memo1.Lines[i], а только начиная с 'http'. И не пойму зачем ставить Код:
j:=j+1; Тем более мой код-то работает, только не пойму почему цикл "делает" ТОЛЬКО 2 круга (копирует со всего текста только первые две ссылки) и на этом останавливается... |
#9
|
|||
|
|||
Цитата:
Цикл НЕ ДЕЛАЕТ ТОЛЬКО 2 круга, он отрабатывает полностью. а записываются в мемо2 только 2 значения потому что когда вы его кинули на форму там уже есть 2 строчки !!! В случае с ADD он (memo2) создаст строку и запишет в нее значение, в вашем же случае он игнорит (??) потому что у него строк 2 а вы пытаетесь записать 3-ю. где то примерно так. Новый вирус - "БОМЖ"! Он просто роется в Корзине...и спит под ярлычком "Сетевое окружение" |