
12.12.2009, 19:58
|
|
Участник форума
Регистрация: 04.06.2009
Сообщений: 176
Провел на форуме: 840493
Репутация:
0
|
|
все фуух проблему решил кажется наконец  вот таким способом:
Код:
procedure dubl;
var
SL : TStringList;
i, i2 : integer;
flag : Boolean;
begin
SL := TStringList.Create;
SL.AddStrings(form1.Memo1.Lines);
for i := form1.Memo1.Lines.Count - 1 downto 0 do
begin
flag := False;
for i2 := SL.Count - 1 downto 0 do
begin
if form1.Memo1.Lines[i] = SL.Strings[i2] then
if flag then
SL.Delete(i2)
else
flag := True;
end;
end;
form1.Memo1.Clear;
form1.Memo1.Lines.AddStrings(SL);
SL.Free;
end;
function bbo(s:string):boolean;
var i:integer;
flag:boolean;
begin
flag:=true;
for i:=0 to form1.memo1.Lines.Count do begin
if s=form1.Memo1.Lines[i] then
begin
flag:=false;
end;
if flag then begin
form1.Memo1.Lines.Add(s) ;
break;
end;
end;
end;
и использую эти процедуры и функции вот так:
Код:
if Reg2.Exec(StrPage) then begin
repeat begin
bbo(reg2.Match[0]);
dubl;
application.ProcessMessages;
end;
until not Reg2.ExecNext;
end;
ничего оригинальней не придумал, просто при каждом добавлении нового мыла содержимое мемо переносится в тстринГлист и уже оттуда свойством dublicate удаляются дубликаты ну и заново заносятся в мемо. Если у кого есть другие идеи, то пишите пожалуйста 
|
|
|