Показать сообщение отдельно
  #2  
Старый 09.12.2017, 20:41
Аватар для Alegun
Alegun Alegun вне форума
LMD-DML
 
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
По умолчанию

Код:
procedure ruz(fn, dupfn, nodupfn: string);
var
 sl1, sl2, sl3: TStrings;
 i, b, c:       integer;
begin
 sl1:= TStringList.Create;
 sl2:= TStringList.Create;
 sl3:= TStringList.Create;

 sl1.LoadFromFile(fn);
 sl2.Add(sl1[0]);

 for i := 1 to sl1.Count-1 do
  begin
   c:= 0;
   for b := 0 to sl2.Count-1 do
    if sl1[i] = sl2[b] then c:= 1;
   if c = 0 then sl2.Add(sl1[i]);
  end;

 for i := 0 to sl2.Count-1 do \\ С нуля здесь список должен крутиться
  begin
   c:= 0;
   for b := 0 to sl1.Count-1 do
    if sl2[i] = sl1[b] then inc(c);
   if c = 1 then sl3.Add(sl2[i]);
  end;

 sl2.SaveToFile(dupfn);
 sl3.SaveToFile(nodupfn);

 sl1.Free;
 sl2.Free;
 sl3.Free;
end;
...

// Вызов
 ruz('total.txt', 'dup.txt', 'nodup.txt');
Очепятка из-за копипасты, не заметил, исправьте у себя условия цикла
Ответить с цитированием