Показать сообщение отдельно

  #10  
Старый 28.03.2008, 22:32
De-visible
Banned
Регистрация: 06.01.2008
Сообщений: 904
С нами: 9655526

Репутация: 1821


По умолчанию

Цитата:
Сообщение от Twiddle  
Подскажите плз как изменить что бы не было повторов в найденом? ВОт код:

Код:
procedure poisk;
var S, Q: TStrings;
    I, J: Integer;
begin
  S := TStringList.Create;
  Q := TStringList.Create;
  S.LoadFromFile('C:\bla-bla.txt');
  I := 0;
  J := 0;
  while I<S.Count-1 do
  begin
    if Pos('string 1', S.Strings[I])<>0 then
    begin
      Q.Add(S.Strings[I]);
      Inc(I);
      Inc(J);
      Q.Add(S.Strings[I]);
      Q.Add('');
    end;
    Inc(I);
  end;
  if J>0 then
  begin
    Q.Insert(0, '');
    Q.Insert(0, DateToStr(Now));
    Q.Insert(0, 'Naydenno '+IntToStr(J)+' strok');
    Q.SaveToFile('c:\result.txt');
  end;

  S.Free;
  Q.Free;
end;
Цитата:
while I<S.Count-1 do
Зачем так - он у тебя последнюю строку не проверит!
пиши так
Код:
while i<S.count
или
Код:
while i<=s.count-1
А что бы в result.txt не было повторов
сделай повторный поиск поэтому файлу
===============================
Код:
procedure poisk;
var SL,Ish: TStringList;
i:integer;
begin
  ISH:=TstringList.Create;
  ISH.LoadFromFile('d1.txt');
  SL := TStringList.Create;
  with SL do
    try
      Sorted := True;
      For i:=0 to ISH.Count-1 Do Begin
      SL.Add(ISH[i]);
      end;
      Duplicates := dupIgnore;
      sl.SaveToFile('result.txt');
  finally
    Free;
  end;
end;
-----------------------------
Удаляет все дубликаты и сохраняет в result.txt
А чего ты именно хочешь?()
Вывести сколько раз в файле встречается строка String 1?

Последний раз редактировалось De-visible; 29.03.2008 в 01:13..
 
Ответить с цитированием